2015-08-15 3 views
1

В то время я столкнулся с проблемой при создании компонента для моего плагина в octobercms. Проблема заключается в том, когда я запускаю следующий запрос:Как рендерить json-выход в компоненте Octobercms

public function onRender(){ 

    $blogs = BlogPost::where('published', 1) 
      ->where('published_at', '<=', 'NOW()') 
      ->orderBy($this->property('sortOrderBy'), $this->property('sortOrder')) 
      ->with('tags') 
      ->paginate($this->property('postsPerPage')); 
    $this->blogs = $blogs; 
    //print_r($blogs); 
} 

Но если я хочу, чтобы отобразить результат тегов, которые принадлежат к сообщению в HTML компонента с {{}} пост. Теги приходят json output. Как я могу убедиться, что я могу показать имена тегов?

Мой компонент файла:

{% for post in posts.blogs %} 
<p>{{ post.titel }}</p> 
<p>tags: {{ post.tags }}</p> 
{% endfor %}  

ответ

1

post.tags представляет собой набор тегов. Более подробная информация о коллекциях https://octobercms.com/docs/database/collection

Попробуйте этот код, чтобы просмотреть коллекцию тегов:

{% for post in posts.blogs %} 
    <p>{{ post.titel }}</p> 
    <p>tags: 
    {% for tag in post.tags %} 
     {{ tag }} 
    {% endfor %} 
    </p> 
{% endfor %} 
{% endfor %} 

Может быть также {{tag.name}} или {{tag.title}} вместо {{метка}}

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