02-14-2022, 08:13 PM
(Última modificación: 02-27-2022, 08:11 PM por Miguel92.
Razón: Se arreglo la numeración de los pasos!
)
21
Actualizar a Smarty 4.0
(A partir del punto 4 es válido también para smarty 3)
(A partir del punto 4 es válido también para smarty 3)
1 - Deben descargar Debes agradecer para ver el contenido... del repositorio en github.
2 - Luego van a inc/smarty y eliminan todo el contenido (Aviso, si tienen archivos agregados en plugins les recomiendo hacer una copia)
3 - Abren el archivo descargado "smarty-master.zip", acceden a la carpeta que contiene y luego buscan la carpeta "libs" y extraen el contenido dentro de "inc/smarty"
4 - Ahora vamos a la raíz de nuestro sitio y abrimos "header.php" y sigan los siguientes pasos:
A Buscan
Código PHP: ( Seleccionar Todo )
define('TS_FILES', TS_ROOT.'/files/');
y debajo agregamos
Código PHP: ( Seleccionar Todo )
define('TS_SMARTY', TS_ROOT.'/inc/smarty/');
B Arriba de "include 'config.inc.php';" agregan
Código PHP: ( Seleccionar Todo )
# Definimos donde estan los temas
define('TS_THEMES', TS_ROOT . '/themes/');
# Definimos donde se estan los plugins adicionales
define('TS_PLUGINS', TS_EXTRA . 'plugins/');
# Tiempo de vida del cache antes de ser eliminado [5hs] (3600 equivale 1hs)
define('CACHE_LIFE_TIME', 3600 * 5);
define('CACHE_CHECKED', TRUE);
# Solo usar las carpetas agregadas en $smarty->setTemplateDir()
define('SECURITY', TRUE);
# Para comprimir el html y que sea más rápido
define('COMPRESS_HTML', FALSE);
C En inc/ext crean una carpeta llamada plugins y Debes agradecer para ver el contenido... y la descomprimen en "inc/ext"
Contenido del comprimido zip: fecha, getUrl, hace, kmg, nl2br, quot, rtrim, seo, strlen, trim y ucfirst
D Un poco más abajo buscamos y lo borramos
Código PHP: ( Seleccionar Todo )
// Smarty
include TS_CLASS.'c.smarty.php';
E Más abajo buscamos
Código PHP: ( Seleccionar Todo )
// Smarty
$smarty = new tsSmarty();
y reemplazamos por
Código PHP: ( Seleccionar Todo )
# Todas las instrucciones de smarty comienzan
include TS_ROOT . "/inc/smarty.config.php";
F Al no existir el archivo "smarty.config.php" lo crean dentro de "inc"
5 - Ahora buscamos "/inc/smarty.config.php" y empezaremos la configuración.
A - Abrimos la etiqueta de <?php y luego Debes agradecer para ver el contenido...
6 - Ahora vamos a la raíz de nuestro sitio y abrimos "footer.php":
A - Borramos todo el contenido del archivo y la Debes agradecer para ver el contenido...
PD: Se me olvido mencionar que deben ir a inc/php/ajax_files.php y borrar lo siguiente, ya que no lo usaremos
Código PHP: ( Seleccionar Todo )
$smarty->template_ts = false; // SMARTY SETTINGS
NOTA:
Como verán en el array $_ACCESO_TPL_PHP_ = [...items...], es el acceso a esas carpetas. ¿Por que incluí esto?, fácil es para simplificar más, antes para incluir un archivo se tenía que agregar de la siguiente manera
Código PHP: ( Seleccionar Todo )
{include file='sections/main_header.tpl'}
pero como en este ejemplo, al estar la ruta de la carpeta "sections" en el array se puede usar así
Código PHP: ( Seleccionar Todo )
{include file='main_header.tpl'}
sin tener que hacer referencia a la carpeta a la que se tenga que acceder, también se puede usar de la forma corta
Código PHP: ( Seleccionar Todo )
{include 'main_header.tpl'}
En la parte que accede al tema, css, js e images es para el funcionamiento de los plugins que había realizado, si desean lo pueden borrar... A no ser que quieran el plugin al que llame phpost, ¿Cuál es su función?: Es agregar todos los css, js sin tener que escribir toda la ruta
para acceder a dicho archivo y en caso de que este archivo no exista, no agregará nada(no va a ser una linea vacía)
este sería un ejemplo:
Agregará la fuente "Roboto" desde google y los estilos que estén mencionados en los parámetros
y lo que que sería cache es como esto "archivo.css?{$smarty.now}", así cuando se hace un cambio
lo apliquen los cambios
Código PHP: ( Seleccionar Todo )
{phpost fonts=["Roboto"]
css=[
"tema" => ["estilo.css", "css" => ["live.css", "wysibb.css", "$tsPage.css"]],
"cache" => true
]
... ETC ...
}
Al tener la carpeta plugins dentro de inc/ext, puedes agregar más sin problemas