Âñåì ïðèâåò!
âîò çäåñü
http://modxcms.com/forums/index.php/topic,6107.0.html ÿ èçëîæèë êðàòåíüêî, êàê ìîæíî çàþçàòü setPlaceholder è getChunk.
ñòîëêíóëñÿ ñî ñëåäþùåé ïðîáëåìîé. åñòü òàêîé ñíèïïåò:
// ïîëó÷àþ ïîäðàçäåëû, ñòàíäàðòíàÿ ôóíêöèÿ
$children = $modx->getActiveChildren($pid, 'menuindex', 'ASC', 'id, pagetitle, description, alias, longtitle, menutitle, introtext');
// ïîäñ÷èòûâàþ äåòåé
$c = count($children);
// äåëàþ öèêë äëÿ âûâîäà
for($x=0; $x<$c; $x++)
{
$id = $children[$x]['id'];
$pagetitle = $children[$x]['pagetitle'];
$modx->setPlaceholder('id', $id);
$modx->setPlaceholder('title', $pagetitle);
$output .= $modx->getChunk($chunk);
}
return $output;
íî âîò òóò-òî è çàñàäà, òàê êàê â öèêëå, êàê ÿ ïîíèìàþ, âñ¸ ìàññèâû -- è $pagetitle, è modx->setPlaceholder(’title’, $pagetitle), a âîò getChunk -- íåò, ò.å. ìíå $c ðàç âûâîäèòñÿ ÷àíê, íî ñ âõîäíûìè ïàðàìåíòðàìè ñ ïîñëåäíåãî öèêëà.
ìîæíî â öèêë çàñóíóòü, ê ïðèìåðó, $output .= $modx->getPlaceholder(’title’); -- âñ¸ íîðìàëüíî, ïîëó÷àåì $c ðàçíûõ $pagetitle. ïîêîïàë äîêóìåíòàöèþ, äà, òàê è åñòü, getPlaceholder -- array, à âîò getChunk -- íåò.
èëè ÿ òóïëþ ñî ñòðàøíîé ñèëîé è ïðè÷èíà â ÷¸ì -òî äðóãîì?
Ðåøåíèå ïðîáëåìû
ÿ òóò íèæå ñàì ñå îòâå÷àë, ÷òî ïðîáëåìà â òîì, ÷òî ÷àíê íå ïàðñèòñÿ, â ÷¸ì è âñÿ çàñàäà, ïðîáëåìà ðåøàåòñÿ ñëåäóþùèì îáðàçîì (ïðîãðàììåðû, ïîïðàâüòå ìåíÿ, ïîæàëóéñòà, à òî ÿ íå âàðþ â PHP, íàêîñÿ÷èòü ìîãó
):
åñòü ôóíêöèÿ $modx->setPlaceholder ($fields, $values), åñòü $modx->getChunk($name) -- æåëàþùèå ìîãóò çàëåçòü â ïàðñåð è ãëÿíóòü, ÷¸ äà êàê
êîðî÷å, â öèêë íàäî âñòàâèòü ñëåäóþùåå:
$a = $modx->getChunk($chunk);
$fields = array ('[+id+]', '[+title+]');
$values = array ($id,$title);
$output .= str_replace ($fields, $values, $a);
âðîäå, ðàáîòàåò:)