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.039
Webseite

Re:

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)


Ubuntu 12.04 mit KDE und Kubuntu 16.04 - FOSS Fan

Offline

#2 17. Mai 2015 12:37

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

Re:

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.039
Webseite

Re:

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


Ubuntu 12.04 mit KDE und Kubuntu 16.04 - FOSS Fan

Offline

#4 17. Mai 2015 12:51

cyberman
Moderator
Ort: Dohna / Sachsen
Registriert: 13. September 2010
Beiträge: 6.741
Webseite

Re:

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.


1. Wie bekomme ich hier schnelle Hilfe?
2. HowTo: Fehlersuche bei CMSMS
---
„First they ignore you, then they laugh at you, then they fight you, then you win.“ Mahatma Ghandi

Offline

#5 17. Mai 2015 13:06

nockenfell
Moderator
Ort: Lenzburg, Schweiz
Registriert: 09. November 2010
Beiträge: 2.807
Webseite

Re:

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, Revisions

Offline

#6 17. Mai 2015 13:26

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

Re:

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)


Ubuntu 12.04 mit KDE und Kubuntu 16.04 - FOSS Fan

Offline

#7 17. Mai 2015 13:34

nockenfell
Moderator
Ort: Lenzburg, Schweiz
Registriert: 09. November 2010
Beiträge: 2.807
Webseite

Re:

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, Revisions

Offline

#8 17. Mai 2015 13:39

cyberman
Moderator
Ort: Dohna / Sachsen
Registriert: 13. September 2010
Beiträge: 6.741
Webseite

Re:

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

Nix dramatisches, nur Smarty 3 Style wink

{$childsarethere = "true"}

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


1. Wie bekomme ich hier schnelle Hilfe?
2. HowTo: Fehlersuche bei CMSMS
---
„First they ignore you, then they laugh at you, then they fight you, then you win.“ Mahatma Ghandi

Offline

#9 17. Mai 2015 13:52

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

Re:

@Cyberman

schon geändert.

MfG
Jan


Ubuntu 12.04 mit KDE und Kubuntu 16.04 - FOSS Fan

Offline

Fußzeile des Forums

Powered by FluxBB