В то время я столкнулся с проблемой при создании компонента для моего плагина в o 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 %}
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}}
Других решений пока нет …