[Résolu]Module News : Comptabiliser le total d'items par categorie -
glany - 07/04/2015
#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: 1.11.13
#~ Url du site : localhost
#~ Hébergeur / Soft : wampserver
#~ Informations Système :
#~ ----------------------------------------------
#~ Cms Version: 1.11.13
#~ Installed Modules:
#~ CMSMailer: 5.2.2
#~ CMSPrinting: 1.0.5
#~ FileManager: 1.4.5
#~ MenuManager: 1.8.6
#~ MicroTiny: 1.2.8
#~ ModuleManager: 1.5.8
#~ News: 2.14.4
#~ Search: 1.7.11
#~ ThemeManager: 1.1.8
#~ FormBuilder: 0.8.1.1
#~ CGExtensions: 1.45
#~ CGSmartImage: 1.16.2
#~ CGSimpleSmarty: 1.7.4
#~ CGCalendar: 1.14.6
#~ ListIt2: 1.4.1
#~ ListIt2UpComingEvents: 1.4.1
#~ CGJobMgr: 1.3.4
#~ CGContentUtils: 1.4.3
#~ Gallery: 1.6
#~ JQueryTools: 1.3.4
#~ ListIt2organigramme: 1.4.1
#~ MleCMS: 1.11.4
#~ NMS: 2.7.4
#~ Showtime: 3.4
#~ Config Information:
#~ php_memory_limit:
#~ process_whole_template:
#~ max_upload_size: 64000000
#~ 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.5.12
#~ md5_function: On (Vrai)
#~ gd_version: 2
#~ tempnam_function: On (Vrai)
#~ magic_quotes_runtime: Off (Faux)
#~ E_STRICT: 0
#~ E_DEPRECATED: 0
#~ memory_limit: 128M
#~ max_execution_time: 120
#~ output_buffering: 4096
#~ safe_mode: Off (Faux)
#~ file_uploads: On (Vrai)
#~ post_max_size: 10M
#~ upload_max_filesize: 64M
#~ session_save_path: c:/wamp/tmp (0777)
#~ session_use_cookies: On (Vrai)
#~ xml_function: On (Vrai)
#~ xmlreader_class: On (Vrai)
#~ Server Information:
#~ Server Api: apache2handler
#~ Server Db Type: MySQL (mysqli)
#~ Server Db Version: 5.6.17
#~ Server Db Grants: Trouvé un privilège "GRANT ALL" qui semble être adapté
#~ Server Time Diff: Aucune différence de date du système de fichiers trouvées
#~ ----------------------------------------------
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~
Bonsoir la communauté,
Encore moi; cette fois avec le module news. J'ai un menu accordéon, et chaque li du menu constitue une liste des articles d'une catégorie.
Alors, je voudrais bien pouvoir afficher le nombre d'items contenus dans chaque catégorie. Voir capture
et une fois l'effet l'accordeon en action
Alors je voudrais savoir comment je peux afficher le nombre des articles par catégorie.
Cordialement
[Résolu]Module News : Comptabiliser le total d'items par categorie -
Jean le Chauve - 07/04/2015
Il te suffit d'utiliser la propriété smarty
@total du foreach.
[Résolu]Module News : Comptabiliser le total d'items par categorie -
glany - 07/04/2015
Oui Jean, mais je me pose la question, comment vais je l'appeller dans mon code. Je te donne une idée du code de mon accoredeon :
Code :
<ul class="f_toggle_vue">
<li>
<h5 class="i_f_th_1">Management</h5>
<span class="f_nb">[b]n formations[/b]</span>
<table class="f_table" style="margin-left: 50px;">
<tbody>
<tr>
<td><a href="#">{news category="man" summarytemplate="accordion"}</a></td>
</tr>
</tbody>
</table>
</li>
</ul>
<ul class="f_toggle_vue">
<li>
<h5 class="i_f_th_2">Management de projet</h5>
<span class="f_nb">[b]n formations[/b]</span>
<table class="f_table" style="margin-left: 50px;">
<tbody>
<tr>
<td><a href="#">{news category="mdp" summarytemplate="accordion"}</a></td>
</tr>
</tbody>
</table>
</li>
</ul>
Merci
[Résolu]Module News : Comptabiliser le total d'items par categorie -
Jean le Chauve - 07/04/2015
Bin, dans le summarytemplate="accordion". C'est lui qui est affiché à l'appel de la balise news.
[Résolu]Module News : Comptabiliser le total d'items par categorie -
Jean le Chauve - 12/04/2015
Ton problème est-il résolu ?
Bon, tu souhaites remplacer
n Code :
<span class="f_nb">[b]n formations[/b]</span>
par le nombre dynamique.
Cherche dans ton
summaryTemplate le foreach qui boucle sur le nbre d'items et ajoute une ligne :
Code :
{foreach from=$items item=entry}
{assign var=`$entry->category` value=`$entry@total`}
[...]
Et voilà, le nbre des articles d'une catégorie se retrouve assigné à la variable portant son nom :{$man},{$mdp}.
Il te suffit de l'intégrer ainsi :
Code :
<span class="f_nb">[b]{$man} formations[/b]</span>
Maintenant, pourquoi n'améliores-tu pas ton
gabarit sommaire pour générer ton code à la volée ? Un peu de logique et le foreach générera automatiquement ton code html pour chacune des catégories. Résultat : ton gabarit page utilisera 1 seule balise {news summarytemplate="tonGabaritCategory" [category="mdp,man,..."]} qui générera tout ce code pour l'ensemble de tes panels.
Ici, tu utiliseras la propriété {$node.count} qui renferme le nbre d'articles de la catégorie, ainsi que {$node.news_category_name} pour le h5.
Tu peux même générer le suffixe de ta classe
class="i_f_th_1/2" avec un
{counter} : class="i_f_th_
{counter}".
On va estimer que tu n'as pas de sous-catégorie pour alléger l'exemple :
Code :
{if $count > 0}
<ul class="f_toggle_vue">
{foreach from=$cats item=node}
<li>
{if $node.count > 0}
<h5 class="i_f_th_{counter}">{$node.news_category_name}</h5>
<span class="f_nb">{$node.count} formation{if $node.count > 1}s{/if}</span>
<table class="f_table" style="margin-left: 50px;">
<tbody>
<tr>
<td>
<ul>
{foreach from=$items item=entry}
{if $entry->category == $node.news_category_name}
<li><a href="{$entry->moreurl}" title="{$entry->title|cms_escape:htmlall}">{$entry->title|cms_escape}</a></li>
{/if}
{/foreach}
</ul>
</td>
</tr>
</tbody>
</table>
{else}
<h5 class="i_f_th_{counter}">{$node.news_category_name}</h5>
<span class="f_nb">0 formation</span>
{/if}
</li>
{/foreach}
</ul>
{/if}
[Résolu]Module News : Comptabiliser le total d'items par categorie -
glany - 14/04/2015
Merci à sa seigneurie pour son aide. J'avais ébauché quelque chose mais qui n'affichait pas exactement le résultat. Mais avec ton code j'ai testé et c'est sans faute.
Cdt