Блог RainLab — OctoberCMS — Показать сообщения из определенной категории

Я нашел следующий код в Posts.php — я думаю, что мне по сути нужно продублировать это и превратить в публичную функцию, ограничивающую категорию отдельным идентификатором. Хотя это кажется излишним? Могу ли я запросить текущую функцию в интерфейсе?

Вот код posts.php:

protected function listPosts()
{
$category = $this->category ? $this->category->id : null;

/*
* List all the posts, eager load their categories
*/
$isPublished = !$this->checkEditor();

$posts = BlogPost::with('categories')->listFrontEnd([
'page'       => $this->property('pageNumber'),
'sort'       => $this->property('sortOrder'),
'perPage'    => $this->property('postsPerPage'),
'search'     => trim(input('search')),
'category'   => $category,
'published'  => $isPublished,
'exceptPost' => $this->property('exceptPost'),
]);

/*
* Add a "url" helper attribute for linking to each post and category
*/
$posts->each(function($post) {
$post->setUrl($this->postPage, $this->controller);

$post->categories->each(function($category) {
$category->setUrl($this->categoryPage, $this->controller);
});
});

return $posts;
}

на переднем конце это:

{% for post in posts %}
<li>
<h3><a href="{{ post.url }}">{{ post.title }}</a></h3>
</li>
{% else %}
<li class="no-data">{{ noPostsMessage }}</li>
{% endfor %}

Может ли кто-нибудь указать мне правильное направление?

Ура,

0

Решение

Не уверен, что вы хотите достичь. Вы просто хотите показать сообщения только из определенной категории?
Установите параметр «фильтр категорий» вашего компонента blogPosts для параметра определенной категории.

[blogPosts newsList]
pageNumber = "{{ :page }}"categoryFilter = "news"postsPerPage = 100
noPostsMessage = "No posts found"sortOrder = "published_at desc"categoryPage = "blog/category"postPage = "blog/post"==
{% component 'newsList' %}

это покажет сообщения только из категории «новости»

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]