如何在 Octobercms 组件中呈现 json 输出
How to render json output in Octobercms component
当时我 运行 在 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);
}
但是如果我想在带有 {{}} post 的组件的 html 中显示属于 post 的标签的结果。标签来自 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 }}
当时我 运行 在 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);
}
但是如果我想在带有 {{}} post 的组件的 html 中显示属于 post 的标签的结果。标签来自 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 }}