Как я могу получить доступ к виджетам дочерних страниц страницы на Apostrophe CMS

У меня есть следующий код на одной из страниц моего проекта:

{% if data.page %}
    <ul>
    {%for child in data.page._children %}
    <li><a href="{{ child._url}}"></a>{{child.title}}
    <p>{{ apos.area(child, 'excerpt', 
            { widgets: 
                { 'apostrophe-rich-text': 
                    {
                    toolbar: [ 
                       'Styles', 
                       'Bold', 
                       'Italic', 
                       'Link',
                       'Unlink'] 
                    }
                }
            })
        }}
    </p>
    </li>
  {% endfor %}
  </ul>
{% endif %}

Где «отрывок» - это область на всех дочерних страницах текущей страницы, но когда страница отображается, я вижу только пустое поле: пустое поле

Я вижу в документации нечто похожее как: дочерние элементы и объединение, но я не уверен, где разместить пример кода, чтобы это работало (возможно, документация недостаточно ясна).

Пожалуйста, дайте мне совет, спасибо.


person Oscar Rivas    schedule 26.05.2018    source источник
comment
Вы не получаете ошибок ни на сервере, ни в консоли браузера? Я использовал ваш точный код выше, и все заработало, как ожидалось. Вы уверены, что вошли в систему?   -  person Stuart Romanek    schedule 27.05.2018
comment
да, я вошел в систему, но не вижу кнопок виджетов ... возможно, проблема вызвана моей установкой апострофа. Так или иначе, я реализовал решение на основе модуля апостроф-блог.   -  person Oscar Rivas    schedule 01.06.2018


Ответы (1)


Теперь существует официальный HOWTO, отвечающий на этот вопрос на сайт документации Apostrophe. Вкратце, ответ заключается в том, что вы должны настроить apostrophe-pages для загрузки не только базовой информации о связанных страницах. Конечно, есть компромисс производительности, но вы можете ограничить это, указав Apostrophe загружать изображения только для одноэлементного имени или имени области, которое вы используете для этой цели.

person Tom Boutell    schedule 10.06.2018