Build customized page list widgets
| Kort |
|
|---|---|
[Plugin] PagelistПлагин вывода страниц через функцию по условиям (аргументам):
Примеры использования
// Вывести 5 последних страниц
{PHP|cot_pagelist(‘comlist’, 5}
// Вывести 5 последних страниц
{PHP|cot_pagelist(‘comlist’, 5, ‘page_date DESC’}
// Вывести 5 последних страниц суперадмина
{PHP|cot_pagelist(‘comlist’, 5, ‘page_date DESC’, ‘page_ownerid = 1’}
// Вывести 5 последних страниц раздела docs и его подразделов
{PHP|cot_pagelist(‘comlist’, 5, ‘page_date DESC’, ‘’, ‘single’, ‘docs’, ‘1’}
// Вывести 5 последних страниц, исключая разделы blog и system и их подразделы
{PHP|cot_pagelist(‘comlist’, 5, ‘page_date DESC’, ‘’, ‘black’, ‘blog;system’, ‘1’}
// Вывести 5 последних страниц из массива $some_array[] и их подразделов
{PHP.some_array|cot_pagelist(‘comlist’, 5, ‘page_date DESC’, ‘’, ‘array_white’, ‘$this’, ‘1’}
// Вывести страницы из массива $some_array[] и их подразделов с сортировкой по убыванию даты и разбивкой по 5 записей на страницу
{PHP.some_array|cot_pagelist(‘comlist’, 5, ‘page_date DESC’, ‘’, ‘array_white’, ‘$this’, ‘1’, 0, 0, ‘page’}
// Вывести страницы из массива $some_array[] и их подразделов с сортировкой по убыванию даты и разбивкой по 5 записей на страницу и ajax-паджинацией
{PHP.some_array|cot_pagelist(‘comlist’, 5, ‘page_date DESC’, ‘’, ‘array_white’, ‘$this’, ‘1’, 0, 0, ‘page’, ‘page2list’}
// Вывести 5 последних страниц, исключая разделы blog и system и их подразделы и закэшировать результат на 24 часа
{PHP|cot_pagelist(‘comlist’, 5, ‘page_date DESC’, ‘’, ‘black’, ‘blog;system’, ‘1’, 0, 0, ‘’, ‘’, ‘pagelist_blacklist’, 86400}
SED.by - создание сайтов, разработка плагинов и тем для Котонти
Bu gönderi Kort tarafından düzenlendi (2023-09-08 13:23, 2 yıllar önce)
|
| Trustmaster |
|
|---|---|
|
1) already implemented, download the latest version. 2) I doubt it's worth the effort. It is heavy on SQL and rarely really needed. 3) this is a good idea, you can add it to plugin issues directly on Github. Thanks for feedback! May the Source be with you!
|
| Uch |
|
|---|---|
|
Do you plan to make something like PageList for Forums posts? May be PostsList? |
| Trustmaster |
|
|---|---|
|
Currently not. May the Source be with you!
|
| Uch |
|
|---|---|
|
Приделал кэш. Скорость загрузки индекса выросла почти в три раза! |
| Macik |
|
|---|---|
|
Can you share this version with others? https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F |
| Uch |
|
|---|---|
|
It does not make sense, because i just want to see how it speeds up index page loading. And i have made a little improvement to use Cotonti chache system excluding possible pagination and cache cleaning (for page add and page edit events). So this is just an experiment. I pass a unique name of the variable containing the cache to the function, along with other parameters from TPL file. Now i have to make it sensitive to the pagination system. And i have to think how to clean the cache when new page is added or some page is deleted, given that cache variable has a unique name. And i have a main reason not to do it. I'm waiting for the official version of the plugin, knowing that the developers will make it better than me.
|
| Wadik |
|
|---|---|
|
А кеширование к этому чудному плагину так и не приделали? |
| foxhound |
|
|---|---|
|
I think this is great and i am using it on some parts of my new website already. <img src="http://www.armaholic.com/datas/thumbs/green-sea-battalion-uniforms-version-03-preview_4.jpg" alt="green-sea-battalion-uniforms-version-03-" />
|
| Kort |
|
|---|---|
|
1. You can use UNIX_TIMESTAMP() as current time value and play with it (i.e. compare to a page extrafield and check the difference). 2. You can use RAND() as sorting parameter to get randomly selected pages SED.by - создание сайтов, разработка плагинов и тем для Котонти
|
| foxhound |
|
|---|---|
|
Thanks Kort, with that I can make some tries :) Added 2 months later: Anyone here knows how I could list only pages from the same page_owner as the ones whos page you are viewing? I tried to add a condition like: page_author = "user_name" but that gives 0 output. I added numerous variations of that and none work (so the list stays empty) or it gives me an sql error. <img src="http://www.armaholic.com/datas/thumbs/green-sea-battalion-uniforms-version-03-preview_4.jpg" alt="green-sea-battalion-uniforms-version-03-" />
Bu gönderi foxhound tarafından düzenlendi (2014-01-16 14:39, 11 yıllar önce)
|
| Twiebie |
|
|---|---|
|
If you want to filter by page_author you could do it like this:
{PHP.pag.page_author|pagelist('pagelist.blog','8','page_date DESC','page_author = "$this"','','system;archives','','TRUE')}
You could also filter by page_ownerid with the user_id if the author is always the owner, which might prove to be a little bit more consistent as the page_author field might not always be set:
{PHP.pag.page_ownerid|pagelist('pagelist.blog','8','page_date DESC','page_ownerid = $this','','system;archives','','TRUE')}
|
| Kort |
|
|---|---|
|
Try smth like this:
{PAGE_OWNERID|pagelist('pagelist.hits','3','RAND()','page_ownerid = $this','','news;system','','TRUE')}
SED.by - создание сайтов, разработка плагинов и тем для Котонти
|
| foxhound |
|
|---|---|
|
Wow, thank you both very much! That has been very helpfull.
{PHP|pagelist('pagelist.random_news',20,'RAND()','UNIX_TIMESTAMP() < (page_date + 7889231)','news','','','TRUE','','TRUE')}
And this gives you all most read pages from the last month of a certain category (and sub categories) (10 items per page):
{PHP|pagelist('pagelist.popular_news',10,'page_count DESC','UNIX_TIMESTAMP() < (page_date + 2629743)','mycat','','','true','','FALSE')}
I know most of you wont have any use for it, but maybe it helps someone like me someday ;)
Added 17 hours later: Is it possible to also make this work with comments? I tried things like this:
{PAGE_ROW_COMMENTS_COUNT|pagelist('pagelist.authorpage','5','$this DESC','','news','','','TRUE','','')}
But it keeps giving sql errors. I also tried this plugin: http://www.cotonti.com/extensions/navigation-structure/581 but it seems to no longer work. <img src="http://www.armaholic.com/datas/thumbs/green-sea-battalion-uniforms-version-03-preview_4.jpg" alt="green-sea-battalion-uniforms-version-03-" />
Bu gönderi foxhound tarafından düzenlendi (2014-01-17 10:54, 11 yıllar önce)
|
| Kort |
|
|---|---|
|
You're right. Pagelist can only generate a link to and a number of comments for each page entry (if the corresponding option is enabled in the plugin config). SED.by - создание сайтов, разработка плагинов и тем для Котонти
|