We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 26747
    • 7 Posts
    нужно выводить название текущего документа и папок (1й и 2й родитель) со сылками

    что-то типа Breadcrumbs, но он выводит самые верхние уровни, что не надо

      • 27968
      • 19 Posts
      Если честно, то ни одного сниппета, выполняющего такую задачу, вспомнить не могу. В MODx вообще как-то вяло реализован лимитированный вывод родителей/соседей. Я бы вывел название текущего документа с помощью [*pagetitle*], 1 и 2 родитель с помощью Wayfinder и UltimateParent, ну, или что-то типа Navigator или PrevJumpNext бы использовал.
        • 18573
        • 30 Posts
        ну ленивые ну капец


        <?php
        $currId = $modx->documentIdentifier; // ид текущего дока
        
        $currDocInfo = $modx->getDocument($id=$currId, $fields='id,pagetitle', $published=1, $deleted=0);
        $parentDocInfo = $modx->getParent($id=$currId, $active=1, $fields='id,pagetitle');
        
        $outerChunk = $outerChunk ? $outerChunk : '<div>[+currChunk+] [+parentChunk+]</div>';
        $currChunk = $currChunk ? $currChunk : '<h1><a href="[+url+]">[+pagetitle+]</a></h1>';
        $parentChunk = $parentChunk ? $parentChunk : '<h2><a href="[+url+]">[+pagetitle+]</a></h2>';
        
        $currChunkStr = str_replace(
        array('[+pagetitle+]','[+url+]'), 
        array($currDocInfo['pagetitle'],$modx->makeUrl($currDocInfo['id'],'','','full')),
        $currChunk);
        
        $parentChunkStr = str_replace(
        array('[+pagetitle+]','[+url+]'), 
        array($parentDocInfo['pagetitle'],$modx->makeUrl($parentDocInfo['id'],'','','full')),
        $parentChunk);
        
        echo str_replace(
        array('[+currChunk+]','[+parentChunk+]'),
        array($currChunkStr, $parentChunkStr),
        $outerChunk);
        ?>
        


        про именование переменных лучше почитать в манах, тут я его к сожалению не соблюдаю