Y at-il un moyen dans Smarty pour obtenir l'extension d'une chaîne de caractères. J'ai cherché l'équivalent explose mais je n'arrive pas à trouver quelque chose. Je veux afficher une icône différente basée sur le type de fichier, par exemple. doc, docx, pdfSmarty Obtenir l'extension de fichier
Répondre
Puisque vous pouvez utiliser les fonctions php comme modificateurs, vous pouvez utiliser la fonction pathinfo()
Toutes les fonctions PHP peuvent être utilisés comme modificateurs implicitement, comme le montre dans l'exemple ci-dessus. Cependant, l'utilisation des fonctions PHP en tant que modificateurs a deux petits pièges:
premier - quelques fois l'ordre des paramètres de fonction n'est pas le souhaitable. Formatage $ foo avec {"% 2.f" | sprintf: $ foo} fonctionne réellement, mais demande le plus intuitif, comme {$ foo | string_format: "% 2.f"} qui est fourni par le Smarty distribution.
En second lieu - si la sécurité est activée, tous php-fonctions qui doivent être utilisées doivent être déclarés comme modificateurs de confiance dans les modificateurs de $ propriété de la politique de securty. Voir la section Sécurité pour plus de détails. Source
<?php
$smarty->assign('filename', 'foo\bar.txt');
?>
{* template *}
{$filename|pathinfo:$smarty.const.PATHINFO_EXTENSION}
{* outputs 'txt' *}
Vous pouvez utiliser regex_replace pour supprimer la partie de fichier, par ex. comme ceci:
{$ file | regex_replace: "/.*./": ""}
qui élimine tout depuis le début jusqu'au dernier point. Pour plus d'informations, consultez http://www.smarty.net/docs/en/language.modifier.regex.replace.tpl pour obtenir plus d'informations.
Désolé, malheureusement cela ne fonctionne pas –
Que signifie « ne fonctionne pas » signifie? Qu'avez-vous essayé de faire exactement? Qu'est-ce qui s'est passé exactement? – ckruse
Il ne retourne simplement rien de la chaîne. Le commentaire ci-dessus a fonctionné la première fois. –
- 1. Smarty Template Engine - Fichier obtenir le contenu
- 2. smarty v3, obtenir de la valeur de smarty
- 3. comment obtenir la taille du fichier swf dans smarty?
- 4. Obtenir le nom du modèle - Smarty
- 5. smarty obtenir des données de $ globals
- 6. smarty, inclure le fichier tpl
- 7. Inclure fichier HTML dans Smarty tpl fichier
- 8. comment obtenir plusieurs colonnes (mysql_fetch_assoc()) valeurs Smarty
- 9. valeur de base de données Obtenir dans Smarty
- 10. Besoin de changer le fichier smarty en fichier zend
- 11. Smarty obtenir tableau à partir numéro d'index
- 12. Comment obtenir l'URL actuelle en utilisant smarty
- 13. Comment générer un fichier json avec smarty?
- 14. imprimer le contenu du fichier Smarty
- 15. valeur variable d'un fichier php - Smarty multilingue
- 16. Conversion XML en fichier Smarty .tpl?
- 17. Comment imprimer un fichier json dans Smarty
- 18. smarty plugin return array
- 19. Obtenir la sous-chaîne du membre de données variables smarty
- 20. obtenir le nombre de valeurs dans un tableau avec Smarty
- 21. Smarty AutoBind PHP Variables à Smarty Variables
- 22. Étiquette de localisation Smarty - comment utiliser php?
- 23. Smarty comment analyser URL dans le fichier de modèle
- 24. Affichage des données de fichier php dans tpl (Smarty)
- 25. comment télécharger le fichier php par jquery et Smarty
- 26. index de tableau Smarty
- 27. boucle de section Smarty
- 28. smarty modèle de moteur
- 29. Module de Smarty?
- 30. Smarty - ajout de variable
Cela a fonctionné avec brio merci. –
Merci! M'a sauvé beaucoup de temps et de code désordonné :) – tvgemert