Les avertissements suivants se sont produits :
Warning [2] Undefined array key 0 - Line: 1640 - File: showthread.php PHP 8.2.18 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/showthread.php 1640 errorHandler->error_callback
/showthread.php 915 buildtree




Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
[Résolu] Menu cascade - aide pour modifier mon template
#1
Bonjour, j'ai un menu cascade qui fonctionne bien, installé avec jquery.

Je veux maintenant laisser le sous menu ouvert lorsque celui-ci est actif. Je dois donc attribuer à ce sous menu une classe "open".

Voici le code de mon menu. Quand mon sous menu est ouvert, il lui faudrait la class "sousmenu open".
Je peux attribuer une variable open à mes pages de sous menu lorsques celle-ci sont ouvertes.
Code :
{assign var='open' value='1'}

Code :
{if $count > 0}

<ul class="menu">
{foreach from=$nodelist item=node}

{if $node->depth > $node->prevdepth}

{* à ce point, je vérifie si open et si oui, la class="sousmenu open" et sinon, la class="sousmenu"
Je sais pas trop comment faire. J'ai essayé des trucs (if isset($open)) mais je n'arrive pas au résultat souhaité.*}

{repeat string='<ul class="sousmenu">' 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->type == 'sectionheader'}
<li class="toggle">
<a class="toggle"

{else}
<li>
<a {/if}

{if $node->sectionheader == true}
  href=""><span>{$node->menutext}</span></a>
{elseif $node->haschildren == true and $node->sectionheader == false}
  href="{$node->url}">{$node->menutext}</a>

{elseif $node->type != 'sectionheader' and $node->type != 'separator'}
{if $node->target}target="{$node->target}" {/if}
href="{$node->url}">{$node->menutext}</a>
{elseif $node->type == 'sectionheader'}
><span class="sectionheader">{$node->menutext}</span></a>
{/if}

{/foreach}
{repeat string='</li></ul>' times=$node->depth-1}
</li>
</ul>

{/if}

Voici aussi la structure html de mon menu:
Code :
<ul class="menu">
<li>lien 1</li>
<li>lien 2 (entête de section)
   <ul class="sousmenu">
      <li>lien 2.1</li>
      <li>lien 2.2</li></ul></li>
<li>lien 3</li>
<li>lien 4 (entête de section)
   <ul class="sousmenu">
      <li>lien 4.1</li>
      <li>lien 4.2</li></ul></li>
<li>lien 1</li>
</ul>

Merci à l'avance pour votre aide Smile


Citation :#~~~~~ NE PAS SUPPRIMER CE BLOC ~~~~~
#~ Version du CMS: 1.8.0
#~ Nom de l'hébergeur :
#~ Informations Système :
#~ Cms Version: 1.8
#~ Installed Modules:
#~ CMSMailer: 2.0
#~ FileManager: 1.0.2
#~ MenuManager: 1.6.5
#~ ModuleManager: 1.4
#~ News: 2.10.6
#~ nuSOAP: 1.0.1
#~ Printing: 1.1.0
#~ Search: 1.6.5
#~ ThemeManager: 1.1.1
#~ TinyMCE: 2.7.2
#~ FormBuilder: 0.6.2
#~ jQuery: 0.0.5
#~ CGSimpleSmarty: 1.4.5
#~ Config Information:
#~ php_memory_limit: 64M
#~ process_whole_template: false
#~ output_compression: false
#~ max_upload_size: 30000000
#~ 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.9
#~ md5_function: On (Vrai)
#~ gd_version: 2
#~ tempnam_function: On (Vrai)
#~ magic_quotes_runtime: Off (Faux)
#~ E_STRICT: 0
#~ memory_limit: 64M
#~ max_execution_time: 30
#~ output_buffering: On
#~ safe_mode: Off (Faux)
#~ file_uploads: On (Vrai)
#~ post_max_size: 8M
#~ upload_max_filesize: 2M
#~ 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
#~~~~~ NE PAS SUPPRIMER CE BLOC ~~~~~
C'est en forgeant que l'on devient forgeron !


Messages dans ce sujet

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)