Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.

#1 17. Mai 2015 12:31

Janl
Server-Pate
Ort: Freistadt, Österreich
Registriert: 13. Dezember 2010
Beiträge: 1.231
Webseite

Kontrolle ob Seite Unterseiten hat

Hallo,

ich suche gerade ob ich IN eine Seite kontrollieren kann ob diese Unterseiten hat.
Dazu gibt es in MenuManager eine Reihe von $node-id und viele mehr, aber was ich brauche
"$node-haschildren" liefert ein leeres Ergebnis.

{$node-id} zeigt ID-Nummer
{$node-alias} zeigt Alias als Text.

{get_template_vars} zeigt keine brauchbare Werte.

Was übersehe ich?

MfG
Jan

Beitrag geändert von Janl (17. Mai 2015 12:31)


Kubuntu 22.04 - Win 11 pro / Kubuntu 20.04  - win10 pro

Offline

#2 17. Mai 2015 12:37

Klenkes
Server-Pate
Ort: 89428 Syrgenstein
Registriert: 17. Dezember 2010
Beiträge: 1.437

Re: Kontrolle ob Seite Unterseiten hat

Vielleicht kommst du mit {menu children_of=$page_alias} weiter. Gibt es Children, erfolgt eine Ausgabe, gibt es keine...
Geht bestimmt auch einfacher.

Offline

#3 17. Mai 2015 12:49

Janl
Server-Pate
Ort: Freistadt, Österreich
Registriert: 13. Dezember 2010
Beiträge: 1.231
Webseite

Re: Kontrolle ob Seite Unterseiten hat

Danke Klenkes

aber das funktioniert nicht so wie ich es brauche denn, wenn man in Seite Home ist, die keine Unterseiten hat, bekommt man trotzdem das ganze Menü.

Schau mal unten in http://stajl.xyz

Ich brauche irgendwelche Angabe dass es hier keine Unterseiten gibt.

MfG
Jan


Kubuntu 22.04 - Win 11 pro / Kubuntu 20.04  - win10 pro

Offline

#4 17. Mai 2015 12:51

Andynium
Moderator
Ort: Dohna / SN / Deutschland
Registriert: 13. September 2010
Beiträge: 7.018
Webseite

Re: Kontrolle ob Seite Unterseiten hat

Janl schrieb:

ich suche gerade ob ich IN eine Seite kontrollieren kann ob diese Unterseiten hat.

Ich hab solche (ähnliche) Fälle für mich immer so gelöst, dass ich im MenuManager dafür eine externe Variable gesetzt habe, die ich dann außerhalb dessen Schleife auswerten kann.

Offline

#5 17. Mai 2015 13:06

nockenfell
Moderator
Ort: Gontenschwil, Schweiz
Registriert: 09. November 2010
Beiträge: 2.934
Webseite

Re: Kontrolle ob Seite Unterseiten hat

Die ToolBox hat dazu einiges von Haus auf eingebaut:

Ich zitiere die Hilfe:

hasChildren([$alias],[$assign])

Test if the specified page has children.

Arguments:

    [$alias] - (optional) The page alias or the page id to test. If no value is specified, the current page is used.
    [$assign] - (optional) The name of a variable to assign the results to.


Example:

{tbtools::hasChildren("","hasChildren")}
    {if $hasChildren}The current page has children{else}The current page has no children{/if}

getFirstChildAlias([$alias],[$assign],[$onlyInMenu] = true)

Return the alias of the first child page.

Argumente:

    [$alias] - (optional) The page alias or the page id to test. If no value is specified, the current page is used.
    [$assign] - (optional) The name of a variable to assign the results to.
    [$onlyInMenu] - (optional) only active pages in menu.


Example:

{tbtools::getFirstChildAlias("","firstChildAlias")}
    	The alias of the first child page is {$firstChildAlias}

getChildren([$alias],[$showinactive],[$assign])

Return an array containing information about a pages children (if any)

Arguments:

    [$alias] - (optional) The page alias or the page id to test. If no value is specified, the current page is used.
    [$showinactive] - (optional) Wether inactive pages should be included in the result (defaults to false).
    [$assign] - (optional) The name of a variable to assign the results to.


Fields:

    alias - the page alias of the child
    id - the page id of the child
    title - the title page of the child page.
    menutext - the menu text of the child
    show_in_menu - wether this child page is visible in menus.
    active - wether this child page is active.
    type - The type of child content object.


Example:

{tbtools::getChildren("","","children")}
{if count($children)}
   {foreach from=$children item="child"}
      {if $child.show_in_menu}
        Child:  id = {$child.id} Alias = {$child.alias}

      {/if}
   {/foreach}
{/if}}

Der Hilfe-Teil ist gerade auf Englisch, da ich bei meiner Seite zur Zeit die deutschen Sprachpakete nicht installiert habe.


[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog  /   Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox

Offline

#6 17. Mai 2015 13:26

Janl
Server-Pate
Ort: Freistadt, Österreich
Registriert: 13. Dezember 2010
Beiträge: 1.231
Webseite

Re: Kontrolle ob Seite Unterseiten hat

Danke allen,

ich habe es so gelöst wie Cyberman es beschreibt,

 {if $node->children_exist == true} »
{assign var=childsarethere value="true"}
{/if}

und dann im Template

{if $childsarethere == "true"}zeige vertikales Submenü{/if}

Damit ist das einfache responsive Design für Kommentar bereit.
http://stajl.xyz

Toolbox werde ich sicher richtig anschauen, da hat man wenigstens support oder . . ;-)

MfG
Jan

Beitrag geändert von Janl (17. Mai 2015 13:26)


Kubuntu 22.04 - Win 11 pro / Kubuntu 20.04  - win10 pro

Offline

#7 17. Mai 2015 13:34

nockenfell
Moderator
Ort: Gontenschwil, Schweiz
Registriert: 09. November 2010
Beiträge: 2.934
Webseite

Re: Kontrolle ob Seite Unterseiten hat

Janl schrieb:

Toolbox werde ich sicher richtig anschauen, da hat man wenigstens support oder . . ;-)

Meistens. Aktuell kommt es immer darauf an, wieviel Zeit ich habe. Aber Grunsätzlich kommst du dazu guten Support von mir oder anderen Forenteilnehmern.


[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog  /   Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox

Offline

#8 17. Mai 2015 13:39

Andynium
Moderator
Ort: Dohna / SN / Deutschland
Registriert: 13. September 2010
Beiträge: 7.018
Webseite

Re: Kontrolle ob Seite Unterseiten hat

Janl schrieb:
 {if $node->children_exist == true} »
{assign var=childsarethere value="true"}
{/if}

Nix dramatisches, nur Smarty 3 Style wink

Damit sparst du dir den Aufruf des Plugins assign (Stichwort Performance big_smile).

Offline

#9 17. Mai 2015 13:52

Janl
Server-Pate
Ort: Freistadt, Österreich
Registriert: 13. Dezember 2010
Beiträge: 1.231
Webseite

Re: Kontrolle ob Seite Unterseiten hat

@Cyberman

schon geändert.

MfG
Jan


Kubuntu 22.04 - Win 11 pro / Kubuntu 20.04  - win10 pro

Offline