Jump to content
Peter Troeger

[SOLVED] Multiple $pages->find with limit and pagination on only one element

Recommended Posts

Hello Community ๐Ÿ™‚

Has anyone ever tried having multiple elements on one page that get their info with $pages->find('selector, limit=n') and tried using pagination on one of these elements without effecting the other?

I have a slider on a page where I display content with pagination. But when I go to page two, the slider content also goes to page two, which I don't want it to do ๐Ÿ™‚

Any tips are greatly appreciated!

Thanks!

-Peter

Edited by Peter Troeger
solved

Share this post


Link to post
Share on other sites

Please show us some code in your template in order for us to give you some useful help rather than guessing what the problem is.

Gideon

Share this post


Link to post
Share on other sites

Well, I have this in the sidebar:

<?php $aktuelles = $pages->find('template=blog-post, limit=4');
							
							foreach($aktuelles as $aktuell) {
								$aktuell_body = $aktuell->get('summary|body');
								$aktuell_title = $aktuell->title;
								$aktuell_url = $aktuell->url;
								$cat = $pages->get('/'.$pages->get('id='.$aktuell->categories[0])->name.'/');
								echo '<div>
									<div class="post">
										<p class="date">'.$aktuell_title.'</p> 
										<div class="text">';
											$aktuell_body = strip_tags($aktuell_body, '<a><strong><em><i>');
											echo truncate_words($aktuell_body, 22); 
										echo '</div>
									</div>';
									
									if($aktuell->categories!='') echo '<a href="'.$cat->url.'">'.__('Weitere Informationen unter ').$cat->title.'</a>';
									
								echo '</div>';
							}
							
?>

and this is the main content with the pagination:

<?php
$children = $page->children('limit=3');
foreach($children as $child) {
			$title = $child->title;
			$url = $child->url;
			
			echo '<h2><a href="'.$url.'">'.$title.'</a></h2>';
			$grandchildren = $child->children();
			foreach($grandchildren as $grandchild) {
				$grandchild_title = $grandchild->title;
				$grandchild_body = $grandchild->body;
				$grandchild_date = $grandchild->date_freeform;
				echo '<section class="mitteilung veranstaltung">
				<h3>'.$grandchild_title.'</h3>
				<p class="date"><em>'.$grandchild_date.'</em></p>
				<p>'.$grandchild_body.'</p>
				</section>';
			}
			
		}
	?> 
			
			
<?php echo $children->renderPager(); ?>	

ย 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By christophengelmayer
      Hi everyone,
      I'm working on a CLI script that renders paginated pages.
      Therefore I iterate trough paginated pages and set the page number and render the result.
      My problem is, after calling the render function for the first time, the output doesn't change even if I change the page number.
      ย 
      DEMO:
      I'm using a template that renders a pagination of its children:
      <?php echo $page->children("limit=3")->render(); ?> I can view the paginated results in the Browser:
      /page-rendering-pagination/ /page-rendering-pagination/page2 /page-rendering-pagination/page3 ... When trying to render the different pages using the API I always get the first result, even if I change the page Number.
      <?php namespace ProcessWire; include('./index.php'); wire('input')->setPageNum(1); $p = wire('pages')->get('/page-rendering-pagination'); var_dump($p->render()); // renders first three items wire('input')->setPageNum(2); var_dump($p->render()); // also renders the first three items Am I missing something? Is there some kind of caching mechanism that I'm not aware of?
      Thanks for your help.
    • By dragan
      Quick question: Is it possible to use PW's pagination for other things than PageArrays? i.e. query custom database tables and paginate the results? Has anyone ever tried it?
    • By brdje
      Greetings,
      ย 
      I've created a product database which all use the template product.php and are published on the website.
      I'm trying to create an overview table with pagination of all the products, but using $pages->get does not return an object, only the object title.
      $products = $pages->get("template=product, limit=10"); This returns 10 strings in the frontend but not the object. When looping over the result set to get product fields, i get the following error:
      Notice: Trying to get property 'title' of non-object
      ย 
      Because the product database is fairly large, i've added a pagination using the same query and this does return all the pages, but i can't click on the links that the paginator renders.
      $results = $pages->find("template=product, limit=10"); if($results->getTotal() > 10) { echo $results->renderPager(array( "nextItemLabel" => "Volgende", "previousItemLabel" => "Vorige", "currentItemClass" => 'active' )); }
      I've added the option in the template to allow page numbers. When i navigate to the link manually, i still end up seeing the 10 first products.
      ย 
      I've tried changing several settings around, but i'm a bit stuck on how to resolve these issues. Do you have any advice what I need to adjust?
      Thanks in advance for your feedback.
      ย 
      ย 
    • By Peter Troeger
      Hello ๐Ÿ™‚
      I have set up pagination on a mulitlanguage site.
      I've done this before, but this time I have a problem I can't solve.
      Pagination is activated on 'parent-template' and 'child-template' just to be sure ๐Ÿ™‚
      This is my code:
      $children = $page->children('limit=1'); foreach($children as $child) { $title = $child->title; echo $title; } echo $children->renderPager(); The navigation is output correctly and the link look correct as well 'parent-page/page2/'.
      But when I click the link, the site seems to redirect back to 'parent-page/
      Any help would be greatly appreciated ๐Ÿ™‚
      - Peter
    • By MateThemes
      Hello everyone!
      I have a problem with pagination. I have following code:
      <div class="uk-section"> <?php $results = $pages->find("template=gallery, limit=10, sort=title"); $pagination = $results->renderPager(); echo $pagination; echo "<ul class='uk-pagination uk-flex-center'>"; foreach($results as $result) { echo "<li><a href='{$result->url}'>{$result->title}</a></li>"; } echo "</ul>"; echo $pagination; ?> </div> Which works fine. And this markup results in following html code:
      <div class="uk-section"> <ul class='uk-pagination uk-flex-center'> <li> <a href='/galerie-bisheriger-projekte/'>Galerie bisheriger Projekte</a> </li> <li> <a href='/galerie-bisheriger-projekte/galerie-1/'>galerie-1</a> </li> </ul> </div> But instead of "Galerie bisheriger Projekte" and "galerie-1" I want to have a number.
      And as last question, how can I add a previous and next button?
      Thanks for your help!
ร—
ร—
  • Create New...