i am creating a page that renders a standard list of entities from a pre-existing array of entities here.
i have used the code:
$options = array(
'offset' => max(get_input('offset'), 0),
'limit' => 10,
'full_view' => false,
'list_type' => 'list',
'pagination' => true,
);
$content = elgg_view_entity_list($entity_list, $options);
}
i am seeing that there is no pagination rendered, just one large list (no size limit is applied either)..
anyone know why that may be?
thanks
info@elgg.org
Security issues should be reported to security@elgg.org!
©2014 the Elgg Foundation
Elgg is a registered trademark of Thematic Networks.
Cover image by RaĆ¼l Utrera is used under Creative Commons license.
Icons by Flaticon and FontAwesome.
I believe pagination requires a 'count' parameter
ah ok, thanks.. i'll have a look at that option then.
according to: http://reference.elgg.org/views_8php_source.html#l00992
the count variable is for pre 1.8 functions and is deprecated.. so that's not the cause here.
Count as the second argument of the function is deprecated, count as a key of an array of parameters is not :)
looking through the source for list.php i see:
* @uses $vars['limit'] Number of items per page. Only used as input to pagination.
* @uses $vars['count'] Number of items in the complete list
so 'count' is the total size of the list (which is really an overall limit) and 'limit' is the page size.
so far i have not been able to cause the pagination to render via changing these variables to different values. e.g.
$content = elgg_view_entity_list($entity_list, '', max(get_input('offset'), 0),10,false,false,true);
(or by using the 2nd optional parameter of $vars)
hmm..
@ura soul You need use 'count' in array of your $entity_list else need to set it in $options.
See http://reference.elgg.org/views_8php_source.html#l01006
Also see on working code:
thanks for assisting.
i have used the following code and now the pagination is rendered, yet each page of the list contains all the items in the list (so each page of the list is 79 items long instead of 10 and 8 pages are shown for the pagination):
$content = elgg_view_entity_list($entity_list,array(
'count' => count($entity_list),
'offset' => max(get_input('offset')),
'limit' => 10,
'full_view' => false,
'list_type' => 'list',
'pagination' => true));
}
strangey!
You shouldn't be passing 79 entities to the list, you should only be passing the 10 you want to display
aha!
so now the code works with:
$offset = (int) max(get_input('offset', 0), 0);
$length = 10;
$content = elgg_view_entity_list(array_slice($entity_list,$offset,$length),array(
'count' => count($entity_list),
'full_view' => false,
'list_type' => 'list',
'pagination' => true),$offset, $length);
thanks!
- Previous
- 1
- 2
- 3
- Next
You must log in to post replies.