Forum CMS Made Simple FR

Version complète : [Résolu] MenuManager : Sitemap dynamique ?
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.

yank

----------------------------------------------
Citation :Cms Version: 1.9.3

Installed Modules:

* CMSMailer: 2.0.1
* FileManager: 1.1.0
* MenuManager: 1.7.5
* ModuleManager: 1.4
* Search: 1.6.10
* TinyMCE: 2.8.3
* CGExtensions: 1.21.7
* FrontEndUsers: 1.12.8
* CustomContent: 1.7.3
* Captcha: 0.4.3
* SelfRegistration: 1.6.7
* SiteMapMadeSimple: 1.2.2


Config Information:

* php_memory_limit:
* process_whole_template: false
* output_compression: false
* max_upload_size: 20000000
* default_upload_permission: 664
* url_rewriting: mod_rewrite
* page_extension: .html
* 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: 40M
* max_execution_time: 50000
* output_buffering: 0
* safe_mode: Off (Faux)
* file_uploads: On (Vrai)
* post_max_size: 8M
* upload_max_filesize: 20M
* 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.91


----------------------------------------------

Bonjour à tous.

J'ai installé le module sitemap pour générer automatiquement le xml, ce dernier fonctionne parfaitement.

J'ai également créé une page html pour afficher le plan du site mais j'aimerais le rendre dynamique afin de faciliter la mise à jour, mais j'ai du mal à comprendre le fonctionnement.

Pour le moment j'ai fait :

> 1 page "test" avec comme contenu :
Code :
{site_mapper template='sitemap'} et/ou {menu template='sitemap'}
- une partie javascript pour afficher les enfants des pages en déroulement.

> J'ai également essayé de créer un template de menu afin de l'utiliser pour la page "test" mais je ne n'y parviens pas.

Quelqu'un pourrait-il m'aider à comprendre comment faire et comment utiliser dynamiquement les menus dans le module MenuManager. (Pour le moment j'utilise ce module mais je rentre moi-même les liens ...etc)

Merci !

yank

Ah ... je crois avoir compris et réussi ...

Tongue

Malgré tout je pense que dans cette portion de code il y a des lignes inutiles pour mes simples listes de liens mais bon ... ça fonctionne et dans le html il n'y a que le minimum affiché donc ça me va ...

Big Grin

Un truc dans le genre :

Page
Code :
{menu template='sitemap'}

sitemap template
Code :
{assign var='number_of_levels' value=10000}
{if isset($menuparams.number_of_levels)}
{assign var='number_of_levels' value=$menuparams.number_of_levels}
{/if}
{if $count > 0}
<ul id="sitemap">
{foreach from=$nodelist item=node}
{if $node->depth > $node->prevdepth}
{repeat string='<ul>' times=$node->depth-$node->prevdepth}
{elseif $node->depth < $node->prevdepth}
{repeat string='</li></ul>' times=$node->prevdepth-$node->depth}
</li>
{elseif $node->index > 0}</li>
{/if}
{if $node->parent == true or $node->current == true}
{assign var='classes' value='menuactive'}
{if $node->parent == true}
{assign var='classes' value='menuactive menuparent'}
{/if}
{if $node->children_exist == true and $node->depth < $number_of_levels}
{assign var='classes' value=$classes|cat:' parent'}
{/if}
<li><a {elseif $node->type == 'sectionheader' and $node->haschildren == true}
<li><a>{$node->menutext}</a>
{elseif $node->type == 'sectionheader'}
<li><a>{$node->menutext}</a>
{elseif $node->type == 'separator'}
<li>
{elseif $node->children_exist == true and $node->depth < $number_of_levels and $node->type != 'sectionheader' and $node->type != 'separator'}
<li><a
{else}
<li>
<a
{/if}
{if $node->type != 'sectionheader' and $node->type != 'separator'}
{if $node->target}target="{$node->target}" {/if}
href="{$node->url}">{$node->menutext}</a>
{/if}
{/foreach}
{repeat string='</li></ul>' times=$node->depth-1}
</li>
</ul>
{/if}