[opgelost] Pagina broncode errors met FEU en hidden menu

Nederlandse ondersteuning voor CMS Made Simple

Moderator: velden

Post Reply
Gamonon

[opgelost] Pagina broncode errors met FEU en hidden menu

Post by Gamonon »

Het afschermen van gedeeltes van het menu voor niet ingelogde bezoekers met FEU werkt prima.
Echter, toen ik de broncode nog even controleerde bleek die er niet goed uit te zien. Van de menu
items die een tweede level hebben, wordt (alleen van het tweede level en verder) de sluit tag
niet aangemaakt. Daardoor geeft W3C een lijst met errors.

De menu template maakt wel een foutloze pagina broncode zonder de toevoegingen:

{if ($node->extra1=='restricted' and $ccuser->loggedin()) or $node->extra1=='' }
...
{/if}  {* node->extra1 *}

Maar laat dan natuurlijk wel alles zien. Ik begrijp globaal wel wat er gebeurt maar niet waarom.
Moeilijk om het dan op te lossen. Voor de zekerheid het complete menu template:

Code: Select all

{if $count > 0}

<ul class="art-menu">

{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->extra1=='restricted' and $ccuser->loggedin()) or $node->extra1=='' }

{if $node->current == true && $node->depth == 1}

<li><a href="{$node->url}" class="active"><span class="l"></span><span class="r"></span><span class="t">{$node->menutext}</span></a>

{elseif $node->depth == 1}

<li><a href="{$node->url}"><span class="l"></span><span class="r"></span><span class="t">{$node->menutext}</span></a>

{elseif $node->current == true && $node->depth != 1}

<li><a href="{$node->url}" {if $node->accesskey != ''} accesskey="
{$node->accesskey}"{/if}{if $node->tabindex != ''} tabindex="{$node->tabindex}"{/if}{if $node->titleattribute != ''} title="{$node->titleattribute}"{/if}{if $node->target != ''} target="{$node->target}"{/if}><b>{$node->menutext}</b></a>

{elseif $node->type == 'sectionheader'}
<li class="sectionheader">{$node->menutext}

{elseif $node->type == 'separator'}
<li class="separator" style="list-style-type: none;"> <hr />

{else}
<li><a href="{$node->url}"{if $node->accesskey != ''} accesskey="{$node->accesskey}"{/if}

{if $node->tabindex != ''} tabindex="{$node->tabindex}"{/if}{if $node->titleattribute != ''} title="{$node->titleattribute}"{/if}

{if $node->target != ''} target="{$node->target}"{/if}>{$node->menutext}</a>
{/if}

{/if}  {* node->extra1 *}

{/foreach}

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

{/if}


en de uiteindelijke oplossing zonder dat ik een idee heb wat ik gedaan heb
Ik hoop alleen dat het een duurzame oplossing blijkt  8)

Code: Select all

{strip}

{if $count > 0}

<ul class="art-menu">

{foreach from=$nodelist item=node}

{if ($node->extra1=='restricted' and $ccuser->loggedin())  or $node->extra1==''}

{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->current == true && $node->depth == 1}

<li><a href="{$node->url}" class="active"><span class="l"></span><span class="r"></span><span class="t">{$node->menutext}</span></a>

{elseif $node->depth == 1}
<li><a href="{$node->url}"><span class="l"></span><span class="r"></span><span class="t">{$node->menutext}</span></a>

{elseif $node->current == true && $node->depth != 1}

<li><a href="{$node->url}" {if $node->accesskey != ''} accesskey="
{$node->accesskey}"{/if}{if $node->tabindex != ''} tabindex="{$node->tabindex}"{/if}{if $node->titleattribute != ''} title="{$node->titleattribute}"{/if}{if $node->target != ''} target="{$node->target}"{/if}><b>{$node->menutext}</b></a>

{elseif $node->type == 'sectionheader'}
<li class="sectionheader">{$node->menutext}

{elseif $node->type == 'separator'}
<li class="separator" style="list-style-type: none;"> <hr />

{else}
<li><a href="{$node->url}"{if $node->accesskey != ''} accesskey="{$node->accesskey}"{/if}{if $node->tabindex != ''} tabindex="{$node->tabindex}"{/if}{if $node->titleattribute != ''} title="{$node->titleattribute}"{/if}{if $node->target != ''} target="{$node->target}"{/if}>{$node->menutext}</a>

{/if}

{/if}{* node->extra1 *}

{/foreach}

{repeat string="</li></ul>" times=$node->depth-2}</li>
</ul>

{/if}

{/strip}
Last edited by Gamonon on Sat Dec 19, 2009 2:41 am, edited 1 time in total.
User avatar
Rolf
Power Poster
Power Poster
Posts: 7825
Joined: Wed Apr 23, 2008 7:53 am
Location: The Netherlands
Contact:

Re: Pagina broncode errors met FEU en hidden menu

Post by Rolf »

Hoi Gamonon,

Hoogstwaarschijnlijk heb je ergens wat tags gekruist, waardoor een gedeelte van het script kan wegvallen.
Je zou de code even moeten doorlopen en uitzoeken welke starttag bij welke eindtag hoort. Bijv. even merken.
Je komt er dan wel achter waar er iets fout staat.

Rolf
- + - + - + - + - + - + -
LATEST TUTORIAL AT CMS CAN BE SIMPLE:
Migrating Company Directory module to LISE
- + - + - + - + - + - + -
Image
Gamonon

Re: Pagina broncode errors met FEU en hidden menu

Post by Gamonon »

Rolf wrote: Hoi Gamonon,

Hoogstwaarschijnlijk heb je ergens wat tags gekruist, waardoor een gedeelte van het script kan wegvallen.
Je zou de code even moeten doorlopen en uitzoeken welke starttag bij welke eindtag hoort. Bijv. even merken.
Je komt er dan wel achter waar er iets fout staat.

Rolf
Hallo Rolf,

Ik heb de tags secuur doorgelopen en open en sluit tags zijn in orde. Er komt met de 'restricted' functie maar 1 open en 1 sluit bij.
Dit zelfde template wordt ook door anderen gebruikt in exact dezelfde layout ( http://forum.cmsmadesimple.org/index.ph ... 533.0.html ) Ik heb ook dat template gecopieerd en gebruikt, met hetzelfde resultaat.

Als ik de pagina's met 'restricted' in het extra1 veld uit het menu laat, gaat het goed.

Ook de 'restricted pagina's' pakken de laatste 'repeat string' waar en tags worden aangemaakt.
Dat zorgt er volgens mij voor dat ik voor de vijf 'restricted'pagina's dan rommel in de broncode krijg:

======
inloggen







contact

===========

Ik kan de sluit tag {/if}  {* node->extra1 *} echter niet lager zetten want dat gaat het helemaal niet goed.

Zou het kunnen dat de node teller met het overslaan van een 'restricted' node toch opgehoogd wordt en er daardoor te veel worden gegenereerd?
User avatar
Rolf
Power Poster
Power Poster
Posts: 7825
Joined: Wed Apr 23, 2008 7:53 am
Location: The Netherlands
Contact:

Re: Pagina broncode errors met FEU en hidden menu

Post by Rolf »

Heb je de code ook tussen {strip} {/strip} staan?

Rolf
- + - + - + - + - + - + -
LATEST TUTORIAL AT CMS CAN BE SIMPLE:
Migrating Company Directory module to LISE
- + - + - + - + - + - + -
Image
Gamonon

Re: Pagina broncode errors met FEU en hidden menu

Post by Gamonon »

Rolf wrote: Heb je de code ook tussen {strip} {/strip} staan?

Rolf
Nee dat had ik niet. Maar ik heb ze er net in gezet en dat heeft helaas niet geholpen.

Ik heb de handleiding van Robert Campbell al enkele keren doorgenomen en alles aangepakt zoals hij omschrijft. Ik geloof echter dat zijn voorbeeld een menu bevat dat geen sublevels in het menu heeft. Ik vraag me dus af of dit een goed (compleet) voorbeeld is.
Post Reply

Return to “Dutch - Nederlands”