Actualizar a Smarty 4.0 -
Miguel92 - 02-14-2022
Actualizar a Smarty 4.0
(A partir del punto 4 es válido también para smarty 3)
1 - Deben descargar
la última versión de smarty 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:
define('TS_FILES', TS_ROOT.'/files/');
y debajo agregamos
Código PHP:
define('TS_SMARTY', TS_ROOT.'/inc/smarty/');
B Arriba de "
include 'config.inc.php';" agregan
Código PHP:
# 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
descargar plugins.zip 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:
// Smarty
include TS_CLASS.'c.smarty.php';
E Más abajo buscamos
Código PHP:
// Smarty
$smarty = new tsSmarty();
y reemplazamos por
Código PHP:
# 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
agregan estas instrucciones
6 - Ahora vamos a la raíz de nuestro sitio y abrimos "
footer.php":
A - Borramos todo el contenido del archivo y la
reemplazaremos con esto
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:
$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:
{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:
{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:
{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:
{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
RE: Actualizar a Smarty 4.0 -
Viyumo - 02-14-2022
Gracias, quiero actualizar un tema de una web que tuve hace tiempo y la quiero revivir, me viene muy bien.
RE: Actualizar a Smarty 4.0 -
Miguel92 - 02-14-2022
(02-14-2022, 08:28 PM)Viyumo escribió: Gracias, quiero actualizar un tema de una web que tuve hace tiempo y la quiero revivir, me viene muy bien.
Cualquier cosa que requieras me dices y te ayudó.
RE: Actualizar a Smarty 4.0 -
Tronlar - 05-25-2022
Muy bueno, gracias.
RE: Actualizar a Smarty 4.0 -
Lalo24 - 05-26-2022
Gracias
RE: Actualizar a Smarty 4.0 -
seguis - 06-24-2022
Saludos yo descargue desde el repositorio de Github, ese tiene la versión 3 o 4?
RE: Actualizar a Smarty 4.0 -
Miguel92 - 06-24-2022
(06-24-2022, 01:38 AM)seguis escribió: Saludos yo descargue desde el repositorio de Github, ese tiene la versión 3 o 4?
Con ese enlace siempre será la última versión, es lo mismo que entrar a
Github > github.com/smarty-php/smarty/ > code(boton verde) > Download ZIP
RE: Actualizar a Smarty 4.0 -
fx2 - 04-14-2024
Buenas! He seguido la guía, creo que lo hice bien y he obtenido el siguiente error
Código:
Fatal error: Uncaught Error: Undefined constant "DS" in /opt/lampp/htdocs/footer.php:20 Stack trace: #0 /opt/lampp/htdocs/inc/php/posts.php(183): include() #1 /opt/lampp/htdocs/index.php(26): include('/opt/lampp/htdo...') #2 {main} thrown in /opt/lampp/htdocs/footer.php on line 20
La línea que indica es precisamente ésta.
[img]Registrate o inicia tu sesión para ver este contenido[/img]
No sé de que trata
DS. O donde se define realmente.
RE: Actualizar a Smarty 4.0 -
Miguel92 - 04-14-2024
(04-14-2024, 08:12 AM)fx2 escribió: Buenas! He seguido la guía, creo que lo hice bien y he obtenido el siguiente error
Código:
Fatal error: Uncaught Error: Undefined constant "DS" in /opt/lampp/htdocs/footer.php:20 Stack trace: #0 /opt/lampp/htdocs/inc/php/posts.php(183): include() #1 /opt/lampp/htdocs/index.php(26): include('/opt/lampp/htdo...') #2 {main} thrown in /opt/lampp/htdocs/footer.php on line 20
La línea que indica es precisamente ésta.
[img]Registrate o inicia tu sesión para ver este contenido[/img]
No sé de que trata DS. O donde se define realmente.
Reemplazalo por
DIRECTORY_SEPARATOR creí que ya lo había definido arriba del archivo.
RE: Actualizar a Smarty 4.0 -
fx2 - 04-14-2024
(04-14-2024, 09:11 AM)Miguel92 escribió: (04-14-2024, 08:12 AM)fx2 escribió: Buenas! He seguido la guía, creo que lo hice bien y he obtenido el siguiente error
Código:
Fatal error: Uncaught Error: Undefined constant "DS" in /opt/lampp/htdocs/footer.php:20 Stack trace: #0 /opt/lampp/htdocs/inc/php/posts.php(183): include() #1 /opt/lampp/htdocs/index.php(26): include('/opt/lampp/htdo...') #2 {main} thrown in /opt/lampp/htdocs/footer.php on line 20
La línea que indica es precisamente ésta.
[img]Registrate o inicia tu sesión para ver este contenido[/img]
No sé de que trata DS. O donde se define realmente.
Reemplazalo por DIRECTORY_SEPARATOR creí que ya lo había definido arriba del archivo.
Muchas gracias! Ahora sí el script se ejecuta correctamente