We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 5020
    • 14 Posts
    Всем привет, с MODx недавно, выбрал его для своего блога, понравилась CMS, все делаю по урокам какие найду, но вот по комментариям не нашел ничего подходящего JOT не понравился, и встала проблема вывода комментариев к статьям.

    Для статей использую (этот вызов в чанке):

    [[Ditto? &tpl=`article` &dateSource = `pub_date` &dateFormat=`%d.%m.%Y` &paginate=`1` &display=`2` &depth=`2`]]
    <div class="pagination">Страницы: [[dittoSplitPagination]][+previous+][+splitPages+][+next+]</div>

    Комментарии взял просто DISQUS (это сервис комментариев disqus.com, увидел тут http://efimov.ws/),
    для статей отдельный шаблон, после [*content*] в конце шаблона вставляю код для комментариев, форма выводится везде, после списка заголовков статей с кратким описанием, и также после самой статьи как и нужно.

    Я сделал для статей TV Имя параметра: disqus, тип ввода: DropDownListMenu, возможные значения 0||1, и решил для каждой статьи просто включать или выключать возможность комментировать, установил Phx для проверки параметра disqus в шаблоне вывода статей.

    В шаблоне сделал так где должны быть комменты: [+phx:if=`[*disqus*]`:is=`1`:then=`{{comments}}`+]
    содержимое чанка {{comments}}:

    <div id="disqus_thread"></div>
    <script type="text/javascript" src="/assets/templates/site/js/disqus.js"></script>


    Но не работает такая конструкция, если написать [+phx:if=`[*disqus*]`:is=`1`:then=`бла бла бла`+] ничего не выведет, если написать [+phx:if=`[*disqus*]`:is=`1`:then=`{{comments}}`+]

    выводится часть самого кода вызова [+phx:if=`1`:is=`1`:then=`
    далее форма комментариев подключается
    и после `+] в общем как текст обычный выводится, как то разбивается, и это независимо от параметров TV [*disqus*] которые отдельно выводятся хорошо. Такое ощущение что не работает Phx, как проверить? Работает плагин или нет? И что посоветуете по моей беде?

    содержимое у меня такое плагина Phx:

    include_once $modx->config[’rb_base_dir’] . "plugins/phx/phx.parser.class.inc.php";
    $e = &$modx->Event;
    $PHx = new PHxParser($phxdebug,$phxmaxpass);
    switch($e->name) {
    case ’OnParseDocument’:
    $PHx->OnParseDocument();
    break;
    }

      • 33303
      • 31 Posts
      1. Я бы попробовал добавить else в вашу строку -
      [+phx:if=`[*disqus*]`:is=`1`:then=`{{comments}}`:else=``+]

      2. Убедился бы в том стоит ли OnParseDocument в событиях к плагину.
      UPD.
      Попробовал бы изменить значение вашего TV DropDownListMenu, возможные значения
      Выключить комментарии==0||Включить комментарии==1
        • 5020
        • 14 Posts
        Спасибо!