Hi there!
Is it possible, that $_firstPageImages contains wrong values if the sub-albums go over more than the first page?
I recognized this behaviour when checking out the search function and got 15 albums (12 are shown on each page) - so image thumbnails started on page 2.
As you know from
http://www.zenphoto.org/support/topic.php?id=10327 I use fancybox for displaying the images, therefore I generate invisible links to all images of an album (or of a search result!).
You may see it here:
http://www.musikverein-zunsweier.de/galerie/page/search/konzert/2Klick the first image thumb and navigate to the image before (left) -> should be 181/181 not 9/181.
echo $_firstPageImages; returns 9 - which is the value of the images on the second page. Value should be -3.
Wete
Comments
should be in "usage support" - sorry!
There are two functions to help you know where you are:
`isAlbumPage()` and `isImagePage()`
There are no images on a page where `isImagePage()` returns `false`
Note: both functions may return `true`, as on the transition page.
I'll try my best.
Wete
`
<?
$albumseiten = getTotalPages();
$aktuelleseite = getCurrentPage();
$offset = floor(getNumAlbums() / getOption('albums_per_page'));
if (($albumseiten-$offset > 1) AND ($aktuelleseite-$offset > 1)) {
for($vorseite = $offset+1; $vorseite < $aktuelleseite; ++$vorseite) {
$bilder = $_zp_current_search->getImages($vorseite-$offset, $_firstPageImages);
$i=0;
foreach ($bilder as $bild) {
$bild = $bilder[$i];
$imageobject = newImage($_zp_current_search, $bild);
$bildnummer = $imageobject->getIndex()+1;
++$i;
echo'getFullImage().'" title="getImageLink().'">'.$imageobject->getDefaultTitle().' ('.$bildnummer.'/'.$_zp_current_search->getNumImages().')">'."\n";
}
}
}
echo '
while (next_image()) {
$c++;
echo '
echo '
printImageThumb(getAnnotatedImageTitle());
echo '
echo '
}
echo '
if (($albumseiten-$offset > 1) AND ($aktuelleseite-$offset < $albumseiten-$offset)) {
for($nachseite = ($aktuelleseite+1); $nachseite < ($albumseiten+1); ++$nachseite) {
$bilder = $_zp_current_search->getImages($nachseite-$offset, $_firstPageImages);
$i=0;
foreach ($bilder as $bild) {
$bild = $bilder[$i];
$imageobject = newImage($_zp_current_search, $bild);
$bildnummer = $imageobject->getIndex()+1;
++$i;
echo'getFullImage().'" title="getImageLink().'">'.$imageobject->getDefaultTitle().' ('.$bildnummer.'/'.$_zp_current_search->getNumImages().')">'."\n";
}
}
}
?>
`
Wete
Wete
http://www.musikverein-zunsweier.de/galerie/page/search/konzert
On every page I got a '1'.
You may check it now, it's visibily implemented.
Wete
The computation of $offset is:
`
$offset = floor (ceil (getNumAlbums()/getOption('albums_per_row')) / (getOption('albums_per_page')/getOption('albums_per_row')));
`
Wete
Can you echo the values for:
`
getTotalPages(true)
$_firstPageImages
$_zp_page
`
These are the input to the computation.
`
echo '
'.sprintf(gettext('Total matches for %1$s: %2$u'), $searchwords, $total).'
';isImagePage: '.isImagePage().', isAlbumPage: '.isAlbumPage().', getTotalPages(true): '.getTotalPages(true).', $_firstPageImages: '.$_firstPageImages.', $_zp_page: '.$_zp_page.'
`
I wonder what you get for these calculations in a standard theme? That is of course where I am testing things.
`
getTotalPages [line 512]
Returns the number of pages for the current object
Parameters:
bool $oneImagePage: set to true if your theme collapses all image thumbs or their equivalent to one page. This is typical with flash viewer themes
`
If I understood this correctly, '2' should be correct value when (true) is added: The first page only contains sub-album thumbs, image thumbs start on page 2, and if the theme would collapse all image thumbs to on page, they would be shown here.
But I'll additional check it in default theme.
Wete
If I ask for the value of getTotalPages(), it says 17. That is correct (Theme: MVZ). Values:
isImagePage: 1, isAlbumPage: 1, getTotalPages(): 17, $_firstPageImages: 9, $_zp_page: 1
Then I took the default theme and added the echo...
Results:
Page 1 (no images!):
isImagePage: 1, isAlbumPage: 1, getTotalPages(true): 2, $_firstPageImages: 5, $_zp_page: 1
Page 2 (albums + 5 images):
isImagePage: 1, isAlbumPage: 1, getTotalPages(true): 2, $_firstPageImages: 5, $_zp_page: 2
I suppose that '2' should be correct for getTotalPages(true). Without 'true' the correct value of total pages is shown.
As you can see: isImagePage always returns '1'.
Wete
[edit] Indeed there is a bug here. Fixed in the nightly build.
Wete
Is it advisable to use nightly builds for non-experimental installations when everything else goes fine? (I do not need the getTotalPages-Function in my case.)
Wete
Now I will install the nightly build and check this again.
`Warning: array_slice() expects parameter 1 to be array, boolean given in /........./galerie/zp-core/class-search.php on line 1378`
See:
http://www.wete.org/galerie/page/search/e/4
(at the bottom)
I also checked it in the default theme: same error.
Wete