We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 9932
    • 66 Posts
    Такая проблема. Для вывода динамического контента привязанного к странице делаю следующее:
    1. создаю TV который возвращает number. это будет номер страницы где этот динамический контент и лежит. называю его скажем LeftBanner.
    2. создаю сниппет DinamicContent
    $tvname = isset($tvname) ? $tvname : "";
    if(empty($tvname)) return "";
    $arr = $modx->getTemplateVarOutput($tvname);
    $docid = $arr[$tvname];
    if(empty($docid)) return "";
    $doc = $modx->getDocumentObject('id',$docid);
    return $modx->parseDocumentSource($doc['content']);
    


    3. На странице где нужно вставить динамический контент с другой страницы в поле "Параметры (TV)" для LeftBanner ставлю id той страницы.
    4. В шаблоне вставляю вызов сниппета [!DinamicContent?tvname=`LeftBanner`!]
    В результате для тех страниц у которых есть TV с номером какой либо другой страницы вставляется ее контент.
    Теперь проблема smiley Все вроде работает хорошо но если на той странице с динамическим контентом есть вызов сниппета то возвращается не его результат а собственно вызов сниппета. Что то типа [!Snippet?param=`value`!] что меня совсем не устраивает sad ...
    Поэтому 2 вопроса:
    1. Как это можно обойти?
    2. Возможно есть какой то другой способ, а то мне кажется что я замудрил smiley
    P.S. надеюсь что объяснил все понятно.
      • 2971
      • 28 Posts
      Сходная проблема.. создал сниппет, а он выводится просто текстом и не парсится, что делать ? huh

      так.. надо еще подробнее =) Есть список статей, он выводится с помощью Ditto в шаблоне для Ditto  есть строчка:
      [!MyTrunc? &what=`[+project_description+]` &len=`80`!]. Сниппет установлен (нажал "Новый сниппет", написал пхп код, сохранил). В итоге выводится на страницу [!MyTrunc? &what=`Подстановленный текст` &len=`80`!]

      Еще поправочка: один из элементов, выводимых ditto все-таки обрабатывается и делает подстановку..
        • 2971
        • 28 Posts
        Ну народ, никто не знает huh embarrassed
          • 31213
          • 153 Posts
          в вызов дитто добавь &hiddenFields=`project_description`
            • 2971
            • 28 Posts
            Проблема решилась, но осталась непонятой ее причина...
            Итак: в чанке шаблона для Ditto делаем вызов:
            [[MyTrunc? &what=` [+project_description+] ` &len=`80` ]]

            В случае если project_description содержит:
            test test test test test

            то все парсится нормально,
            если же переменная в виде (с символом перевода строки):
            test test test 
            test test
            

            то в браузере получаем
            [[MyTrunc? &what=` test test test 
            test test ` &len=`80` ]]
            


            Из чего можно сделать логичное умозаключение, что после перевода строки вызов сниппета перестает отрабатываться.. Какое может быть решение данной проблемы, помимо того, что в этом поле не ислользовать клавишу Enter smiley)
            Или же надо поменять тип поля?

            TV Поле project_description определено как Texarea(Mini)