ProcessWire - Snippets: Unterschied zwischen den Versionen

Aus Wikizone
Wechseln zu: Navigation, Suche
(Die Seite wurde neu angelegt: „== Navigation == === Breadcrumb === <pre> <!-- breadcrumbs --> <div class='breadcrumbs'><?php // breadcrumbs are the current page's parents foreach($pag…“)
 
Zeile 40: Zeile 40:
  
 
</pre>
 
</pre>
 +
== Conditions ==
 +
<syntaxhighlight lang="php">
 +
// If the page has children, then render navigation to them under the body.
 +
// See the _func.php for the renderNav example function.
 +
if($page->hasChildren) {
 +
$content .= renderNav($page->children);
 +
}
 +
</syntaxhighlight>
 +
 +
<syntaxhighlight lang="php">
 +
// if the rootParent (section) page has more than 1 child, then render
 +
// section navigation in the sidebar
 +
if($page->rootParent->hasChildren > 1) {
 +
$sidebar = renderNavTree($page->rootParent, 3) . $page->sidebar;
 +
}
 +
</syntaxhighlight>

Version vom 16. Januar 2017, 12:35 Uhr

Navigation

Breadcrumb

	<!-- breadcrumbs -->
	<div class='breadcrumbs'><?php 
		// breadcrumbs are the current page's parents
		foreach($page->parents() as $item) {
			echo "<span><a href='$item->url'>$item->title</a></span> "; 
		}
		// optionally output the current page as the last item
		echo "<span>$page->title</span> "; 
	?></div>

Topnav

1.Level

	<ul class='topnav'><?php 
		// top navigation consists of homepage and its visible children
		foreach($homepage->and($homepage->children) as $item) {
			if($item->id == $page->rootParent->id) {
				echo "<li class='current'>";
			} else {
				echo "<li>";
			}
			echo "<a href='$item->url'>$item->title</a></li>";
		}
		// output an "Edit" link if this page happens to be editable by the current user
		if($page->editable()) echo "<li class='edit'><a href='$page->editUrl'>Edit</a></li>";
	?></ul>

Searchbar

	<!-- search form-->
	<form class='search' action='<?php echo $pages->get('template=search')->url; ?>' method='get'>
		<input type='text' name='q' placeholder='Search' value='<?php echo $sanitizer->entities($input->whitelist('q')); ?>' />
		<button type='submit' name='submit'>Search</button>
	</form>

Conditions

// If the page has children, then render navigation to them under the body.
// See the _func.php for the renderNav example function.
if($page->hasChildren) {
	$content .= renderNav($page->children);
}
// if the rootParent (section) page has more than 1 child, then render 
// section navigation in the sidebar
if($page->rootParent->hasChildren > 1) {
	$sidebar = renderNavTree($page->rootParent, 3) . $page->sidebar; 
}