İçereği Atla
Menü
Bu soru işaretlendi
2 Cevaplar
6590 Görünümler

I am customizing the latest blog page. There I need to show highest 9posts on one page, if the number of posts are greater then they will go to next page. On website shop I saw it called website.pager template:

<template id="pager" name="Pager">    
<ul t-if="pager['page_count'] > 1" t-attf-class="#{ classname or '' } pagination" t-att-style="style or None">
<li t-att-class=" 'disabled' if pager['page']['num'] == 1 else None ">
<a t-att-href=" pager['page_previous']['url'] if pager['page']['num'] != 1 else None">Prev</a>
</li>
<t t-foreach="pager['pages']" t-as="page">
<li t-att-class=" 'active' if page['num'] == pager['page']['num'] else None ">
<a t-att-href="page['url']" t-raw="page['num']"></a>
</li>
</t>
<li t-att-class=" 'disabled' if pager['page']['num'] == pager['page_count'] else None ">
<a t-att-href="pager['page_next']['url'] if pager['page']['num'] != pager['page_count'] else None">Next</a>
</li>
</ul>
</template>

How can I implement such pagination on website blog?

Avatar
Vazgeç
Üretici

PLEASE. DELETE THIS POST.

En İyi Yanıt

There is pagination on the blog page too. It paginates after 20 posts. You'll see <t t-call="website.pager"> is also used here.

Avatar
Vazgeç
Üretici

I need to show 9posts per page. I have found the base code where 20 is written, but I am unable to inherit that in my module.

What if you duplicated the module, gave it a different name "website_blog_custom" and changed the _blog_post_per_page = 9? Kind of a hacky way of doing it, but maybe this will work for you?

Üretici

I have inherited that class of the controller. Now it works. Thanks.

İlgili Gönderiler Cevaplar Görünümler Aktivite
2
Haz 22
3235
2
Kas 21
2984
2
Şub 16
4072
1
Tem 24
7357
3
Haz 24
2480