(Opgelost) Simplex-responsive: geen submenu's op apple-touch

Nederlandse ondersteuning voor CMS Made Simple

Moderator: velden

mev
Power Poster
Power Poster
Posts: 371
Joined: Wed Apr 25, 2007 5:00 pm

(Opgelost) Simplex-responsive: geen submenu's op apple-touch

Post by mev »

Hallo cms-ms-ers,
Op deze site is het Simplex responsive menu gebruikt:
http://www.mirjamstax.nl

De 2 Hoofdmenu-items Activiteiten en Mirjam Stax hebben submenu's, die werken/klappen netjes uit op desktops!

Maar op de meeste Apple Touch screens (I-Pad en I-Phone) worden die submenu-items geheel niet getoond, op 'n enkele andere weer wel. Zou dan dus ook aan de instellingen op die apple-apparaten zelf kunnen liggen. Maar beiden hebben bijv. javascript wel aanstaan.. moet dus iets anders zijn?

Op Android mobiels en tablets worden de submenu-items wel getoond, maar ze blijven te kort staan, verdwijnen net iets te snel.

Er is elders op het forum wel melding van vergelijkbaar euvel met het Simplex-menu gemaakt, maar ik kan nergens 'n oplossing vinden.

Heeft iemand enig idee in welke richting te zoeken?
Bij voorbaat heel hartelijke dank.

willemijn
Last edited by mev on Mon Mar 02, 2015 12:09 am, edited 2 times in total.
User avatar
velden
Dev Team Member
Dev Team Member
Posts: 3484
Joined: Mon Nov 28, 2011 9:29 am
Location: The Netherlands

Re: Simplex- responsive toont geen submenu's op apple touch

Post by velden »

Maak van de items in het hoofdmenu 'Section headers' in plaats van internal links.
mev
Power Poster
Power Poster
Posts: 371
Joined: Wed Apr 25, 2007 5:00 pm

Re: Simplex- responsive toont geen submenu's op apple touch

Post by mev »

Dankjewel voor je reactie Velden.
Met als default section header waren we uiteraard ook begonnen. Maar er zit een hick-up in cms-ms menu's in het algemeen wat betreft resonsive, waardoor op mobiele apparaten de submenu's ook niet uitklappen, en dan zelfs op androide apparaten ook niet.
Daar is wel een work-around voor, maar dan moet het Inhoudstype van de hoofdmenu-items veranderd worden van section header naar interne link, met als doelpagina bvk de eerste subpagina.
Daarom dus zo gedaan.

Alleen de Apple touch screens blijven dus zo toch nog een probleem..
willemijn
User avatar
velden
Dev Team Member
Dev Team Member
Posts: 3484
Joined: Mon Nov 28, 2011 9:29 am
Location: The Netherlands

Re: Simplex- responsive toont geen submenu's op apple touch

Post by velden »

Wat er gebeurt is dat met een echte link, de nieuwe pagina geladen wordt en dus het menu weer ingeklapt 'begint'.

Dat is eigenlijk gedrag dat je mag verwachten. Alleen met wat javascript zou je het wellicht zo kunnen maken dat het menu op touch devices eerst uitklapt, en pas bij een tweede 'touch' de link volgt.
pasmaskas
Power Poster
Power Poster
Posts: 509
Joined: Tue Nov 29, 2011 10:42 am

Re: Simplex- responsive toont geen submenu's op apple touch

Post by pasmaskas »

Ik heb dat probleem ook gehad met mijn menu. Zeker als het geen section header is gebeurt dat al snel. Ik heb het doen opgelost door de div waar het menu in zit de volgende javascritp te geven onclick="void(0)"

Zo iets woord het dan:
<div is="menu" onclick="void(0)">

menu

</div>

Ook heb ik in het menu sjabloon bij de section header er een normale menu item van gemaakt alleen de link veranderd naar {root_url}/# als je dan er op klikt gebeurt er niets anders dan dat het menu openklapt.

Mischien werkt het voor jou.

Gr Pascal
mev
Power Poster
Power Poster
Posts: 371
Joined: Wed Apr 25, 2007 5:00 pm

Re: Simplex- responsive toont geen submenu's op apple touch

Post by mev »

Dankjewel Pasmaskas! Dat is hartstikke mooi concreet, en lijkt me een eind in de richting, echt super.
Nog kl vraagjes, want geen script-expert zijnde:
-moeten deze 2 oplossingen allebei worden doorgevoerd?

-bij de eerst zet je <div is="menu" onclick="void(0)">, moet dat "is" wellicht id zijn?

- Er staat nu in mijn pagina-sjablonen dit:
<div id="navigation">
<nav class='main-navigation grid_8 noprint' id='nav' role='navigation'>
{menu template='Simplex_Navigation.tpl'}
</nav>

</div> <!-- einde div navigation -->

Kan/mag die toevoeging met onclick="void(0)" aan de <nav> tag worden toegevoegd?
Of moet ie in de omringende <div id="navigation"> ?

-Als die 2e oplossing ook moet, schrijf je dat dit in het menu-sjabloon moet. Of kan ik bij de pagina-kenmerken vh hoofd-item met als inhoudstype section header, de link ook veranderen / invullen als: {root_url}/# ?

Bij voorbaat erg veel dank voor je extra moeite!
willemijn
pasmaskas
Power Poster
Power Poster
Posts: 509
Joined: Tue Nov 29, 2011 10:42 am

Re: Simplex- responsive toont geen submenu's op apple touch

Post by pasmaskas »

Die "is" moet inderdaad een "id" zijn (type foutje). je zou onclick="void(0)" kunnen testen op bijde maar ik denk dat hij in de <nav> moet.

Ik heb nog even gekeken voor je en het is geen {root_url}/# maar {$smarty.server.REQUEST_URI}#

Dit is het menu sjabloon van mij:

Code: Select all

{if $count > 0}

<ul id="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->current == true}
<li><a href="{$node->url}" class="currentpage"{if $node->target ne ""} target="{$node->target}"{/if}> {$node->menutext} </a>

{elseif $node->parent == true && $node->depth == 1 and $node->type != 'sectionheader' and $node->type != 'separator'}
<li><a href="{$node->url}" {if $node->target ne ""} target="{$node->target}"{/if}> {$node->menutext} </a>

{elseif $node->type == 'sectionheader'}
<li><a href="{$smarty.server.REQUEST_URI}#">{$node->menutext}</a>

{elseif $node->type == 'separator'}
<li>

{else}
<li><a href="{$node->url}"{if $node->target ne ""} target="{$node->target}"{/if}> {$node->menutext} </a>

{/if}

{/foreach}

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

{/if}
Je ziet de regel staan bij {elseif $node->type == 'sectionheader'}. Volgens mij kan je bij een sectionheader geen url invullen dus het moet in het menu sjabloon.

Gr Pascal
mev
Power Poster
Power Poster
Posts: 371
Joined: Wed Apr 25, 2007 5:00 pm

Re: Simplex- responsive toont geen submenu's op apple touch

Post by mev »

ha Pascal, Heel erg bedankt voor het opzoeken, wat constructief en aardig!
Hartstikke fijn, ben er erg blij mee!

Dat kan inderdaad niet, bij section header een url in vullen, je hebt gelijk.

Neem aan dat ik dan, naast die code-wijziging in het menusjabloon, wel hier/bij de pagina-eigenschappen het type in sectie hoofd moet veranderen (ipv interne link, zoals nu) ?

'k Ga je tips toepassen, lijkt me de goeie kant uit. Je hoort nog
(moet nu paar dagen weg)!

Hartelijke groet,
willemijn
pasmaskas
Power Poster
Power Poster
Posts: 509
Joined: Tue Nov 29, 2011 10:42 am

Re: Simplex- responsive toont geen submenu's op apple touch

Post by pasmaskas »

Als je jou menusjabloon code even hier neer zet dan zal ik de regel wel even plaatsen op de plaats waar hij hoort. Je moet de menu knoppen waar een submenu onder zit en section header van maken en dan geen interne link meer. Zo verkom je als iemand er opd ruk hij naar de doorgelinkte pagina gaat. Door de regel met het # en het stukje javascript zal hij (bij mij in iedergeval) alleen het sub menu open klappen zowel op ios als android en op een pc is het gewoon zo als het nu is maar dan zonder door link.

Gr Pascal
mev
Power Poster
Power Poster
Posts: 371
Joined: Wed Apr 25, 2007 5:00 pm

Re: Simplex- responsive toont geen submenu's op apple touch

Post by mev »

Hier komt ie Pascal:

Code: Select all

{strip}

{if $count > 0}
    <ul class='cf'>
    {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->current == true}
            <li{if $node->parent == true || $node->haschildren == true} class='parent current'{/if}>
                <a href='{$node->url}' class='current'{if $node->target != ''} target='{$node->target}'{/if}>{$node->menutext}</a>
        {elseif $node->parent == true && ($node->type != 'sectionheader' && $node->type != 'separator')}
            <li class='parent current'>
                <a href='{$node->url}' class='current'{if $node->target != ''} target='{$node->target}'{/if}>{$node->menutext}</a>
        {elseif $node->type == 'sectionheader'}
            <li class='sectionheader'>
                <span class='sectionheader {if $node->parent == true} parent{/if}{if $node->current == true} current{/if}'>{$node->menutext}</span>
        {elseif $node->type == 'separator'}
            <li class='separator'>
                <hr class='separator' />
        {else}
            <li{if $node->parent == true || $node->haschildren == true} class='parent'{/if}>
                <a href='{$node->url}'{if $node->target != ''} target='{$node->target}'{/if}>{$node->menutext}</a>
        {/if}
    {/foreach}

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

{/strip}
Er zijn 2 hoofditems (waar submenu-items aan hangen), zal die veranderen in section header.

Wat super, DANKJEWEL-WEL!
Willemijn
User avatar
Rolf
Power Poster
Power Poster
Posts: 7825
Joined: Wed Apr 23, 2008 7:53 am
Location: The Netherlands
Contact:

Re: Simplex- responsive toont geen submenu's op apple touch

Post by Rolf »

Off-topic, maar...

In module templates kun je {strip}{/strip} weglaten door het *in* de Smarty tag te plaatsen.
Bijv. {menu|strip template='foo'}, voordeel is je dan alle "stripjes" bij elkaar hebt in het HTML sjabloon bij bughunting, zie ook https://www.cmscanbesimple.org/blog/usi ... tylesheets

Grt. Rolf
- + - + - + - + - + - + -
LATEST TUTORIAL AT CMS CAN BE SIMPLE:
Migrating Company Directory module to LISE
- + - + - + - + - + - + -
Image
mev
Power Poster
Power Poster
Posts: 371
Joined: Wed Apr 25, 2007 5:00 pm

Re: Simplex- responsive toont geen submenu's op apple touch

Post by mev »

Dank voor je tip Rolf, heul handig zoiets!
Zal misschien de snelheid ook beinvloeden, offe?

Groetjs, willemijn
User avatar
Rolf
Power Poster
Power Poster
Posts: 7825
Joined: Wed Apr 23, 2008 7:53 am
Location: The Netherlands
Contact:

Re: Simplex- responsive toont geen submenu's op apple touch

Post by Rolf »

Ja, dat is wel het idee erachter. Of het verschil nu direct verneembaar is durf ik niet altijd te zeggen. Maar op grote en drukke websites zal het zeker positief uitpakken. Alle kleine beetjes helpen...
- + - + - + - + - + - + -
LATEST TUTORIAL AT CMS CAN BE SIMPLE:
Migrating Company Directory module to LISE
- + - + - + - + - + - + -
Image
pasmaskas
Power Poster
Power Poster
Posts: 509
Joined: Tue Nov 29, 2011 10:42 am

Re: Simplex- responsive toont geen submenu's op apple touch

Post by pasmaskas »

Als het goed is moet dit hem zo zijn:

Code: Select all

{if $count > 0}
    <ul class='cf'>
    {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->current == true}
            <li{if $node->parent == true || $node->haschildren == true} class='parent current'{/if}>
                <a href='{$node->url}' class='current'{if $node->target != ''} target='{$node->target}'{/if}>{$node->menutext}</a>
        {elseif $node->parent == true && ($node->type != 'sectionheader' && $node->type != 'separator')}
            <li class='parent current'>
                <a href='{$node->url}' class='current'{if $node->target != ''} target='{$node->target}'{/if}>{$node->menutext}</a>
        {elseif $node->type == 'sectionheader'}
            <li{if $node->parent == true || $node->haschildren == true} class='parent'{/if}>
                <a href='{$smarty.server.REQUEST_URI}#'>{$node->menutext}</a>
        {elseif $node->type == 'separator'}
            <li class='separator'>
                <hr class='separator' />
        {else}
            <li{if $node->parent == true || $node->haschildren == true} class='parent'{/if}>
                <a href='{$node->url}'{if $node->target != ''} target='{$node->target}'{/if}>{$node->menutext}</a>
        {/if}
    {/foreach}

{repeat string='</li></ul>' times=$node->depth-1}</li>
    </ul>
{/if}
IK hoor graag of het werkt.
mev
Power Poster
Power Poster
Posts: 371
Joined: Wed Apr 25, 2007 5:00 pm

Re: Simplex- responsive toont geen submenu's op apple touch

Post by mev »

Tuuuuurlijk hoor je dat nog Pascal !
Na 't weekend!

Alvast super bedankt
willemijn
Post Reply

Return to “Dutch - Nederlands”