Phpost

Versión completa: Actualizar a Smarty 4.0
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
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
Gracias, quiero actualizar un tema de una web que tuve hace tiempo y la quiero revivir, me viene muy bien.
(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ó.
Muy bueno, gracias.
Gracias
Saludos yo descargue desde el repositorio de Github, ese tiene la versión 3 o 4?
(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
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.
(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.
(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