Noch kein Mitglied? Hier registrieren, um das Forum zu nutzen, News einzureichen, zu kommentieren oder Seiten in der Galerie einzustellen.
Vanilla 1.1.2 Forum von Lussumo. Weitere Informationen: Dokumentation, Community.
1 bis 14 von 14
<?php
$ph_name = isset($options) ? $options : $modx->getOption('ph_name', $scriptProperties, '');
$ph_value = isset($input) ? $input : $modx->getOption('ph_value', $scriptProperties, '');
$modx->setPlaceholder($ph_name, $ph_value);
return;
<?php
return array_search($input, explode(",", $options));
[[toPlaceholder? &ph_name=`menu_IDs` &ph_value=`[[Wayfinder? &rowTpl=`@CODE [[+wf.docid]],[[+wf.wrapper]]` &outerTpl=`@CODE [[+wf.wrapper]]` ...weitere Parameter]]`]]Dieser Aufruf erfolgt vor dem eigentlichen WF-Aufruf. Als weitere Parameter sollten alle Parameter eingefügt werden, die auch für den eigentlichen WF-Aufruf genutzt werden und die Filterung der Menüausgabe beeinflussen, damit die Liste der IDs mit dem Menü übereinstimmt.
[[+wf.docid:array_search=`[[+menu_IDs]]`]]
[[+wf.docid:array_search=`[[+menu_IDs]]`:mod:is=`0`:then=`ungerade`:else=`gerade`]]
[[getResources? &parents=`0` &depth=`0` &tpl=`@INLINE [[+id]]` &sortby=`{"menuindex":"ASC"}` &toPlaceholder=`menu_IDs` &limit=`0` &outputSeparator=`,`]]
Wenn ich mich nicht täusche, gibt's keinen Iterator im Wayfinder.
[[+menuindex:mod:is=`0`:then=`menuclass`:else=`menuclass_alt`]] auch funktionieren.
Ist relativ unnötig, da der Menüindex eigentlich sauber sein sollteEs werden jedoch auch versteckte, unveröffentlichte und gelöschte (Papierkorb) Resourcen im Menüindex mitgezählt und man kann ihn auch für jede Resource manuell setzen.
<?php
/*
[[wf.setCounters? &name=`myMenu` &list=`[[Wayfinder?
&rowTpl=`@CODE "[[+id]]":[[+parent]],[[+wf.wrapper]]`
&outerTpl=`@CODE [[+wf.wrapper]]`
]]
*/
$name = $modx->getOption('name', $scriptProperties, 'default');
$list = $modx->getOption('list', $scriptProperties, '');
$list = json_decode("{".trim($list, ",\n")."}", true);
if (!is_array($list) || !count($list)) return;
$parent = array();
foreach ($list as $id => $pos) {
$parent[$pos][] = $id;
}
$list = array();
foreach ($parent as $children) {
foreach ($children as $pos => $id) {
$list[$id] = $pos;
}
}
$GLOBALS["wf_counter_".$name] = $list;
return;
<?php
$name = isset($options) ? $options : 'default';
return $GLOBALS["wf_counter_".$name][$input];
[[wf.setCounters?
&name=`menu01`
&list=`[[Wayfinder?
&rowTpl=`@CODE "[[+wf.docid]]":[[+parent]],[[+wf.wrapper]]`
&outerTpl=`@CODE [[+wf.wrapper]]`
...weitere Wayfinder-Parameter
]]`]]
[[+wf.docid:wf.getCounter=`menu01`]]
[[+wf.docid:wf.getCounter=`menu01`:mod:is=`0`:then=`ungerade`:else=`gerade`]]
$docInfo['level'] = $level;
$docInfo['first'] = $firstItem;(Zeile Nr. 225)
$docInfo['counter'] = $counter;
Sams zweite Methode funktioniert nur bei fortlaufenden IDs. Sind aber die IDs durcheinander weil nachträglich sortiert wurde, funktioniert der Ablauf nicht mehrDann funktioniert bei Dir vermutlich das wf.getCounter-Snippet nicht. Überprüfe bitte, ob Du es korrekt angelegt hast (Name und Inhalt) und ins Wayfinder-Template-Chunk eingebunden hast.
[[+wf.docid:wf.getCounter=`menu01`]] einbinden. Wenn damit die IDs zurückgegeben werden, wird das Snippet nicht ausgeführt.
Kann es sein, dass das Snippet nur bestimmt, ob die ID gerade oder ungerade ist?Nein.
1 bis 14 von 14