Sujet fermé
Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5

mise à jour 1.11.6 et image dans les menus [résolu]
#1

Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: 1.11.6
#~ Url du site :
#~ Hébergeur / Soft :
#~ Informations Système :
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~



Jusqu'à présent j'agrémentais mes menus avec les images des pages correspondantes en utilisant le gabarit suivant

Code :
[== HTML ==]
{* CSS classes used in this template:
#menuwrapper - The id for the <div> that the menu is wrapped in. Sets the width, background etc. for the menu.
#primary-nav - The id for the ici id="menu_V"<ul>
.menuparent - The class for each <li> that has children.
.menuactive - The class for each <li> that is active or is a parent (on any level) of a child that is active. *}
{if $count > 0}
<div id="menu_V_wrapper">
<ul id="menu_V">
{foreach from=$nodelist item=node}
{if $node->depth > $node->prevdepth}
{repeat string='<ul class="unli">' times=$node->depth-$node->prevdepth}
{elseif $node->depth < $node->prevdepth}
{repeat string='</li><li class="separator once" style="list-style-type: none;" >&nbsp;</li></ul>' times=$node->prevdepth-$node->depth}
</li>
{elseif $node->index > 0}</li>
{/if}
{if $node->parent == true or ($node->current == true and $node->haschildren == true)}
<li class="menuactive menuparent" >
<a class="menuactive menuparent" {elseif $node->current == true}
<li class="menuactive"  >
<a class="menuactive" {elseif $node->haschildren == true}
<li class="menuparent"   >
<a class="menuparent" {elseif $node->type == 'sectionheader' and $node->haschildren == true}
<li class="sectionheader" <span class="sectionheader"  >{$node->menutext}</span> {elseif $node->type == 'separator'}
<li style="list-style-type: none;"  > <hr class="menu_separator" />{else}
<li>
<a {/if}
{if $node->type != 'sectionheader' and $node->type != 'separator'}
{if $node->target}target="{$node->target}" {/if}

style="background-image:url({$node->image}); background-repeat:no-repeat; background-position:left top;"

>

<span > {$node->menutext} </span></a>
{elseif $node->type == 'sectionheader'}
><span class="sectionheader">{$node->menutext}</span></a>
{/if}
{/foreach}
{repeat string='</li><li class="separator once" style="list-style-type: none;">&nbsp;</li></ul>' times=$node->depth-1}
</li>
</ul>
<div class="clearb"></div>
</div>
{/if}

la ligne qui insère l'image ne passe plus avec la version 1.11.6 pour les niveaux de menus dont les pages n'ont pas d'image définie

Code :
[== HTML ==]
href="{$node->url}" style="background-image:url({$node->image}); background-repeat:no-repeat; background-position:left top;"

j'ai solutionné le problème en testant le niveau de menu auquel on se trouve avant d'insérer l'image

Code :
[== HTML ==]
href="{$node->url}"  
{if $node->depth < 2}
style=" background-image:url({$node->image}); background-repeat:no-repeat; backgroud-position:left top;"
{/if}

Une solution plus élégante serait de tester si la page a ou non une image mais là ça dépasse mes capacités.

En espérant que cela sera utile

MS-Dos, Gem, geoworks, Windows 1, 2, 3, 3.1, 95, 98, XP, seven, 8, 10 Smile
Mac system 1 à 6
Wampserver 3.1.9,
PhP 7.3.5,
CMS version 2.2.11
#2

Citation :la ligne qui insère l'image ne passe plus avec la version 1.11.6
s'nspirer de http://wiki.cmsmadesimple.fr/wiki/MleCMS...vec_images

J-C Etiemble v 2.2.xx
#3

Merci JCE c'est exactement ce que je cherchais avec

{if isset($node->image) && $node->image != ''}

c'est mieux

MS-Dos, Gem, geoworks, Windows 1, 2, 3, 3.1, 95, 98, XP, seven, 8, 10 Smile
Mac system 1 à 6
Wampserver 3.1.9,
PhP 7.3.5,
CMS version 2.2.11
#4

un petit [résolu] dans le titre alors ? Wink
#5

Très juste c'est fait Smile

MS-Dos, Gem, geoworks, Windows 1, 2, 3, 3.1, 95, 98, XP, seven, 8, 10 Smile
Mac system 1 à 6
Wampserver 3.1.9,
PhP 7.3.5,
CMS version 2.2.11
Sujet fermé


Atteindre :


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