We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 25463
    • 61 Posts
    Добрый день !
    Я пытаюсь создать свою TV-переменную, которая бы содержала список дочерних разделов для документа
    Код ее следующий:
    @EVAL $parent=$modx->documentIdentifier; $children = $modx->db->makeArray($modx->db->query(’select * from modx_site_content where deleted=0 and parent=’.$parent.’ order by id’)); foreach($children as $child) {$output .= $child[’pagetitle’]." (id=".$child[’id’].")==".$child[’id’]."||"; } return $output;
    Почему-то не определяется значение $parent
    Не подскажете, каким образом можно получить внутри данного кода id текущего документа ?
    Известно, что работа с документом ведется не в режиме добавления, а в режиме редактирования, т.е., документ уже создан.
      • 33694
      • 742 Posts
      Создайте сниппет и запихните туда весь код. А в TV сделайте так: @EVAL $modx->evalSnippet(’snippetname’); Должно нормально работать.

      ID текущего документа у вас правильно определяется — через $modx->documentIdentifier.
        • 25463
        • 61 Posts
        Попробовал. К сожалению, в этом случае при открытии документа выдается ошибка.
        Возможно, documentIdentifier в данном случае не выдает результат.
          • 17459
          • 268 Posts
          @EVAL $parent=$modx->documentIdentifier; $children = $modx->getDocumentChildren($parent); foreach($children as $child) {$output .= $child[’pagetitle’]."==".$child[’id’]."||"; } return $output;

          если так заработает, то потом попробуйте

          @EVAL $parent=$modx->documentIdentifier; $children = $modx->getDocumentChildren($parent); foreach($children as $child) {$output .= $child[’pagetitle’]." (id=".$child[’id’].")==".$child[’id’]."||"; } return $output;
            • 25463
            • 61 Posts
            Попробовал. Не работает.
            Вернее, не работает $modx->documentIdentifier.
            Возможно, id в данном случае надо получать иначе.
              • 17459
              • 268 Posts
              странно...

              попробуйте сделать ТВ с @EVAL return $modx->documentIdentifier;

              и вставить в шаблон [*ТВ*]

              он не покажет ид?..

              обычно я делал именно так как писал выше и всё работает (скопировано вообщем-то с модх.ру)