19/11/2010, 21:01:01
Citation :#~~~~~ NE PAS SUPPRIMER CE BLOC ~~~~~
#~ Version du CMS: 1.6.8
#~ Nom de l'hébergeur : free.fr
#~ Informations Système :
#~ ----------------------------------------------
#~ Cms Version: 1.6.8
#~ Installed Modules:
#~ * CMSMailer: 1.73.14
#~ * FileManager: 1.0.2
#~ * MenuManager: 1.6.5
#~ * ModuleManager: 1.3.3
#~ * News: 2.10.5
#~ * nuSOAP: 1.0.1
#~ * Printing: 1.0.4
#~ * Search: 1.6.5
#~ * ThemeManager: 1.1.1
#~ * TinyMCE: 2.7.2
#~ * SimpleSlider: 0.3
#~ * Showtime: 1.0.5
#~ * jQuery: 1.1.2
#~ * FormBuilder: 0.6.4
#~ Config Information:
#~ * php_memory_limit:
#~ * process_whole_template: false
#~ * max_upload_size: 2000000
#~ * default_upload_permission: 664
#~ * assume_mod_rewrite: false
#~ * page_extension:
#~ * internal_pretty_urls: false
#~ * use_hierarchy: true
#~ Php Information:
#~ * phpversion: 5.1.3RC4-dev
#~ * md5_function: On (Vrai)
#~ * gd_version: 2
#~ * tempnam_function: On (Vrai)
#~ * magic_quotes_runtime: Off (Faux)
#~ * memory_limit: 32M
#~ * max_execution_time: 20
#~ * safe_mode: On (Vrai)
#~ * session_save_path: /mnt/140/sdb/b/3/monsite/sessions (0700)
#~ * session_use_cookies: On (Vrai)
#~ Server Information:
#~ * Server Api: cgi-fcgi
#~ * Server Db Type: MySQL (mysql)
#~ * Server Db Version: 5.0.83
#~ ----------------------------------------------
#~~~~~ NE PAS SUPPRIMER CE BLOC ~~~~~
Bonsoir j'ai un soucis pour finaliser un gabarit de menu.
J'ai créé un menu en dur avec du jquery qui fonctionne bien.
Je l'ai transposé et là je bloque.
Je récupère bien la mise en forme pour le topnav et le subnav, cependant je n'ai que le premier <li> du subnav qui s'affiche
Voici en dur ce que celà donne :
<script src="http://code.jquery.com/jquery-1.4.3.js" type="text/javascript"></script>
<script type="text/javascript">
var obj = null;
function checkHover() {
if (obj) {
obj.find('ul').fadeOut('fast');
}
}
$(document).ready(function(){
$('.topnav > li').hover(function() {
if (obj) {
obj.find('ul').fadeOut('fast');
obj = null;
}
$(this).find('ul').fadeIn('fast');
}, function() {
obj = $(this);
setTimeout(
"checkHover()",
0);
});
});
</script>
{/literal}
</head>
<body>
<div id="page-wrap">
<ul class="topnav">
<li>
<a href="#">A</a>
</li>
<li>
<a href="#">B</a>
<ul class="subnav">
<li><a href="#">B1</a></li>
<li><a href="#">B2</a></li>
<li><a href="#">B3</a></li>
<li><a href="#">B4</a></li>
<li><a href="#">B5</a></li>
</ul>
</li>
<li><a href="#">C</a>
<ul class="subnav">
<li><a href="#">C1</a></li>
<li><a href="#">C2</a></li>
<li><a href="#">C3</a></li>
</ul>
</li>
<li><a href="#">D</a></li>
<li><a href="#">Z</a>
<ul class="subnav">
<li><a href="#">E1</a></li>
<li><a href="#">E2</a></li>
<li><a href="#">E3</a></li>
</ul>
</li>
</ul>
</div>
{content}
{menu} // ici c'est pour tester le menu .tpl
</body>
</html>
Voici le .tpl
{if $count > 0}
<ul class="topnav">
{foreach from=$nodelist item=node}
{if $node->depth > $node->prevdepth}
{repeat string='<ul class="subnav">' 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->depth == 1}
<li class="subnav"><a href="{$node->url}">{$node->menutext}</a>
{else}
<li><a href="{$node->url}">{$node->menutext}</a>
{/if}
{/foreach}
{repeat string="</li></ul>" times=$node->depth-1}</li>
</ul>
{/if}
Merci.