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 - создание сайтов, разработка плагинов и тем для Котонти 
					 |