Как отображать вывод json в компоненте Octobercms

В то время я столкнулся с проблемой при создании компонента для моего плагина в 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. Как я могу убедиться, что могу показывать имена тегов?

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

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

person Wouter    schedule 15.08.2015    source источник


Ответы (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 }} вместо {{ tag }}

person Pierre-André Vullioud    schedule 18.08.2015