Финансовая поддержка VPS, бесплатные дополнения и docs Донаты оплачивают сервер и двигают бесплатные дополнения MODX и документацию. Поддержать

Всего 126 103 комментария

Наумов Алексей
Наумов Алексей
Добрый день! Честно говоря, как помню, там нет привязок к id элемента или чего-то такое, по идее должны работать все. Может ошибки есть в консоли браузера или в логах?
Антон Тарасов
Антон Тарасов
а подробнее пожалуйста: какой текст ошибки в логе, может быть код ошибки? что необычного в сниппете/хуке/валидаторе? как вызываете весь сниппет? сложно угадать, не видя фактуры.
Konstantin
Konstantin
Сам написал сам ответил ))

оказалось что pdoresources не умеет отсекать родительские ветки как я полагал, поэтому нужно использовать конструкции с where

[[pdoResources?
    &parents=`0`
    &where=`{"parent:!=": "ID_ИСКЛЮЧАЕМОГО_РОДИТЕЛЯ"}`
    &tpl=`rowTpl`
]]
или так если несколько отсечений

[[pdoResources?
    &parents=`0`
    &where=`{"parent:NOT IN": [ID_РОДИТЕЛЬ1, ID_РОДИТЕЛЬ2]}`
    &tpl=`rowTpl`
]]
Zulya
Zulya
Ошибку нашла. В чанке tpl.ecMessages.article оказывается я не добавила
{if $message['replies_enable']?}
                <div class="ec-message__footer">
                    <a class="ec-message__footer-link js-ec-reply" href="javascript:void(0)"
                       data-ec-thread="{$message['thread_name']}"
                       data-ec-message="{$message['id']}">{'ec_fe_reply' | lexicon}</a>
                </div>
            {/if}
Теперь ссылка ответить появилась, но при клике на ссылку ответить ничего не происходит.
Zulya
Zulya
В чанке tpl.ecMessages.article есть такой код, который возможно отвечает за отображение ссылки «ответить», если включен repliesEnable в сниппете
[[!ecMessages? &tpl=`tpl.ecMessages.article` &votingEnable=`1` &votingAllowGuest=`1` &repliesEnable=`1` &limit=`0`]]
Вот код из чанка tpl.ecMessages.article:
{if $message['replies']?}
            {foreach $message['replies'] as $reply}
                <div id="ec-{$message['thread_name']}-reply-{$reply['id']}" class="ec-reply">
                    <div class="ec-reply__header">
                        <div class="ec-reply__meta">
                            <span class="ec-reply__author">{$reply['user_name']}</span>
                            <span class="ec-reply__date">{$reply['created_on'] | dateAgo}</span>
                        </div>
                    </div>
                    <p>
                        {$reply['text']}
                    </p>
                    {if $message['replies_enable']?}
                        <div class="ec-reply__footer">
                            <a class="ec-reply__footer-link js-ec-reply" href="javascript:void(0)"
                               data-ec-thread="{$message['thread_name']}"
                               data-ec-message="{$message['id']}"
                               data-ec-parent="{$reply['id']}">{'ec_fe_reply' | lexicon}</a>
                        </div>
                    {/if}
                </div>
            {/foreach}
        {/if}
Но под комментарием у меня не отображается ссылка «Ответить». В чем может быть ошибка? Подскажите пожалуйста. Спасибо!
Zulya
Zulya
Здравствуйте! Подскажите как использовать сниппет ecReplyForm чтобы форма добавления ответа была привязаны к конкрентному комментарию. Сейчас форма добавления ответа отображается не под комментарием, а за пределами всех комментарией. Жаль, что нет документации.