PHP8 et smarty5 - PHP - Programmation
Marsh Posté le 18-11-2024 à 08:25:32
oui j'ai essayé.
addExtension, addPluginsDir, plugins_dir, me retourne deprécié utiliser registerPlugin.
Dans tous les cas le test installation smarty "Testing Plugins directory" reste sans reponse et affichage d'une page blanche quand je tente d'utiliser le plugin
le plugin testé est
function smarty_modifier_utf8_encode($string){return utf8_encode($string);}
{$smarty.now|date_format:"%A%e %B %Y"|utf8_encode} j'utilise utf8_encode avec smarty3 et ça fonctionnait bien
J'ai comme l'impression que smarty ne trouve pas le plugin mais je ne vois pas quoi modifier.
J'ai rajouté dans smarty5/libs un dossier plugins, comme il était prévédament dans smarty3.
Marsh Posté le 18-11-2024 à 10:50:56
Page blanche => probablement une erreur 500, regarde dans tes erreurs Apache et PHP au niveau de ton Winamp pour savoir a quoi ça peut être du, un chemin d'accès pas adapté à environnement Windows par exemple, les concepteurs de plugin ne s'embarrasse pas toujours d'un site avec des chemins en mode Windows ( \ au lieu de / )...
Marsh Posté le 18-11-2024 à 13:28:15
voici l'erreur dans php dû à |utf8_encode qui semble être introuvable.
Je pense que quelque chose m'échappe dans l'intégration des plugins dans smarty5.
pas d'erreur Apache
les 2 erreurs que j'ai dans php
[18-Nov-2024 12:31:05 UTC] PHP Fatal error: Uncaught --> Smarty: Plugin 'utf8_encode' not callable <--
thrown in C:\wamp64\www\site_pension\smarty-5.4.1\src\Smarty.php on line 753
[18-Nov-2024 13:59:25 Europe/Paris] PHP Fatal error: Uncaught --> Smarty Compiler: Syntax error in template "file:C:\wamp64\www\site_pension\templates\../include/date.tpl" on line 3 "{$smarty.now|date_format:"%e %B %Y"|utf8_encode} <br/>" unknown modifier 'utf8_encode' <--
thrown in C:\wamp64\www\site_pension\include\date.tpl on line 3
Marsh Posté le 18-11-2024 à 13:47:00
mechkurt a écrit : Page blanche => probablement une erreur 500, regarde dans tes erreurs Apache et PHP au niveau de ton Winamp pour savoir a quoi ça peut être du, un chemin d'accès pas adapté à environnement Windows par exemple, les concepteurs de plugin ne s'embarrasse pas toujours d'un site avec des chemins en mode Windows ( \ au lieu de / )... |
Tu veux dire Wampserver plutôt
Marsh Posté le 18-11-2024 à 13:57:11
Code :
|
https://github.com/smarty-php/smart [...] 9C1-L758C3
Peut être que les versions récente de Smarty sont maintenant compatible UTF8 sans avoir besoin de plugin (pacque bon utf8 c'est un peu la base depuis une vingtaine d'année ) ?
Tu as essayé de dire a Mysql que tu veux qu'il te sorte tes résultats venant de tes requêtes SQL en UTF8 (soit tu fait une requête SET NAMES 'utf8' soit tu précise le charset lors de l'instanciation de la connexion).
https://forum.phpfrance.com/framewo [...] 80270.html
Sino j'ai aussi vu ça mais c'est vieux : https://www.developpez.net/forums/d [...] -template/
Marsh Posté le 18-11-2024 à 13:57:43
ReplyMarsh Posté le 18-11-2024 à 14:43:17
C'est suivant cet exemple que j'ai corrigé l'affichage les dates dans smarty3
https://www.developpez.net/forums/d [...] -template/
j'ai déjà précisé le charset lors de la connexion
Je rencontre le soucie des caractères uniquement dans l'affichage des dates.
J'ai aussi testé ça : {$date|date_format:"%A %e %B %Y"|to_charset:'UTF-8'} jeudi 12 d?cembre 2024
Je ne vois vraiment pas ce qui bloque, surtout que j'ai les mêmes scriptes avec php7 et smarty3 et là pas de problème avec l'utilisation de {$date|date_format:"%A %e %B %Y"|utf8_encode} .
Je pense reellement que ça provient de ma déclaration du plugin dans smarty5. Je pense avoir bien suivi la doc ou alors quelques chose m'echappe.
Marsh Posté le 18-11-2024 à 15:01:14
Le fichier texte contenant le code source du template serait pas enregistré en ISO-8859-1 par hasard ?
Marsh Posté le 18-11-2024 à 17:10:15
L'ensemble de mes fichiers sont en utf8.
j'avais essayé" avec to_charset:utf-8 mais pas essayé avec from_charset.
Alors voilà ce qui semble fonctionner
{$date|date_format:"%A %e %B %Y"|from_charset:'ISO-8859-1'}
du coup pas besoin de plugins smarty
Merci pour votre aide.
Marsh Posté le 17-11-2024 à 17:59:32
Bonjour,
je viens de reprendre mon site pour une mise à jour (PHP5 smarty 3) vers PHP8.3 avec smarty 5.4.
Je développe avec wampserveur 3.3.5
Je n'arrive pas à déclarer mon dossier plugins dans smarty
j'ai testé avec addPluginsDir et plugins_dir. et Testing plugins directory... n'a jamais été trouvé
J'utilise les plugins pour corriger quelques caractères mal interpreté principalement dans le configuration d'affichage des dates.
Le site est en UTF8
Smarty Installation test...
Testing template directory...
C:\wamp64\www\site_pension\templates is OK.
Testing compile directory...
C:\wamp64\www\site_pension\templates_c is OK.
Testing plugins directory...
Testing cache directory...
C:\wamp64\www\site_pension\cache is OK.
Testing configs directory...
C:\wamp64\www\site_pension\configs\ is OK.
Tests complete.
Merci d'avance pour votre aider.