Цикл Foreach в Ghost CMS возвращает ноль

В настоящее время настраиваю простой сайт с использованием Ghost CMS. По умолчанию на домашней странице есть список сообщений, которые она извлекает с помощью цикла foreach. Я пытаюсь воссоздать это на странице сообщений, но ничего не втягивается.

Файловая структура:

/theme
/theme/index.hbs
/theme/post.hbs

Код, который работает с index.hbs:

{{#foreach posts}}
<article class="{{post_class}}">
    <header class="post-header">
        <h2 class="post-title"><a href="{{url}}">{{{title}}}</a></h2>
    </header>
    <section class="post-excerpt">
        <p>{{excerpt words="26"}} <a class="read-more" href="{{url}}">&raquo;</a></p>
    </section>
    <footer class="post-meta">
        {{#if author.image}}<img class="author-thumb" src="{{author.image}}" alt="Author image" nopin="nopin" />{{/if}}
        {{author}}
        {{tags prefix=" on "}}
        <time class="post-date" datetime="{{date format='YYYY-MM-DD'}}">{{date format="DD MMMM YYYY"}}</time>
    </footer>
</article>
{{/foreach}}

Моя слегка урезанная версия, которую я использую на странице post.hbs:

<aside class="timeline">
    {{#foreach posts}}
        <h4 class="post-title"><a href="{{url}}">{{{title}}}</a></h4>
        <section class="post-meta">
            {{author}}
            {{tags prefix=" on "}}
            <time class="post-date" datetime="{{date format='YYYY-MM-DD'}}">{{date format="DD MMMM YYYY"}}</time>
        </section>
    {{/foreach}}
</aside>

Я предполагаю, что я не могу вызывать сообщения, находясь на странице сообщения, но я не уверен.


person itsclarke    schedule 10.11.2014    source источник
comment
не на 100% уверен в том, как работает ghost, но моя обычная работа с рулем - мой js получает данные, а затем передает их в шаблон руля, так как сформулирован ваш вопрос, похоже, что вы ожидаете, что шаблон руля будет тянуть сообщения сам вроде как Wordpress может это сделать   -  person Quince    schedule 11.11.2014
comment
Я считаю, что ваша догадка верна. Вы не можете позвонить posts на post.hbs. Вы могли бы использовать RSS-канал для создания списка с помощью javascript?   -  person mikedidthis    schedule 19.11.2014


Ответы (1)


Вы не можете просмотреть все сообщения на странице сообщения. Страница сообщения предназначена специально для одного сообщения. Вы можете создавать собственные статические страницы, которые звучат так, как вы хотите.

Что вы хотите сделать, так это создать пустое сообщение с заголовком и URL-адресом страницы (допустим, URL-адрес страницы blog.com/stuff). Сделайте этот пост статической страницей. Затем в файлах вашей темы создайте новый файл с именем page-stuff.hbs (это URL-адрес статической страницы). Затем вы можете выполнить цикл foreach для сообщений и получить все, что захотите.

person howtoinstallghost    schedule 09.12.2014