I'm using Rain Lab Post in October CMS. I have no problem using the blogPost component and get post from a single category. E.g. This is a partial where show the last 5 post from a category
[blogPosts]
pageNumber = "{{ :page }}"
categoryFilter = "{{ slug }}"
postsPerPage = 5
noPostsMessage = "No news in this category"
sortOrder = "published_at desc"
categoryPage = 404
postPage = "singlePost"
==
<li> <a href="#">{{category.name}}</a>
<ul class="drop-down full-width col-5 hover-expand">
<li class="validation">
<h2 class="mm-title">{{category.name}}</h2>
</li>
{% for post in posts %}
<li>
{% for image in post.featured_images|slice(0,1) %}
<a href="{{ post.url }}"><img src="{{ image.path }}" alt=""></a>
{% endfor %}
<h3><a href="{{ post.url }}">{{post.title}}</a></h3>
</li>
{% endfor %}
</ul>
</li>
But now, I'm working in the home page and want to display the last post from all categories. 1 per category, 5 categories, combined.
Somebody knows how to do this?
Thanks in advance
Thanks to first aproach from Ahmed Essam, I resolve this in the next way:
function onStart(){
$categories = Db::table('rainlab_blog_categories')->get();
foreach ($categories as $key=>$category){
if($category->slug != 'uncategorized'){
$first = \Rainlab\Blog\Models\Category::with('posts')->where('id',$category->id)->first();
$data[] = $first->posts[0];
}
}
$this['posts'] = $data;
}
In the template I can use in this way
{% for post in posts %}
<li class="col-md-6 col-sm-6">
<div id="container">
{% for image in post.featured_images | slice(0,1) %}
<div class="thumb"><img src="{{image.path}}" alt=""></div>
{% endfor %}
<div class="content">
{% for category in post.categories %}
<div class="cat">{{category.name}}</div>
{% endfor %}
<h3><a href="{{ post.url }}">{{ post.title )}}</a></h3>
</div>
</div>
</li>
{% endfor %}