2016-12-20 2 views
0

Я борюсь с показом некоторого контента на Apsotrophe CMS.Как вы показываете содержимое виджета части в индексе страницы?

Я использую apostrophe-pieces создать поле Описания:

{ 
    name: 'description', 
    label: 'Description', 
    type: 'singleton', 
    widgetType: 'apostrophe-rich-text', 
    options: { 
    toolbar: [ 'Bold', 'Italic', 'Link', 'Unlink' ] 
    } 
} 

Я хотел бы, чтобы показать в представлении index.html заказной страницы.

Однако, используя {{ apos.singleton(data.piece, 'description', 'apostrophe-rich-text') }}, выдается сообщение об ошибке, и он не может отобразить страницу. Он работает только в show.html

В /lib/modules/basics-pages/views/index.html, мой код:

{% extends "apostrophe-pages:outerLayoutBase.html" %} 

{% block content %} 
    <div class="basics-grid"> 
    {% for piece in data.pieces %} 
     <article> 
     <h4>{{ piece.title }}</h4> 
     {% set image = apos.images.first(piece.icon) %} 
     {% if image %} 
      <img src="{{ apos.attachments.url(image, { size: 'one-sixth' }) }}" /> 
     {% endif %} 
     <div class="desc"> 
     {{ apos.singleton(data.piece, 'description', 'apostrophe-rich-text') }} 
     </div> 
     </article> 
    {% endfor %} 
    </div> 
{% endblock %} 

Может кто-нибудь помочь мне с правильным кодом, чтобы использовать, чтобы показать содержимое одноплодного виджета?

ответ

0

Как вы знаете, я ведущий разработчик Apostrophe на P'unk Avenue.

Этот код:

{% for piece in data.pieces %}

Указывает у вас есть переменная цикла под названием piece. Это то, что ты хочешь.

Этот код:

{{ apos.singleton(data.piece, 'description', 'apostrophe-rich-text') }}

выглядит для piece как свойство data и игнорирует переменную цикла.

Удалите data., и вам должно быть хорошо идти.

Вы хотите добавить:

{{ apos.singleton(piece, 'description', 'apostrophe-rich-text', { edit: false }) }}

Чтобы избежать инлайн редактирования на странице индекса, который был бы более запутанной, чем полезной.

Смежные вопросы