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 - создание сайтов, разработка плагинов и тем для Котонти
|
|
Dit bericht is bewerkt door Kort (2023-09-08 13:23, 1 jaar ago) |
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-" />
|
|
Dit bericht is bewerkt door foxhound (2014-01-16 14:39, 11 jaren ago) |
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-" />
|
|
Dit bericht is bewerkt door foxhound (2014-01-17 10:54, 11 jaren ago) |
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 - создание сайтов, разработка плагинов и тем для Котонти
|