ZenphotoCMS Forum
howto vary page pagination in zenpage - Printable Version

+- ZenphotoCMS Forum (https://forum.zenphoto.org)
+-- Forum: Support (https://forum.zenphoto.org/forum-1.html)
+--- Forum: Plugins (https://forum.zenphoto.org/forum-6.html)
+--- Thread: howto vary page pagination in zenpage (/thread-6183.html)

Pages: 1 2


howto vary page pagination in zenpage - BertSimons - 24-11-2009

I want to have a different number of articles per page then set on the admin tab depending on which news category I am in.

Zenpage documentation gives me a hint: getLimitAndOffset(5);

but code like this does nothing...

`
5 news articles in category blog

`
any clues




howto vary page pagination in zenpage - acrylian - 24-11-2009

Yes, that code does nothing (it just gets the values for a db query limit and offset), that function is used only internally within the getNewsArticles function.

It's much easier, just use setOption("zenpage_articles_per_page",,false) to directly change the option.
http://www.zenphoto.org/documentation/functions/_functions-basic.php.html#functionsetOption




howto vary page pagination in zenpage - BertSimons - 24-11-2009

I should have searched better .. thanks Acryllian!

with getOptionList() I could get a array of all options which are set/can be set?




howto vary page pagination in zenpage - acrylian - 24-11-2009

Oh, I don't remember the details right now.

But you find all options of Zenpage within the main zenpage.php file (for all other plugins in their main file also) and the standard Zenphoto options are all in zp-core/setup-option-defaults.php.




howto vary page pagination in zenpage - sbillard - 24-11-2009

I suppose getOptionList() could be used for seeing all the options. Not what it was intended for, though. Optons are somewhat strange beasts since you can have options associated with specific themes and or specific first level options. The list will only give you what is currently active. Best to use the admin options tabs for your exploration.




howto vary page pagination in zenpage - BertSimons - 24-11-2009

putting

setOption("zenpage_articles_per_page",5,false)

on the news.php above the while loop does not change the number of articles as set on the admin tab...

also tried setting other options as in setup-option-defaults.php on my index.php also with no result..




howto vary page pagination in zenpage - acrylian - 25-11-2009

Hm, it should actually. Don't know right now why not. Please try "true" instead of "false" then the option will not be changed temporarily but the entry will be overwritten directly in the database. Note that you then have to set it always as the original admin entry is not recreated until you save the option there again.




howto vary page pagination in zenpage - BertSimons - 25-11-2009

just found out that the function function setOption($key, $value, $persistent=true) eg setOption('zenpage_articles_per_page','20','false'); which is also in the functions-basic.php works flawlessly...




howto vary page pagination in zenpage - acrylian - 26-11-2009

Good. And false does actually not need to be within quotes.




howto vary page pagination in zenpage - BertSimons - 26-11-2009

I am getting somewhere, together with your suggestion in an other thread using getNewsArticles()

I put together a page that shows only news articles within a defined category and that differs from the default pagination..

one thing though: the printNewsPageListWithNav() does not stay within the category..
e.g it shows the pages for all articles.. any hints?
`

`




howto vary page pagination in zenpage - acrylian - 26-11-2009

That function relies on a value that is fetched by getTotalArticles() (zenpage-functions.php) which is only then getting the right total of articles if the global $_zp_current_category is set. The category is normally set via the url $_GET['category']; Setting $_zp_current_category = "" should do the trick. You may also set the context to ZP_ZENPAGE_NEWS_CATEGORY. I have never tried this actually.

May I ask why you do not just call the news.php page by url? That would be much easier than making your own page.




howto vary page pagination in zenpage - sbillard - 26-11-2009

BTW, false MUST NOT be in quotes. Unfortunately "false" has the value true!!!




howto vary page pagination in zenpage - BertSimons - 27-11-2009

partially solved it..

I call to the category by uri on my frontpage eg:

/zenphoto/news/category/news
/zenphoto/news/category/blog

then depending on the category I am in I set the number of articles per page like this

$check=$_GET['category']; if (substr_count($check,"blog")==1){ setOption('zenpage_articles_per_page','10',false); }
now if I use printNewsPageList() 100 articles get divided over 10 pages in category blog
thus showing the numbers 1 2 3 4 5 6 7 8 9 10

but...

if I use printNewsPageListWithNav()

I get: 1 2 3 4 5 6 7 8 9 10 next     with page 1 highlighted, which seems correct

going to page 2 gives

prev 1 2 3 4 5 6 7 8 9 10 next     with page 2 highlighted, which seems correct

but.. when being on page 2 and click on prev.. being the printPrevNewsPageLink() function
this now shows up a page which contains also the articles outside the category I was in eg all articles..

so actually I am in need of a printPrevNewsWithinCurrentCategoryPageLink()...

Also in the standard zenpage-default theme going to a category shows indeed all the articles within a category but clicking the titlelink also ends up showing single articles with prev/next articles outside the category you were in..

`

`




howto vary page pagination in zenpage - acrylian - 27-11-2009

You can check what category you are in by using this btw.:
http://www.zenphoto.org/documentation/plugins/zenpage/_plugins---zenpage---zenpage-template-functions.php.html#functioninNewsCategory

Actually the pageslist function should do what you want. If it does not we probably have a bug. I will try to reproduce that.

On your site you are using 1.2.5 RC1. If that is the version you are testing with I have to request to try the current nightly as we are about to release 1.2.7 on Decemeber 1st.




howto vary page pagination in zenpage - acrylian - 27-11-2009

I just could reproduce the prev page issue that looses the category. So it's a bug.




howto vary page pagination in zenpage - acrylian - 27-11-2009

Found it, will be fixed in tonight's nightly. Weird, that error seems to have been there unnoticed for quite some time....




howto vary page pagination in zenpage - BertSimons - 27-11-2009

was just going to post that for testing i do use the nightly... my own website is on a host that doesnt fullfill the latest zenphoto requerements but I run the latest nightly somewhere else for testing

well if zenphoto would run zenpage instead of wordpress you would have noticed..:-)




howto vary page pagination in zenpage - acrylian - 27-11-2009

Alright...;-) Btw, the requirements are more recommendations because we can't test lower PHP versions than those stated. Nevertheless it might work on your webspace without problems.




howto vary page pagination in zenpage - BertSimons - 28-11-2009

Hi Arcylian

Ugraded to the latest nightly on my testsite ( http://www.thegreenskirt.nl/zenphototest )
here I have a category blog containing 4 articles and category news containing 3 articles so in total 7 articles.. for testing I set number of articles per page to 1 in admin tab.

now printNewsPageListWithNav() prev/next stays within category and shows correct numbers of page but...

going to an single news article from within a category shows printNewsPageListWithNav() with all (eg 7 pages) and prev/next article navigation without regarding the current category




howto vary page pagination in zenpage - acrylian - 28-11-2009

printNewsPageListWithNav() is not meant to be used for single news article display and it should not appear in zenpage-default at all. A single article is never in category context, how could it as it can be in several categories. For the single article navigation there are separate functions which you see on the right (blog article 4) on your page.