Forum CMS Made Simple FR

Version complète : NEWS : Tester la catégorie pour personnaliser page de détails [Résolu]
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.

moogly

Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: #1.9.3
#~ Url du site : residenceduboqueteau.fr
#~ Hébergeur / Soft : OVH
#~ Informations Système :
#~ ----------------------------------------------
#~ Cms Version: 1.9.3
#~ Installed Modules:
#~ CMSMailer: 2.0.1
#~ MenuManager: 1.7.5
#~ ModuleManager: 1.4
#~ News: 2.11.1
#~ nuSOAP: 1.0.2
#~ Printing: 1.1.2
#~ Search: 1.6.10
#~ ThemeManager: 1.1.4
#~ TinyMCE: 2.8.3
#~ CGExtensions: 1.24.1
#~ FrontEndUsers: 1.12.13
#~ CustomContent: 1.7.3
#~ CGSimpleSmarty: 1.4.8
#~ CGFeedback: 1.3.3
#~ FormBuilder: 0.7
#~ Statistics: 1.1.3
#~ FormBrowser: 0.4
#~ SelfRegistration: 1.6.7
#~ Uploads: 1.11.6
#~ Config Information:
#~ php_memory_limit:
#~ process_whole_template: false
#~ output_compression: false
#~ max_upload_size: 64000000
#~ default_upload_permission: 664
#~ url_rewriting: none
#~ page_extension:
#~ query_var: page
#~ image_manipulation_prog: GD
#~ auto_alias_content: true
#~ locale:
#~ default_encoding: utf-8
#~ admin_encoding: utf-8
#~ set_names: true
#~ Php Information:
#~ phpversion: 5.2.17
#~ md5_function: On (Vrai)
#~ gd_version: 2
#~ tempnam_function: On (Vrai)
#~ magic_quotes_runtime: Off (Faux)
#~ E_STRICT: 0
#~ memory_limit: 128M
#~ max_execution_time: 30
#~ output_buffering: On
#~ safe_mode: Off (Faux)
#~ file_uploads: On (Vrai)
#~ post_max_size: 64M
#~ upload_max_filesize: 64M
#~ session_save_path: /tmp (1777)
#~ session_use_cookies: On (Vrai)
#~ xml_function: On (Vrai)
#~ Server Information:
#~ Server Api: cgi
#~ Server Db Type: MySQL (mysql)
#~ Server Db Version: 5.0.51a
#~ ----------------------------------------------
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~



Bonjour,

J'utilise le module news et le module CGFeedback dans la page du détail des articles pour les commentaires, comme indiqué dans l'aide.

Dans le gabarit de la page du détail j'ai mis les lignes :


Code :
{CGFeedback commenttemplate="commentaires_news" key1="News" key2=$entry->id}
<br/><br/>

{CGFeedback commenttemplate="commentaires_news" key1="News" key2=$entry->id action='summary'}

Ca fonctionne très bien mais je souhaiterai maintenant que le détail des articles de certaines catégories soit affiché sans les commentaires.

J'essaie de placer un test au dessus de ces lignes du genre :

Si catégorie = "catégorie 3"
Alors, afficher le formulaire de commentaires
Sinon, "Désolé, pas de commentaire !"
Fin


J'ai bien vu que le nom de la catégorie était identifié au niveau de {$entry->category} mais je n'arrive pas à formuler la première ligne du test pour récupérer le nom de la catégorie. Pourtant j'ai mis pas mal de tests pour d'autre fonctionnalités du cms qui fonctionnent, mais là ça coince, même après avoir parcouru le forum.

Merci pour votre aide.
Pour connaître les variables disponibles, utilise {get_template_vars}.
{if category_name == "catégorie 3"}{CGFeedback...}{else}<p>Désolé, pas de commentaires.</p>{/if}

moogly

Ah! Merci de m'avoir fait découvrir cette balise {get_template_vars}. Si j'avais su, j'aurai gagné beaucoup de temps, ici et ailleurs ! Dans l'aide, il est dit "Sauvegarde toutes les variables smarty connu dans votre page" Le mot sauvegarde ne m'avais pas inspiré. Peut-être que "affiche" serait plus parlant !

Malheureusement, le test ne marche pas tout simplement parce que {get_template_vars} dans mon gabarit me renvoie une chaine vide à la ligne category_name =.

J'ai remarqué que {get_template_vars} renvoie bien un nom de catégorie, mais seulement si l'appel du module NEWS comprend le parametre category="catégorie 3" ce qui est hors sujet puisque j'ai besoin d'afficher dans le sommaire toutes les catégories.

Finalement j'ai réussi à faire mon test, sans rien changer ailleurs, en récupérant le nom de la catégorie avec {$entry->category} au lieu de category_name = ce qui donne :
Code :
{if $entry->category == 'categorie 3'}{CGFeedback...}{else}<p>Désolé, pas de commentaires.</p>{/if}
J’obtiens donc

Ça marche bien ,mais Il y a là une logique qui m’échappe. Je vais y réfléchir.

MP
Content pour toi, tu peux donc marquer [résolu] dans le titre de ce post.