<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.stephanschlegel.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=91.33.206.179</id>
	<title>Wikizone - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.stephanschlegel.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=91.33.206.179"/>
	<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Spezial:Beitr%C3%A4ge/91.33.206.179"/>
	<updated>2026-05-06T16:02:12Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.35.14</generator>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Processwire_-_Vegas_Slideshow&amp;diff=22356</id>
		<title>Processwire - Vegas Slideshow</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Processwire_-_Vegas_Slideshow&amp;diff=22356"/>
		<updated>2017-06-07T08:47:08Z</updated>

		<summary type="html">&lt;p&gt;91.33.206.179: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Vegas Slideshow in Processwire Integrieren Beispiele ==&lt;br /&gt;
Siehe auch &lt;br /&gt;
* [[JavaScript - Vegas Slider]]&lt;br /&gt;
&lt;br /&gt;
== Beispiel 1 ==&lt;br /&gt;
&lt;br /&gt;
=== Header ===&lt;br /&gt;
 &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;&amp;lt;?php echo $config-&amp;gt;urls-&amp;gt;templates?&amp;gt;vendors/vegas/vegas.min.css&amp;quot; type=&amp;quot;text/css&amp;quot; media=&amp;quot;screen&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Footer ===&lt;br /&gt;
 &amp;lt;script src=&amp;quot;&amp;lt;?php echo $config-&amp;gt;urls-&amp;gt;templates?&amp;gt;vendors/vegas/vegas.min.js&amp;quot; type=&amp;quot;text/javascript&amp;quot; charset=&amp;quot;utf-8&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Main JavaScript ===&lt;br /&gt;
Wir prüfen ob die Funktion initVegas auf der Seite vorhanden ist bevor wir versuchen sie auszuführen. So gibt es keine Fehler auf Seiten, auf denen die Funktion nicht genutzt wird.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
(function($){ //create closure so we can safely use $ as alias for jQuery&lt;br /&gt;
  $(document).ready(function(){&lt;br /&gt;
    // init Vegas&lt;br /&gt;
    if (ifNamespaceFunctionExists(&amp;quot;initVegas&amp;quot;) ) {// init Vegas Slider if av.&lt;br /&gt;
      initVegas();&lt;br /&gt;
    }&lt;br /&gt;
  });&lt;br /&gt;
})(jQuery);&lt;br /&gt;
&lt;br /&gt;
function ifNamespaceFunctionExists(myFnc){&lt;br /&gt;
  //var myFnc = &amp;quot;foo.bar.fun&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  var nameParts = myFnc.split(&amp;quot;.&amp;quot;);  //split up the string into the different levels&lt;br /&gt;
  var fnc = window;  //set it to window&lt;br /&gt;
  for(var i=0;i&amp;lt;nameParts.length;i++){  //loop through each level of the namespace&lt;br /&gt;
      fnc = fnc[nameParts[i]];&lt;br /&gt;
      if(!fnc){  //make sure it exists, if not exit loop&lt;br /&gt;
          fnc = null;&lt;br /&gt;
          break;&lt;br /&gt;
      }&lt;br /&gt;
  }&lt;br /&gt;
  if( fnc &amp;amp;&amp;amp; typeof fnc === &amp;quot;function&amp;quot; ) {  //make sure it exists and it is a function&lt;br /&gt;
      return true;  //or execute it&lt;br /&gt;
  }else return false;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== CSS ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
.stretch-height{&lt;br /&gt;
  position: relative;&lt;br /&gt;
  height: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.nav-slider{&lt;br /&gt;
  color: white;&lt;br /&gt;
  width: 100%;&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  top: 0;&lt;br /&gt;
  bottom: 0;&lt;br /&gt;
  z-index: 1;&lt;br /&gt;
}&lt;br /&gt;
.nav-slider .prev,&lt;br /&gt;
.nav-slider .next{&lt;br /&gt;
  position: absolute;&lt;br /&gt;
  top:0;&lt;br /&gt;
  bottom: 0;&lt;br /&gt;
  width:50%;&lt;br /&gt;
  cursor: pointer;&lt;br /&gt;
}&lt;br /&gt;
.nav-slider .prev{&lt;br /&gt;
  left: 0;&lt;br /&gt;
  padding-left: 1em;&lt;br /&gt;
}&lt;br /&gt;
.nav-slider .next{&lt;br /&gt;
  right: 0;&lt;br /&gt;
  text-align: right;&lt;br /&gt;
  padding-right: 1em;&lt;br /&gt;
}&lt;br /&gt;
.nav-slider i{&lt;br /&gt;
  position: relative;&lt;br /&gt;
  top: 50%;&lt;br /&gt;
  margin-top: -2em;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Processwire Template ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
 * Vegas Slideshow&lt;br /&gt;
 * creates markup for vegas slideshow inclusive script&lt;br /&gt;
 */&lt;br /&gt;
$out = &amp;#039;&amp;#039;;&lt;br /&gt;
$slides = array();&lt;br /&gt;
$width = 1600; // todo -&amp;gt; make this accessible via textbox in admin&lt;br /&gt;
&lt;br /&gt;
foreach($page-&amp;gt;images as $image){&lt;br /&gt;
  $myImage = $image-&amp;gt;width($width);&lt;br /&gt;
  $slides[] = &amp;#039;{ src: &amp;quot;&amp;#039;.$myImage-&amp;gt;url.&amp;#039;&amp;quot; }&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
$vegasMarkup = &amp;#039;&amp;lt;div class=&amp;quot;col-md-12 vegas stretch-height&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
$vegasMarkup .= &amp;#039;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
function initVegas(){&lt;br /&gt;
  $slider = $(&amp;quot;.vegas&amp;quot;);&lt;br /&gt;
  $slider.vegas({&lt;br /&gt;
    delay:7000,&lt;br /&gt;
    timer:false,&lt;br /&gt;
    transition: &amp;quot;fade&amp;quot;,&lt;br /&gt;
    transitionDuration: 750,&lt;br /&gt;
    animation: &amp;quot;random&amp;quot;,&lt;br /&gt;
    slides: [&amp;#039;.implode($slides,&amp;#039;,&amp;#039;).&amp;#039;]&lt;br /&gt;
  });&lt;br /&gt;
  $(&amp;quot;span.next&amp;quot;).click(function(){&lt;br /&gt;
    $slider.vegas(&amp;quot;options&amp;quot;, &amp;quot;transition&amp;quot;, &amp;quot;slideLeft2&amp;quot;);&lt;br /&gt;
    $slider.vegas(&amp;quot;next&amp;quot;);&lt;br /&gt;
    $slider.vegas(&amp;quot;options&amp;quot;, &amp;quot;transition&amp;quot;, &amp;quot;fade&amp;quot;);&lt;br /&gt;
  });&lt;br /&gt;
  $(&amp;quot;span.prev&amp;quot;).click(function(){&lt;br /&gt;
    $slider.vegas(&amp;quot;options&amp;quot;, &amp;quot;transition&amp;quot;, &amp;quot;slideRight2&amp;quot;);&lt;br /&gt;
    $slider.vegas(&amp;quot;previous&amp;quot;);&lt;br /&gt;
    $slider.vegas(&amp;quot;options&amp;quot;, &amp;quot;transition&amp;quot;, &amp;quot;fade&amp;quot;);&lt;br /&gt;
  });&lt;br /&gt;
}&lt;br /&gt;
// if loaded via ajax call initVegas() after receiving data&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Slide Navigation&lt;br /&gt;
 */&lt;br /&gt;
$navSlideMarkup = &amp;#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;nav-slider&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;prev&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-angle-left fa-4x&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;next&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fa fa-angle-right fa-4x&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$content = &amp;#039;&amp;#039;;&lt;br /&gt;
$content = &amp;#039;&lt;br /&gt;
&amp;lt;div id=&amp;quot;main&amp;quot; class=&amp;quot;stretch-height&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;!-- ajax Content --&amp;gt;&lt;br /&gt;
  &amp;#039;.$navSlideMarkup.&amp;#039;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;row bg-image stretch-height&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;#039;.$vegasMarkup.&amp;#039;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&amp;lt;!-- row end --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!-- ajax content end --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;!-- main end --&amp;gt;&amp;#039; ;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>91.33.206.179</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=JavaScript_-_Vegas_Slider&amp;diff=22355</id>
		<title>JavaScript - Vegas Slider</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=JavaScript_-_Vegas_Slider&amp;diff=22355"/>
		<updated>2017-06-07T08:03:30Z</updated>

		<summary type="html">&lt;p&gt;91.33.206.179: /* Slide Navigation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Siehe auch:&lt;br /&gt;
* [[Processwire - Vegas Slideshow]]&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;// &amp;lt;![CDATA[&lt;br /&gt;
var $slider;&lt;br /&gt;
jQuery( document ).ready(function( $ ) {&lt;br /&gt;
  $slider = $(&amp;quot;.vegas&amp;quot;);&lt;br /&gt;
  $slider.vegas({&lt;br /&gt;
    preload: false,&lt;br /&gt;
    preloadVideo: true,&lt;br /&gt;
    delay:7000,&lt;br /&gt;
    timer:false,&lt;br /&gt;
    transition: &amp;quot;fade2&amp;quot;,&lt;br /&gt;
    transitionDuration: 1500,&lt;br /&gt;
    animation: &amp;quot;random&amp;quot;,&lt;br /&gt;
    slides: [&lt;br /&gt;
      { src: &amp;quot;http://szenerie-events.de/images/vegas/Slide01.jpg&amp;quot; }, &lt;br /&gt;
      { src: &amp;quot;http://szenerie-events.de/images/vegas/Slide02.jpg&amp;quot; },&lt;br /&gt;
      { src: &amp;quot;http://szenerie-events.de/images/vegas/Slide1.jpg&amp;quot; },&lt;br /&gt;
      { src: &amp;quot;http://szenerie-events.de/images/vegas/Slide2.jpg&amp;quot; },&lt;br /&gt;
      { src: &amp;quot;http://szenerie-events.de/images/vegas/Slide3.jpg&amp;quot; },&lt;br /&gt;
      { src: &amp;quot;http://szenerie-events.de/images/vegas/Slide4.jpg&amp;quot; },&lt;br /&gt;
      { src: &amp;quot;http://szenerie-events.de/images/vegas/Slide5.jpg&amp;quot; },&lt;br /&gt;
      { src: &amp;quot;http://szenerie-events.de/images/vegas/Slide6.jpg&amp;quot; },&lt;br /&gt;
      { src: &amp;quot;http://szenerie-events.de/images/vegas/Slide7.jpg&amp;quot; },&lt;br /&gt;
      { src: &amp;quot;http://szenerie-events.de/images/vegas/Slide8.jpg&amp;quot; },&lt;br /&gt;
      { src: &amp;quot;http://szenerie-events.de/images/vegas/Slide9.jpg&amp;quot; }&lt;br /&gt;
    ]&lt;br /&gt;
  });&lt;br /&gt;
  $(&amp;#039;span.next&amp;#039;).click(function(){&lt;br /&gt;
    $slider.vegas(&amp;#039;next&amp;#039;);&lt;br /&gt;
  });&lt;br /&gt;
  $(&amp;#039;span.prev&amp;#039;).click(function(){&lt;br /&gt;
    $slider.vegas(&amp;#039;previous&amp;#039;);&lt;br /&gt;
  });&lt;br /&gt;
});&lt;br /&gt;
// ]]&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tipps und Tricks ==&lt;br /&gt;
&lt;br /&gt;
=== Slide Navigation ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
  $(&amp;#039;span.next&amp;#039;).click(function(){&lt;br /&gt;
    $slider.vegas(&amp;#039;next&amp;#039;);&lt;br /&gt;
  });&lt;br /&gt;
  $(&amp;#039;span.prev&amp;#039;).click(function(){&lt;br /&gt;
    $slider.vegas(&amp;#039;previous&amp;#039;);&lt;br /&gt;
  });&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SETTINGS&lt;br /&gt;
Slideshow options and settings&lt;br /&gt;
&lt;br /&gt;
OPTION	DEFAULT	DESCRIPTION&lt;br /&gt;
slide	0	Index number of initial slide.&lt;br /&gt;
preload	false	Preload both images and videos at start.&lt;br /&gt;
preload­Image	false	Preload images at start. preload must be false .&lt;br /&gt;
preload­Video	false	Preload videos at start. preload must be false .&lt;br /&gt;
timer	true	Display/hide timer bar.&lt;br /&gt;
The timer class is .vegas-timer-progress .&lt;br /&gt;
overlay	false	Display/hide the overlay. Could be true false or the path of an overlay image pattern. These image can be found in the overlays folder. Read the Overlay section for more information.&lt;br /&gt;
autoplay	true	Start the Slideshow automatically.&lt;br /&gt;
loop	true	Loop the Slideshow.&lt;br /&gt;
shuffle	false	The array of slides is shuffled before.&lt;br /&gt;
delay	5000	Delay beetween slides in milliseconds.&lt;br /&gt;
cover	true	true the slide image is scaled to fit the container.&lt;br /&gt;
false the slide image is displayed entirely.&lt;br /&gt;
repeat the slide image is repeated.&lt;br /&gt;
color	-	Slide background color.&lt;br /&gt;
align	center	Horizontal alignment of the image in the slide.&lt;br /&gt;
Could be center top right bottom left or a percentage.&lt;br /&gt;
valign	center	Vertical alignment of the image in the slide.&lt;br /&gt;
Could be center top right bottom left or a percentage.&lt;br /&gt;
transition	fade	Set the transition between slides. Could be a transition name, random or an array of transition picked randomly.&lt;br /&gt;
Read the Transition section for more information.&lt;br /&gt;
transition­Duration	1000	Set the transition duration in milliseconds. Could be auto so the transition duration will be equal to the slide delay .&lt;br /&gt;
firstTransition	-	Set the transition for the first played slide. Could be a transition name, random or an array of transition picked randomly.&lt;br /&gt;
Read the Transition section for more information.&lt;br /&gt;
firstTransition­Duration	-	Set the transition duration in milliseconds for the first played slide. Could be auto so the transition duration will be equal to the slide delay .&lt;br /&gt;
transition­Register	-	Add custom transitions to the transitions list available in random mode. Read the Transition section for more information.&lt;br /&gt;
animation	-	Set the animation of the slides. Could be an animation name, random or an array of transition picked randomly.&lt;br /&gt;
Read the Transition section for more information.&lt;br /&gt;
animation­Duration	auto	Set the animation duration in milliseconds. Could be auto so the animation duration will be equal to the slide delay .&lt;br /&gt;
animation­Register	-	Add custom animations to the animations list available in random mode. Read the Transition section for more information.&lt;br /&gt;
slidesToKeep	1	Number of slides to keep in the background before removing it.&lt;br /&gt;
slides	-	Array of slides.&lt;br /&gt;
Read the option section for more information.&lt;br /&gt;
$elmt.vegas({&lt;br /&gt;
    delay: 7000,&lt;br /&gt;
    timer: false,&lt;br /&gt;
    shuffle: true,&lt;br /&gt;
    firstTransition: &amp;#039;fade&amp;#039;,&lt;br /&gt;
    firstTransitionDuration: 5000,&lt;br /&gt;
    transition: &amp;#039;slideDown2&amp;#039;,&lt;br /&gt;
    transitionDuration: 2000,&lt;br /&gt;
    slides: [&lt;br /&gt;
        { src: &amp;#039;/img/slide1.jpg&amp;#039; },&lt;br /&gt;
        { src: &amp;#039;/img/slide2.jpg&amp;#039; },&lt;br /&gt;
        { src: &amp;#039;/img/slide3.jpg&amp;#039; },&lt;br /&gt;
        { src: &amp;#039;/img/slide4.jpg&amp;#039; }&lt;br /&gt;
    ]&lt;br /&gt;
});&lt;br /&gt;
TEST THE CODE&lt;br /&gt;
Click the button to test the example.&lt;br /&gt;
&lt;br /&gt;
RUN CODE&lt;br /&gt;
SLIDE SETTINGS&lt;br /&gt;
Specific slide options and settings.&lt;br /&gt;
&lt;br /&gt;
OPTION	DEFAULT	DESCRIPTION&lt;br /&gt;
src	-	Path of the image.&lt;br /&gt;
video	-	Path of the video. Could be a string or an array of sources.&lt;br /&gt;
 Read the Video section for more information.&lt;br /&gt;
delay	5000	Delay beetween slides in milliseconds.&lt;br /&gt;
cover	true	true the background image is scaled to fit the container.&lt;br /&gt;
false the background image is displayed entirely.&lt;br /&gt;
color	-	Slide background color.&lt;br /&gt;
align	center	Horizontal alignment of the image in the slide.&lt;br /&gt;
Could be center top right bottom left or a percentage.&lt;br /&gt;
valign	center	Vertical alignment of the image in the slide.&lt;br /&gt;
Could be center top right bottom left or a percentage.&lt;br /&gt;
transition	fade	Set the transition of this slide. Could be a transition name, random or an array of transition picked randomly.&lt;br /&gt;
Read the Transition section for more information.&lt;br /&gt;
transition­Duration	1000	Set the transition duration in milliseconds. Could be auto so the transition duration will be equal to the slide delay .&lt;br /&gt;
animation	-	Set the animation of this slide. Could be an animation name, random or an array of transition picked randomly.&lt;br /&gt;
Read the Transition section for more information.&lt;br /&gt;
animation­Duration	auto	Set the animation duration in milliseconds. Could be auto so the animation duration will be equal to the slide delay .&lt;br /&gt;
$elmt.vegas({&lt;br /&gt;
    timer: false,&lt;br /&gt;
    transition: &amp;#039;slideLeft2&amp;#039;,&lt;br /&gt;
    slides: [&lt;br /&gt;
        { src: &amp;#039;/img/slide1.jpg&amp;#039; },&lt;br /&gt;
        { src: &amp;#039;/img/slide2.jpg&amp;#039;, transition: &amp;#039;slideRight2&amp;#039; },&lt;br /&gt;
        { src: &amp;#039;/img/slide3.jpg&amp;#039; },&lt;br /&gt;
        { src: &amp;#039;/img/slide4.jpg&amp;#039;, transition: &amp;#039;slideRight2&amp;#039; }&lt;br /&gt;
    ]&lt;br /&gt;
});&lt;br /&gt;
TEST THE CODE&lt;br /&gt;
Click the button to test the example.&lt;br /&gt;
&lt;br /&gt;
RUN CODE&lt;br /&gt;
CALLBACKS AND EVENTS&lt;br /&gt;
VEGAS provides callback functions and events triggers on init, play, pause and slide change.&lt;br /&gt;
&lt;br /&gt;
OPTION	EVENT	DESCRIPTION&lt;br /&gt;
init	vegasinit	Function called when Vegas is applied to an element.&lt;br /&gt;
play	vegasplay	Function called when Vegas starts to play the slideshow.&lt;br /&gt;
pause	vegaspause	Function called when Vegas pauses the slideshow.&lt;br /&gt;
walk	vegaswalk	Function called when Vegas changes the slide.&lt;br /&gt;
end	vegasend	Function called when the Slideshow is completed (loop: false).&lt;br /&gt;
$elmt.vegas({&lt;br /&gt;
    slides: [&lt;br /&gt;
        { src: &amp;#039;/img/slide1.jpg&amp;#039; },&lt;br /&gt;
        { src: &amp;#039;/img/slide2.jpg&amp;#039; },&lt;br /&gt;
        { src: &amp;#039;/img/slide3.jpg&amp;#039; },&lt;br /&gt;
        { src: &amp;#039;/img/slide4.jpg&amp;#039; }&lt;br /&gt;
    ],&lt;br /&gt;
    init: function (globalSettings) {&lt;br /&gt;
        console.log(&amp;quot;Init&amp;quot;);&lt;br /&gt;
    },&lt;br /&gt;
    play: function (index, slideSettings) {&lt;br /&gt;
        console.log(&amp;quot;Play&amp;quot;);&lt;br /&gt;
    },&lt;br /&gt;
    walk: function (index, slideSettings) {&lt;br /&gt;
        console.log(&amp;quot;Slide index &amp;quot; + index + &amp;quot; image &amp;quot; + slideSettings.src);&lt;br /&gt;
    }&lt;br /&gt;
});&lt;br /&gt;
TEST THE CODE&lt;br /&gt;
Click the button to test the example.&lt;br /&gt;
&lt;br /&gt;
RUN CODE&lt;br /&gt;
$elmt.on(&amp;#039;vegaspause&amp;#039;, function (e, index, slideSettings) {&lt;br /&gt;
    console.log(&amp;quot;Pause on Slide index &amp;quot; + index);&lt;br /&gt;
});&lt;br /&gt;
OVERLAYS&lt;br /&gt;
Overlays are repeated dot pattern that can be applied to reduce artefact effects on scaled backgrounds.&lt;br /&gt;
&lt;br /&gt;
$elmt.vegas({&lt;br /&gt;
    slides: [&lt;br /&gt;
        { src: &amp;#039;/img/slide1.jpg&amp;#039; },&lt;br /&gt;
        { src: &amp;#039;/img/slide2.jpg&amp;#039; },&lt;br /&gt;
        { src: &amp;#039;/img/slide3.jpg&amp;#039; }&lt;br /&gt;
    ],&lt;br /&gt;
    overlay: true&lt;br /&gt;
});&lt;br /&gt;
010203040506070809&lt;br /&gt;
The overlay class is.vegas-overlay .&lt;br /&gt;
&lt;br /&gt;
VIDEOS&lt;br /&gt;
Experimental video support is providedAS A BONUS . Video backgrounds could not behave as expected on some browsers. Use it at your own risk :)&lt;br /&gt;
&lt;br /&gt;
OPTION	DEFAULT	DESCRIPTION&lt;br /&gt;
video.src	[]	Array of videos files&lt;br /&gt;
video.loop	true	Loop the video&lt;br /&gt;
video.mute	true	Mute the sound of the video&lt;br /&gt;
$elmt.vegas({&lt;br /&gt;
    slides: [&lt;br /&gt;
        {   src: &amp;#039;/img/slide1.jpg&amp;#039; },&lt;br /&gt;
        {   src: &amp;#039;/img/slide2.jpg&amp;#039;,&lt;br /&gt;
            video: {&lt;br /&gt;
                src: [&lt;br /&gt;
                    &amp;#039;/videos/video.mp4&amp;#039;,&lt;br /&gt;
                    &amp;#039;/videos/video.webm&amp;#039;,&lt;br /&gt;
                    &amp;#039;/videos/video.ogv&amp;#039;&lt;br /&gt;
                ],&lt;br /&gt;
                loop: false,&lt;br /&gt;
                mute: true&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
});&lt;br /&gt;
TEST THE CODE&lt;br /&gt;
Click the button to test the example.&lt;br /&gt;
&lt;br /&gt;
RUN CODE&lt;br /&gt;
Imagesrc is required for video slides as a fallback when videos cannot be played. The fallback image will be displayed instead. By default VEGAS excludes mobile devices.&lt;br /&gt;
&lt;br /&gt;
$.vegas.isVideoCompatible = function () {&lt;br /&gt;
    var devices = /(Android|webOS|Phone|iPad|iPod|BlackBerry|Windows Phone)/i;&lt;br /&gt;
    return !devices.test(navigator.userAgent);&lt;br /&gt;
}&lt;br /&gt;
Override this function if needed.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>91.33.206.179</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=JavaScript_-_Vegas_Slider&amp;diff=22354</id>
		<title>JavaScript - Vegas Slider</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=JavaScript_-_Vegas_Slider&amp;diff=22354"/>
		<updated>2017-06-07T06:41:04Z</updated>

		<summary type="html">&lt;p&gt;91.33.206.179: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Siehe auch:&lt;br /&gt;
* [[Processwire - Vegas Slideshow]]&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;// &amp;lt;![CDATA[&lt;br /&gt;
var $slider;&lt;br /&gt;
jQuery( document ).ready(function( $ ) {&lt;br /&gt;
  $slider = $(&amp;quot;.vegas&amp;quot;);&lt;br /&gt;
  $slider.vegas({&lt;br /&gt;
    preload: false,&lt;br /&gt;
    preloadVideo: true,&lt;br /&gt;
    delay:7000,&lt;br /&gt;
    timer:false,&lt;br /&gt;
    transition: &amp;quot;fade2&amp;quot;,&lt;br /&gt;
    transitionDuration: 1500,&lt;br /&gt;
    animation: &amp;quot;random&amp;quot;,&lt;br /&gt;
    slides: [&lt;br /&gt;
      { src: &amp;quot;http://szenerie-events.de/images/vegas/Slide01.jpg&amp;quot; }, &lt;br /&gt;
      { src: &amp;quot;http://szenerie-events.de/images/vegas/Slide02.jpg&amp;quot; },&lt;br /&gt;
      { src: &amp;quot;http://szenerie-events.de/images/vegas/Slide1.jpg&amp;quot; },&lt;br /&gt;
      { src: &amp;quot;http://szenerie-events.de/images/vegas/Slide2.jpg&amp;quot; },&lt;br /&gt;
      { src: &amp;quot;http://szenerie-events.de/images/vegas/Slide3.jpg&amp;quot; },&lt;br /&gt;
      { src: &amp;quot;http://szenerie-events.de/images/vegas/Slide4.jpg&amp;quot; },&lt;br /&gt;
      { src: &amp;quot;http://szenerie-events.de/images/vegas/Slide5.jpg&amp;quot; },&lt;br /&gt;
      { src: &amp;quot;http://szenerie-events.de/images/vegas/Slide6.jpg&amp;quot; },&lt;br /&gt;
      { src: &amp;quot;http://szenerie-events.de/images/vegas/Slide7.jpg&amp;quot; },&lt;br /&gt;
      { src: &amp;quot;http://szenerie-events.de/images/vegas/Slide8.jpg&amp;quot; },&lt;br /&gt;
      { src: &amp;quot;http://szenerie-events.de/images/vegas/Slide9.jpg&amp;quot; }&lt;br /&gt;
    ]&lt;br /&gt;
  });&lt;br /&gt;
  $(&amp;#039;span.next&amp;#039;).click(function(){&lt;br /&gt;
    $slider.vegas(&amp;#039;next&amp;#039;);&lt;br /&gt;
  });&lt;br /&gt;
  $(&amp;#039;span.prev&amp;#039;).click(function(){&lt;br /&gt;
    $slider.vegas(&amp;#039;previous&amp;#039;);&lt;br /&gt;
  });&lt;br /&gt;
});&lt;br /&gt;
// ]]&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tipps und Tricks ==&lt;br /&gt;
&lt;br /&gt;
=== Slide Navigation ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
  $(&amp;#039;span.next&amp;#039;).click(function(){&lt;br /&gt;
    $slider.vegas(&amp;#039;next&amp;#039;);&lt;br /&gt;
  });&lt;br /&gt;
  $(&amp;#039;span.prev&amp;#039;).click(function(){&lt;br /&gt;
    $slider.vegas(&amp;#039;previous&amp;#039;);&lt;br /&gt;
  });&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SETTINGS&lt;br /&gt;
Slideshow options and settings&lt;br /&gt;
&lt;br /&gt;
OPTION	DEFAULT	DESCRIPTION&lt;br /&gt;
slide	0	Index number of initial slide.&lt;br /&gt;
preload	false	Preload both images and videos at start.&lt;br /&gt;
preload­Image	false	Preload images at start. preload must be false .&lt;br /&gt;
preload­Video	false	Preload videos at start. preload must be false .&lt;br /&gt;
timer	true	Display/hide timer bar.&lt;br /&gt;
The timer class is .vegas-timer-progress .&lt;br /&gt;
overlay	false	Display/hide the overlay. Could be true false or the path of an overlay image pattern. These image can be found in the overlays folder. Read the Overlay section for more information.&lt;br /&gt;
autoplay	true	Start the Slideshow automatically.&lt;br /&gt;
loop	true	Loop the Slideshow.&lt;br /&gt;
shuffle	false	The array of slides is shuffled before.&lt;br /&gt;
delay	5000	Delay beetween slides in milliseconds.&lt;br /&gt;
cover	true	true the slide image is scaled to fit the container.&lt;br /&gt;
false the slide image is displayed entirely.&lt;br /&gt;
repeat the slide image is repeated.&lt;br /&gt;
color	-	Slide background color.&lt;br /&gt;
align	center	Horizontal alignment of the image in the slide.&lt;br /&gt;
Could be center top right bottom left or a percentage.&lt;br /&gt;
valign	center	Vertical alignment of the image in the slide.&lt;br /&gt;
Could be center top right bottom left or a percentage.&lt;br /&gt;
transition	fade	Set the transition between slides. Could be a transition name, random or an array of transition picked randomly.&lt;br /&gt;
Read the Transition section for more information.&lt;br /&gt;
transition­Duration	1000	Set the transition duration in milliseconds. Could be auto so the transition duration will be equal to the slide delay .&lt;br /&gt;
firstTransition	-	Set the transition for the first played slide. Could be a transition name, random or an array of transition picked randomly.&lt;br /&gt;
Read the Transition section for more information.&lt;br /&gt;
firstTransition­Duration	-	Set the transition duration in milliseconds for the first played slide. Could be auto so the transition duration will be equal to the slide delay .&lt;br /&gt;
transition­Register	-	Add custom transitions to the transitions list available in random mode. Read the Transition section for more information.&lt;br /&gt;
animation	-	Set the animation of the slides. Could be an animation name, random or an array of transition picked randomly.&lt;br /&gt;
Read the Transition section for more information.&lt;br /&gt;
animation­Duration	auto	Set the animation duration in milliseconds. Could be auto so the animation duration will be equal to the slide delay .&lt;br /&gt;
animation­Register	-	Add custom animations to the animations list available in random mode. Read the Transition section for more information.&lt;br /&gt;
slidesToKeep	1	Number of slides to keep in the background before removing it.&lt;br /&gt;
slides	-	Array of slides.&lt;br /&gt;
Read the option section for more information.&lt;br /&gt;
$elmt.vegas({&lt;br /&gt;
    delay: 7000,&lt;br /&gt;
    timer: false,&lt;br /&gt;
    shuffle: true,&lt;br /&gt;
    firstTransition: &amp;#039;fade&amp;#039;,&lt;br /&gt;
    firstTransitionDuration: 5000,&lt;br /&gt;
    transition: &amp;#039;slideDown2&amp;#039;,&lt;br /&gt;
    transitionDuration: 2000,&lt;br /&gt;
    slides: [&lt;br /&gt;
        { src: &amp;#039;/img/slide1.jpg&amp;#039; },&lt;br /&gt;
        { src: &amp;#039;/img/slide2.jpg&amp;#039; },&lt;br /&gt;
        { src: &amp;#039;/img/slide3.jpg&amp;#039; },&lt;br /&gt;
        { src: &amp;#039;/img/slide4.jpg&amp;#039; }&lt;br /&gt;
    ]&lt;br /&gt;
});&lt;br /&gt;
TEST THE CODE&lt;br /&gt;
Click the button to test the example.&lt;br /&gt;
&lt;br /&gt;
RUN CODE&lt;br /&gt;
SLIDE SETTINGS&lt;br /&gt;
Specific slide options and settings.&lt;br /&gt;
&lt;br /&gt;
OPTION	DEFAULT	DESCRIPTION&lt;br /&gt;
src	-	Path of the image.&lt;br /&gt;
video	-	Path of the video. Could be a string or an array of sources.&lt;br /&gt;
 Read the Video section for more information.&lt;br /&gt;
delay	5000	Delay beetween slides in milliseconds.&lt;br /&gt;
cover	true	true the background image is scaled to fit the container.&lt;br /&gt;
false the background image is displayed entirely.&lt;br /&gt;
color	-	Slide background color.&lt;br /&gt;
align	center	Horizontal alignment of the image in the slide.&lt;br /&gt;
Could be center top right bottom left or a percentage.&lt;br /&gt;
valign	center	Vertical alignment of the image in the slide.&lt;br /&gt;
Could be center top right bottom left or a percentage.&lt;br /&gt;
transition	fade	Set the transition of this slide. Could be a transition name, random or an array of transition picked randomly.&lt;br /&gt;
Read the Transition section for more information.&lt;br /&gt;
transition­Duration	1000	Set the transition duration in milliseconds. Could be auto so the transition duration will be equal to the slide delay .&lt;br /&gt;
animation	-	Set the animation of this slide. Could be an animation name, random or an array of transition picked randomly.&lt;br /&gt;
Read the Transition section for more information.&lt;br /&gt;
animation­Duration	auto	Set the animation duration in milliseconds. Could be auto so the animation duration will be equal to the slide delay .&lt;br /&gt;
$elmt.vegas({&lt;br /&gt;
    timer: false,&lt;br /&gt;
    transition: &amp;#039;slideLeft2&amp;#039;,&lt;br /&gt;
    slides: [&lt;br /&gt;
        { src: &amp;#039;/img/slide1.jpg&amp;#039; },&lt;br /&gt;
        { src: &amp;#039;/img/slide2.jpg&amp;#039;, transition: &amp;#039;slideRight2&amp;#039; },&lt;br /&gt;
        { src: &amp;#039;/img/slide3.jpg&amp;#039; },&lt;br /&gt;
        { src: &amp;#039;/img/slide4.jpg&amp;#039;, transition: &amp;#039;slideRight2&amp;#039; }&lt;br /&gt;
    ]&lt;br /&gt;
});&lt;br /&gt;
TEST THE CODE&lt;br /&gt;
Click the button to test the example.&lt;br /&gt;
&lt;br /&gt;
RUN CODE&lt;br /&gt;
CALLBACKS AND EVENTS&lt;br /&gt;
VEGAS provides callback functions and events triggers on init, play, pause and slide change.&lt;br /&gt;
&lt;br /&gt;
OPTION	EVENT	DESCRIPTION&lt;br /&gt;
init	vegasinit	Function called when Vegas is applied to an element.&lt;br /&gt;
play	vegasplay	Function called when Vegas starts to play the slideshow.&lt;br /&gt;
pause	vegaspause	Function called when Vegas pauses the slideshow.&lt;br /&gt;
walk	vegaswalk	Function called when Vegas changes the slide.&lt;br /&gt;
end	vegasend	Function called when the Slideshow is completed (loop: false).&lt;br /&gt;
$elmt.vegas({&lt;br /&gt;
    slides: [&lt;br /&gt;
        { src: &amp;#039;/img/slide1.jpg&amp;#039; },&lt;br /&gt;
        { src: &amp;#039;/img/slide2.jpg&amp;#039; },&lt;br /&gt;
        { src: &amp;#039;/img/slide3.jpg&amp;#039; },&lt;br /&gt;
        { src: &amp;#039;/img/slide4.jpg&amp;#039; }&lt;br /&gt;
    ],&lt;br /&gt;
    init: function (globalSettings) {&lt;br /&gt;
        console.log(&amp;quot;Init&amp;quot;);&lt;br /&gt;
    },&lt;br /&gt;
    play: function (index, slideSettings) {&lt;br /&gt;
        console.log(&amp;quot;Play&amp;quot;);&lt;br /&gt;
    },&lt;br /&gt;
    walk: function (index, slideSettings) {&lt;br /&gt;
        console.log(&amp;quot;Slide index &amp;quot; + index + &amp;quot; image &amp;quot; + slideSettings.src);&lt;br /&gt;
    }&lt;br /&gt;
});&lt;br /&gt;
TEST THE CODE&lt;br /&gt;
Click the button to test the example.&lt;br /&gt;
&lt;br /&gt;
RUN CODE&lt;br /&gt;
$elmt.on(&amp;#039;vegaspause&amp;#039;, function (e, index, slideSettings) {&lt;br /&gt;
    console.log(&amp;quot;Pause on Slide index &amp;quot; + index);&lt;br /&gt;
});&lt;br /&gt;
OVERLAYS&lt;br /&gt;
Overlays are repeated dot pattern that can be applied to reduce artefact effects on scaled backgrounds.&lt;br /&gt;
&lt;br /&gt;
$elmt.vegas({&lt;br /&gt;
    slides: [&lt;br /&gt;
        { src: &amp;#039;/img/slide1.jpg&amp;#039; },&lt;br /&gt;
        { src: &amp;#039;/img/slide2.jpg&amp;#039; },&lt;br /&gt;
        { src: &amp;#039;/img/slide3.jpg&amp;#039; }&lt;br /&gt;
    ],&lt;br /&gt;
    overlay: true&lt;br /&gt;
});&lt;br /&gt;
010203040506070809&lt;br /&gt;
The overlay class is.vegas-overlay .&lt;br /&gt;
&lt;br /&gt;
VIDEOS&lt;br /&gt;
Experimental video support is providedAS A BONUS . Video backgrounds could not behave as expected on some browsers. Use it at your own risk :)&lt;br /&gt;
&lt;br /&gt;
OPTION	DEFAULT	DESCRIPTION&lt;br /&gt;
video.src	[]	Array of videos files&lt;br /&gt;
video.loop	true	Loop the video&lt;br /&gt;
video.mute	true	Mute the sound of the video&lt;br /&gt;
$elmt.vegas({&lt;br /&gt;
    slides: [&lt;br /&gt;
        {   src: &amp;#039;/img/slide1.jpg&amp;#039; },&lt;br /&gt;
        {   src: &amp;#039;/img/slide2.jpg&amp;#039;,&lt;br /&gt;
            video: {&lt;br /&gt;
                src: [&lt;br /&gt;
                    &amp;#039;/videos/video.mp4&amp;#039;,&lt;br /&gt;
                    &amp;#039;/videos/video.webm&amp;#039;,&lt;br /&gt;
                    &amp;#039;/videos/video.ogv&amp;#039;&lt;br /&gt;
                ],&lt;br /&gt;
                loop: false,&lt;br /&gt;
                mute: true&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
});&lt;br /&gt;
TEST THE CODE&lt;br /&gt;
Click the button to test the example.&lt;br /&gt;
&lt;br /&gt;
RUN CODE&lt;br /&gt;
Imagesrc is required for video slides as a fallback when videos cannot be played. The fallback image will be displayed instead. By default VEGAS excludes mobile devices.&lt;br /&gt;
&lt;br /&gt;
$.vegas.isVideoCompatible = function () {&lt;br /&gt;
    var devices = /(Android|webOS|Phone|iPad|iPod|BlackBerry|Windows Phone)/i;&lt;br /&gt;
    return !devices.test(navigator.userAgent);&lt;br /&gt;
}&lt;br /&gt;
Override this function if needed.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>91.33.206.179</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Processwire_-_Vegas_Slideshow&amp;diff=22353</id>
		<title>Processwire - Vegas Slideshow</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Processwire_-_Vegas_Slideshow&amp;diff=22353"/>
		<updated>2017-06-07T06:35:44Z</updated>

		<summary type="html">&lt;p&gt;91.33.206.179: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Vegas Slideshow in Processwire Integrieren Beispiele ==&lt;br /&gt;
Siehe auch &lt;br /&gt;
* [[JavaScript - Vegas Slider]]&lt;br /&gt;
== Beispiel 1 ==&lt;br /&gt;
=== Header ===&lt;br /&gt;
 &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;&amp;lt;?php echo $config-&amp;gt;urls-&amp;gt;templates?&amp;gt;vendors/vegas/vegas.min.css&amp;quot; type=&amp;quot;text/css&amp;quot; media=&amp;quot;screen&amp;quot;&amp;gt;&lt;br /&gt;
=== Footer ===&lt;br /&gt;
 &amp;lt;script src=&amp;quot;&amp;lt;?php echo $config-&amp;gt;urls-&amp;gt;templates?&amp;gt;vendors/vegas/vegas.min.js&amp;quot; type=&amp;quot;text/javascript&amp;quot; charset=&amp;quot;utf-8&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
=== Main JavaScript ===&lt;br /&gt;
Wir prüfen ob die Funktion initVegas auf der Seite vorhanden ist bevor wir versuchen sie auszuführen. So gibt es keine Fehler auf Seiten, auf denen die Funktion nicht genutzt wird.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
(function($){ //create closure so we can safely use $ as alias for jQuery&lt;br /&gt;
  $(document).ready(function(){&lt;br /&gt;
    // init Vegas&lt;br /&gt;
    if (ifNamespaceFunctionExists(&amp;quot;initVegas&amp;quot;) ) {// init Vegas Slider if av.&lt;br /&gt;
      initVegas();&lt;br /&gt;
    }&lt;br /&gt;
  });&lt;br /&gt;
})(jQuery);&lt;br /&gt;
&lt;br /&gt;
function ifNamespaceFunctionExists(myFnc){&lt;br /&gt;
  //var myFnc = &amp;quot;foo.bar.fun&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  var nameParts = myFnc.split(&amp;quot;.&amp;quot;);  //split up the string into the different levels&lt;br /&gt;
  var fnc = window;  //set it to window&lt;br /&gt;
  for(var i=0;i&amp;lt;nameParts.length;i++){  //loop through each level of the namespace&lt;br /&gt;
      fnc = fnc[nameParts[i]];&lt;br /&gt;
      if(!fnc){  //make sure it exists, if not exit loop&lt;br /&gt;
          fnc = null;&lt;br /&gt;
          break;&lt;br /&gt;
      }&lt;br /&gt;
  }&lt;br /&gt;
  if( fnc &amp;amp;&amp;amp; typeof fnc === &amp;quot;function&amp;quot; ) {  //make sure it exists and it is a function&lt;br /&gt;
      return true;  //or execute it&lt;br /&gt;
  }else return false;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Processwire Template ===&lt;/div&gt;</summary>
		<author><name>91.33.206.179</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Processwire_-_Vegas_Slideshow&amp;diff=22352</id>
		<title>Processwire - Vegas Slideshow</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Processwire_-_Vegas_Slideshow&amp;diff=22352"/>
		<updated>2017-06-07T06:35:14Z</updated>

		<summary type="html">&lt;p&gt;91.33.206.179: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Vegas Slideshow in Processwire Integrieren Beispiele ==&lt;br /&gt;
Siehe auch &lt;br /&gt;
* [[JavaScript - Vegas Slideshow]]&lt;br /&gt;
== Beispiel 1 ==&lt;br /&gt;
=== Header ===&lt;br /&gt;
 &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;&amp;lt;?php echo $config-&amp;gt;urls-&amp;gt;templates?&amp;gt;vendors/vegas/vegas.min.css&amp;quot; type=&amp;quot;text/css&amp;quot; media=&amp;quot;screen&amp;quot;&amp;gt;&lt;br /&gt;
=== Footer ===&lt;br /&gt;
 &amp;lt;script src=&amp;quot;&amp;lt;?php echo $config-&amp;gt;urls-&amp;gt;templates?&amp;gt;vendors/vegas/vegas.min.js&amp;quot; type=&amp;quot;text/javascript&amp;quot; charset=&amp;quot;utf-8&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
=== Main JavaScript ===&lt;br /&gt;
Wir prüfen ob die Funktion initVegas auf der Seite vorhanden ist bevor wir versuchen sie auszuführen. So gibt es keine Fehler auf Seiten, auf denen die Funktion nicht genutzt wird.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
(function($){ //create closure so we can safely use $ as alias for jQuery&lt;br /&gt;
  $(document).ready(function(){&lt;br /&gt;
    // init Vegas&lt;br /&gt;
    if (ifNamespaceFunctionExists(&amp;quot;initVegas&amp;quot;) ) {// init Vegas Slider if av.&lt;br /&gt;
      initVegas();&lt;br /&gt;
    }&lt;br /&gt;
  });&lt;br /&gt;
})(jQuery);&lt;br /&gt;
&lt;br /&gt;
function ifNamespaceFunctionExists(myFnc){&lt;br /&gt;
  //var myFnc = &amp;quot;foo.bar.fun&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  var nameParts = myFnc.split(&amp;quot;.&amp;quot;);  //split up the string into the different levels&lt;br /&gt;
  var fnc = window;  //set it to window&lt;br /&gt;
  for(var i=0;i&amp;lt;nameParts.length;i++){  //loop through each level of the namespace&lt;br /&gt;
      fnc = fnc[nameParts[i]];&lt;br /&gt;
      if(!fnc){  //make sure it exists, if not exit loop&lt;br /&gt;
          fnc = null;&lt;br /&gt;
          break;&lt;br /&gt;
      }&lt;br /&gt;
  }&lt;br /&gt;
  if( fnc &amp;amp;&amp;amp; typeof fnc === &amp;quot;function&amp;quot; ) {  //make sure it exists and it is a function&lt;br /&gt;
      return true;  //or execute it&lt;br /&gt;
  }else return false;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Processwire Template ===&lt;/div&gt;</summary>
		<author><name>91.33.206.179</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Processwire_-_Vegas_Slideshow&amp;diff=22351</id>
		<title>Processwire - Vegas Slideshow</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Processwire_-_Vegas_Slideshow&amp;diff=22351"/>
		<updated>2017-06-06T15:40:10Z</updated>

		<summary type="html">&lt;p&gt;91.33.206.179: Die Seite wurde neu angelegt: „== Vegas Slideshow in Processwire Integrieren Beispiele ==  == Beispiel 1 == === Header ===  &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;&amp;lt;?php echo $config-&amp;gt;urls-&amp;gt;templates?&amp;gt;…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Vegas Slideshow in Processwire Integrieren Beispiele ==&lt;br /&gt;
&lt;br /&gt;
== Beispiel 1 ==&lt;br /&gt;
=== Header ===&lt;br /&gt;
 &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;&amp;lt;?php echo $config-&amp;gt;urls-&amp;gt;templates?&amp;gt;vendors/vegas/vegas.min.css&amp;quot; type=&amp;quot;text/css&amp;quot; media=&amp;quot;screen&amp;quot;&amp;gt;&lt;br /&gt;
=== Footer ===&lt;br /&gt;
 &amp;lt;script src=&amp;quot;&amp;lt;?php echo $config-&amp;gt;urls-&amp;gt;templates?&amp;gt;vendors/vegas/vegas.min.js&amp;quot; type=&amp;quot;text/javascript&amp;quot; charset=&amp;quot;utf-8&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
=== Main JavaScript ===&lt;br /&gt;
Wir prüfen ob die Funktion initVegas auf der Seite vorhanden ist bevor wir versuchen sie auszuführen. So gibt es keine Fehler auf Seiten, auf denen die Funktion nicht genutzt wird.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
(function($){ //create closure so we can safely use $ as alias for jQuery&lt;br /&gt;
  $(document).ready(function(){&lt;br /&gt;
    // init Vegas&lt;br /&gt;
    if (ifNamespaceFunctionExists(&amp;quot;initVegas&amp;quot;) ) {// init Vegas Slider if av.&lt;br /&gt;
      initVegas();&lt;br /&gt;
    }&lt;br /&gt;
  });&lt;br /&gt;
})(jQuery);&lt;br /&gt;
&lt;br /&gt;
function ifNamespaceFunctionExists(myFnc){&lt;br /&gt;
  //var myFnc = &amp;quot;foo.bar.fun&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  var nameParts = myFnc.split(&amp;quot;.&amp;quot;);  //split up the string into the different levels&lt;br /&gt;
  var fnc = window;  //set it to window&lt;br /&gt;
  for(var i=0;i&amp;lt;nameParts.length;i++){  //loop through each level of the namespace&lt;br /&gt;
      fnc = fnc[nameParts[i]];&lt;br /&gt;
      if(!fnc){  //make sure it exists, if not exit loop&lt;br /&gt;
          fnc = null;&lt;br /&gt;
          break;&lt;br /&gt;
      }&lt;br /&gt;
  }&lt;br /&gt;
  if( fnc &amp;amp;&amp;amp; typeof fnc === &amp;quot;function&amp;quot; ) {  //make sure it exists and it is a function&lt;br /&gt;
      return true;  //or execute it&lt;br /&gt;
  }else return false;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Processwire Template ===&lt;/div&gt;</summary>
		<author><name>91.33.206.179</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=ProcessWire_-_Snippets&amp;diff=22350</id>
		<title>ProcessWire - Snippets</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=ProcessWire_-_Snippets&amp;diff=22350"/>
		<updated>2017-06-06T15:12:37Z</updated>

		<summary type="html">&lt;p&gt;91.33.206.179: /* Copy and Paste */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Basics ==&lt;br /&gt;
=== Bild in Template einbinden ===&lt;br /&gt;
 &amp;lt;img src=&amp;quot;&amp;lt;?php echo $config-&amp;gt;urls-&amp;gt;templates?&amp;gt;img/menu.png&amp;quot; alt=&amp;quot;Home&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Link zu Seite ===&lt;br /&gt;
 &amp;lt;a href=&amp;quot;&amp;lt;?php echo $pages-&amp;gt;get(&amp;#039;/kontakt/&amp;#039;)-&amp;gt;url; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
=== Wert aus Textfeld ===&lt;br /&gt;
 &amp;lt;div class=&amp;quot;&amp;lt;? echo $page-&amp;gt;get(&amp;quot;content_class&amp;quot;)?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
== Bilder ==&lt;br /&gt;
=== Advanced Image Manipulation ===&lt;br /&gt;
[[Processwire - Advanced Image Manipulation]]&lt;br /&gt;
=== Einzelbild einfügen ===&lt;br /&gt;
====Bild aus Backend als Hintergrund einfügen====&lt;br /&gt;
(Feldname hier: &amp;#039;&amp;#039;main_image&amp;#039;&amp;#039;)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
if($page-&amp;gt;main_image){$image = $page-&amp;gt;main_image-&amp;gt;size(640,960);}&lt;br /&gt;
else $image = NULL;&lt;br /&gt;
...&lt;br /&gt;
if($image){&lt;br /&gt;
  echo &amp;quot;&lt;br /&gt;
  &amp;lt;div class=&amp;#039;a-3-4 team-image&amp;#039; style=&amp;#039;background-image:url({$image-&amp;gt;url})&amp;#039;&amp;gt;&lt;br /&gt;
    &amp;lt;div&amp;gt;{$myContent}&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== n-tes Bild einfügen ===&lt;br /&gt;
 $page-&amp;gt;images-&amp;gt;eq(1); // second image&lt;br /&gt;
&lt;br /&gt;
=== Mehrere Bilder aus dem Backend ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$myImages=&amp;#039;&amp;#039;;&lt;br /&gt;
if(count($page-&amp;gt;images)) {&lt;br /&gt;
  foreach($page-&amp;gt;images as $image) {&lt;br /&gt;
    $myImages .=  &amp;#039;&amp;lt;img class=&amp;quot;img-responsive&amp;quot; src=&amp;quot;&amp;#039;.$image-&amp;gt;url.&amp;#039;&amp;quot;&amp;gt;&amp;#039;;&lt;br /&gt;
  }&lt;br /&gt;
}   &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beispiel 2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
echo $page-&amp;gt;images-&amp;gt;implode(function($item) {&lt;br /&gt;
  $large = $item-&amp;gt;size(1200,800);&lt;br /&gt;
  $thumb = $item-&amp;gt;size(400,300);&lt;br /&gt;
  return &amp;quot;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#039;$large-&amp;gt;url&amp;#039;&amp;gt;&amp;lt;img src=&amp;#039;$thumb-&amp;gt;url&amp;#039; alt=&amp;#039;$item-&amp;gt;description&amp;#039;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;quot;;&lt;br /&gt;
}, array(&amp;#039;prepend&amp;#039; =&amp;gt; &amp;#039;&amp;lt;ul&amp;gt;&amp;#039;, &amp;#039;append&amp;#039; =&amp;gt; &amp;#039;&amp;lt;/ul&amp;gt;&amp;#039;));  &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== Einfache Gallerie ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$gallery = &amp;#039;&amp;lt;div class=&amp;quot;gallery&amp;quot;&amp;gt;&amp;#039;;&lt;br /&gt;
$images = $page-&amp;gt;gallery;&lt;br /&gt;
&lt;br /&gt;
// add thumbnail to gallery&lt;br /&gt;
if(count($page-&amp;gt;thumbnail)){&lt;br /&gt;
    $gallery .= &amp;#039;&amp;lt;a class=&amp;quot;chocolat-image gallery-item&amp;quot; href=&amp;quot;&amp;#039;.$page-&amp;gt;thumbnail-&amp;gt;url.&amp;#039;&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;&amp;#039;. $page-&amp;gt;thumbnail-&amp;gt;getThumb(&amp;#039;thumbnail&amp;#039;) .&amp;#039;&amp;quot; title=&amp;quot;&amp;#039;. $image-&amp;gt;description .&amp;#039;&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
foreach($images as $image){&lt;br /&gt;
    $gallery .= &amp;#039;&amp;lt;a class=&amp;quot;chocolat-image gallery-item&amp;quot; href=&amp;quot;&amp;#039;.$image-&amp;gt;url.&amp;#039;&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;&amp;#039;. $image-&amp;gt;getThumb(&amp;#039;thumbnail&amp;#039;) .&amp;#039;&amp;quot; title=&amp;quot;&amp;#039;. $image-&amp;gt;description .&amp;#039;&amp;quot;&amp;gt;&amp;lt;/a&amp;gt; &amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
$gallery .= &amp;#039;&amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Slider mit Processwire ===&lt;br /&gt;
[[Processwire - Slider]]&lt;br /&gt;
&lt;br /&gt;
== File Uploads ==&lt;br /&gt;
[[ProcessWire - Uploads]]&lt;br /&gt;
&lt;br /&gt;
== Navigation ==&lt;br /&gt;
[[ProcessWire - Navigation Snippets]]&lt;br /&gt;
&lt;br /&gt;
== Seiten ==&lt;br /&gt;
http://processwire.com/api/variables/pages/&lt;br /&gt;
=== Inhalt einer Seite mit $page-&amp;gt;get() ===&lt;br /&gt;
Beispiel&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Visit us at:  &amp;lt;?php  &lt;br /&gt;
$contact = $pages-&amp;gt;get(&amp;quot;/about/contact/&amp;quot;);&lt;br /&gt;
echo $contact-&amp;gt;address;&lt;br /&gt;
?&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Kürzer:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Visit us at: &amp;lt;?=$pages-&amp;gt;get(&amp;quot;/about/contact/&amp;quot;)-&amp;gt;address?&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Mehrere Seiten finden mit find() ===&lt;br /&gt;
&amp;quot;Featured&amp;quot; Checkbox im Backend angehakt.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt; &amp;lt;?php &lt;br /&gt;
$features = $pages-&amp;gt;find(&amp;quot;featured=1&amp;quot;);&lt;br /&gt;
foreach($features as $feature)&lt;br /&gt;
   echo &amp;quot;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#039;{$feature-&amp;gt;url}&amp;#039;&amp;gt;{$feature-&amp;gt;title}&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;quot;;&lt;br /&gt;
?&amp;gt; &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Komplexere Beispiele&lt;br /&gt;
&lt;br /&gt;
Limitiert, sortiert und in Unterverzeichnis&lt;br /&gt;
 $pages-&amp;gt;find(&amp;quot;parent=/about/press/, featured=1, limit=3, sort=-date&amp;quot;);&lt;br /&gt;
oder&lt;br /&gt;
 $pages-&amp;gt;get(&amp;quot;/about/press/&amp;quot;)-&amp;gt;children(&amp;quot;featured=1, limit=3, sort=-date&amp;quot;);&lt;br /&gt;
Finde in Kategorie&lt;br /&gt;
 $pages-&amp;gt;get(&amp;quot;/about/press/&amp;quot;)-&amp;gt;find(&amp;quot;featured=1, limit=3, sort=-date&amp;quot;);&lt;br /&gt;
Finde über Template&lt;br /&gt;
 $pages-&amp;gt;find(&amp;quot;template=press_release, featured=1, limit=3, sort=-date&amp;quot;);&lt;br /&gt;
Ausführliches Beispiel mit Ausgabe&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt; &amp;lt;?php &lt;br /&gt;
$features = $pages-&amp;gt;find(&amp;quot;template=press_release, featured=1, limit=3, sort=-date&amp;quot;);&lt;br /&gt;
foreach($features as $feature) {&lt;br /&gt;
  echo &amp;quot;&amp;lt;li&amp;gt;&amp;quot; .&lt;br /&gt;
    &amp;quot;&amp;lt;h3&amp;gt;&amp;lt;a href=&amp;#039;{$feature-&amp;gt;url}&amp;#039;&amp;gt;{$feature-&amp;gt;title}&amp;lt;/a&amp;gt;&amp;lt;/h3&amp;gt;&amp;quot; .&lt;br /&gt;
    &amp;quot;&amp;lt;span class=&amp;#039;date&amp;#039;&amp;gt;{$feature-&amp;gt;date}&amp;lt;/span&amp;gt;&amp;quot; .&lt;br /&gt;
    &amp;quot;&amp;lt;p&amp;gt;{$feature-&amp;gt;summary}&amp;lt;/p&amp;gt;&amp;quot; .&lt;br /&gt;
    &amp;quot;&amp;lt;/li&amp;gt;&amp;quot;; &lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
== Felder ==&lt;br /&gt;
=== Ist ein Feld leer ? ===&lt;br /&gt;
 if($page-&amp;gt;summary_de) { ... }&lt;br /&gt;
 // check whitespace&lt;br /&gt;
 if(trim($page-&amp;gt;summary_de)) { ... }&lt;br /&gt;
&lt;br /&gt;
== Searchbar ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	&amp;lt;!-- search form--&amp;gt;&lt;br /&gt;
	&amp;lt;form class=&amp;#039;search&amp;#039; action=&amp;#039;&amp;lt;?php echo $pages-&amp;gt;get(&amp;#039;template=search&amp;#039;)-&amp;gt;url; ?&amp;gt;&amp;#039; method=&amp;#039;get&amp;#039;&amp;gt;&lt;br /&gt;
		&amp;lt;input type=&amp;#039;text&amp;#039; name=&amp;#039;q&amp;#039; placeholder=&amp;#039;Search&amp;#039; value=&amp;#039;&amp;lt;?php echo $sanitizer-&amp;gt;entities($input-&amp;gt;whitelist(&amp;#039;q&amp;#039;)); ?&amp;gt;&amp;#039; /&amp;gt;&lt;br /&gt;
		&amp;lt;button type=&amp;#039;submit&amp;#039; name=&amp;#039;submit&amp;#039;&amp;gt;Search&amp;lt;/button&amp;gt;&lt;br /&gt;
	&amp;lt;/form&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Editor Link ==&lt;br /&gt;
_main.php&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;editor&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
  if($user-&amp;gt;isLoggedin()) {&lt;br /&gt;
    // if user is logged in, show a logout link&lt;br /&gt;
    echo &amp;quot;&amp;lt;a href=&amp;#039;{$config-&amp;gt;urls-&amp;gt;admin}login/logout/&amp;#039;&amp;gt;Logout ($user-&amp;gt;name)&amp;lt;/a&amp;gt;&amp;quot;;&lt;br /&gt;
  } else {&lt;br /&gt;
    // if user not logged in, show a login link&lt;br /&gt;
    echo &amp;quot;&amp;lt;a href=&amp;#039;{$config-&amp;gt;urls-&amp;gt;admin}&amp;#039;&amp;gt;∆&amp;lt;/a&amp;gt;&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
  // output an &amp;quot;Edit&amp;quot; link if this page happens to be editable by the current user&lt;br /&gt;
  if($page-&amp;gt;editable()) echo &amp;quot;&amp;lt;li class=&amp;#039;edit nav&amp;#039;&amp;gt;&amp;lt;a href=&amp;#039;$page-&amp;gt;editUrl&amp;#039;&amp;gt;Edit&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;quot;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conditions ==&lt;br /&gt;
=== Conditions für Navigation ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
// If the page has children, then render navigation to them under the body.&lt;br /&gt;
// See the _func.php for the renderNav example function.&lt;br /&gt;
if($page-&amp;gt;hasChildren) {&lt;br /&gt;
	$content .= renderNav($page-&amp;gt;children);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
// if the rootParent (section) page has more than 1 child, then render &lt;br /&gt;
// section navigation in the sidebar&lt;br /&gt;
if($page-&amp;gt;rootParent-&amp;gt;hasChildren &amp;gt; 1) {&lt;br /&gt;
	$sidebar = renderNavTree($page-&amp;gt;rootParent, 3) . $page-&amp;gt;sidebar; &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
== Copy and Paste ==&lt;br /&gt;
&lt;br /&gt;
=== Copyright / Published Date ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$published_date = date(&amp;#039;d.m.Y&amp;#039;,$page-&amp;gt;created);&lt;br /&gt;
&amp;lt;?= &amp;#039;&amp;amp;copy;&amp;#039;.$published_date ?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Stylesheets und Skripte mit AIOM ===&lt;br /&gt;
 &amp;lt;script src=&amp;quot;&amp;lt;?php echo AIOM::JS(array(&amp;#039;scripts/jquery-2.2.4.min.js&amp;#039;,&amp;#039;scripts/jquery.chocolat.js&amp;#039;,&amp;#039;scripts/jquery.fitvids.js&amp;#039;,&amp;#039;scripts/jquery.flexslider-min.js&amp;#039;, &amp;#039;scripts/main.js&amp;#039;)); ?&amp;gt;&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
 &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;lt;?php echo AIOM::CSS(&amp;#039;styles/main.less&amp;#039;); ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;?php echo $homepage-&amp;gt;site_title .&amp;#039; &amp;#039;. Date(&amp;#039;Y&amp;#039;); ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Link zur Seite anhand URL-Pfad ===&lt;br /&gt;
 &amp;lt;?php echo $pages-&amp;gt;get(&amp;#039;/ueber-uns/&amp;#039;)-&amp;gt;url; ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Feld einer Seite ===&lt;br /&gt;
 $content_left = $page-&amp;gt;get(&amp;#039;content_left&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
=== Bild ===&lt;br /&gt;
 if($page-&amp;gt;main_image){$image = $page-&amp;gt;main_image-&amp;gt;size(640,960);}&lt;br /&gt;
 else $image = NULL;&lt;br /&gt;
&lt;br /&gt;
=== Simple Navigation ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;ul class=&amp;#039;nav-list&amp;#039;&amp;gt;&lt;br /&gt;
  &amp;lt;?php&lt;br /&gt;
  // Childrens&lt;br /&gt;
  foreach(($page-&amp;gt;children) as $item) {&lt;br /&gt;
    if($item-&amp;gt;id == $page-&amp;gt;rootParent-&amp;gt;id) {&lt;br /&gt;
      echo &amp;#039;&amp;lt;li class=&amp;quot;current&amp;quot;&amp;gt;&amp;#039;;&lt;br /&gt;
    } else {&lt;br /&gt;
      echo &amp;#039;&amp;lt;li&amp;gt;&amp;#039;;&lt;br /&gt;
    }&lt;br /&gt;
    echo &amp;#039;&amp;lt;a class=&amp;quot;ajax-link&amp;quot; href=&amp;quot;&amp;#039;.$item-&amp;gt;url.&amp;#039;&amp;quot;&amp;gt;&amp;#039;.$item-&amp;gt;title.&amp;#039;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;#039;;&lt;br /&gt;
  }&lt;br /&gt;
  ?&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Auflistung mit div. Feldern aus Kindseiten ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
/**&lt;br /&gt;
 * Publications list template&lt;br /&gt;
 *&lt;br /&gt;
 */&lt;br /&gt;
$publications = &amp;#039;&amp;#039;;&lt;br /&gt;
$children = $page-&amp;gt;children;&lt;br /&gt;
foreach($children as $child){&lt;br /&gt;
  $publications .= &amp;#039;&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&amp;#039;;&lt;br /&gt;
  $publications .= &amp;#039;&amp;lt;h2&amp;gt;&amp;lt;a class=&amp;quot;ajax-link&amp;quot; parent=&amp;quot;&amp;#039;. $child-&amp;gt;parent-&amp;gt;title .&amp;#039;&amp;quot; name=&amp;quot;&amp;#039;.$child-&amp;gt;title.&amp;#039;&amp;quot; href=&amp;quot;&amp;#039;. $child-&amp;gt;url. &amp;#039;&amp;quot;&amp;gt;&amp;#039;. $child-&amp;gt;title . &amp;#039;&amp;lt;/a&amp;gt;&amp;lt;/h2&amp;gt;&amp;#039;;&lt;br /&gt;
  $publications .= $child-&amp;gt;body;&lt;br /&gt;
  $publications .= &amp;#039;&amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
$content = $page-&amp;gt;body . $publications;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Minigalerie ===&lt;br /&gt;
Thumbnails / Child Pages&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$works = &amp;#039;&amp;lt;div class=&amp;quot;gallery&amp;quot;&amp;gt;&amp;#039;;&lt;br /&gt;
$children = $page-&amp;gt;children;&lt;br /&gt;
foreach($children as $child){&lt;br /&gt;
  $works .= &amp;#039;&amp;lt;a class=&amp;quot;ajax-link&amp;quot; parent=&amp;quot;&amp;#039;. $child-&amp;gt;parent-&amp;gt;title .&amp;#039;&amp;quot; name=&amp;quot;&amp;#039;.$child-&amp;gt;title.&amp;#039;&amp;quot; href=&amp;quot;&amp;#039;. $child-&amp;gt;url. &amp;#039;&amp;quot;&amp;gt;&amp;#039;;&lt;br /&gt;
  $works .= &amp;#039;&amp;lt;h2&amp;gt;&amp;#039;. $child-&amp;gt;title . &amp;#039;&amp;lt;/h2&amp;gt;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
  if(count($child-&amp;gt;thumbnail)){&lt;br /&gt;
      $works .= &amp;#039;&amp;lt;div class=&amp;quot;thumbnail&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;&amp;#039;. $child-&amp;gt;thumbnail-&amp;gt;getThumb(&amp;#039;thumbnail&amp;#039;) .&amp;#039;&amp;quot; title=&amp;quot;&amp;#039;. $image-&amp;gt;description .&amp;#039;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  $works .= &amp;#039;&amp;lt;/a&amp;gt;&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
$works .= &amp;#039;&amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$content = $page-&amp;gt;body . $works . &amp;#039;&amp;lt;br/&amp;gt;&amp;#039; . $page-&amp;gt;video;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Page Navigation ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
// add next button if there is another page next&lt;br /&gt;
if($page-&amp;gt;next-&amp;gt;id){&lt;br /&gt;
    $next = &amp;#039;&amp;lt;div class=&amp;quot;next&amp;quot;&amp;gt;&amp;lt;i&amp;gt;Next:&amp;lt;/i&amp;gt;&amp;amp;nbsp;&amp;lt;a class=&amp;quot;ajax-link&amp;quot; name=&amp;quot;&amp;#039;.$page-&amp;gt;next-&amp;gt;title.&amp;#039;&amp;quot; href=&amp;quot;&amp;#039;. $page-&amp;gt;next-&amp;gt;url .&amp;#039;&amp;quot;&amp;gt;&amp;#039;. $page-&amp;gt;next-&amp;gt;title .&amp;#039;&amp;lt;span class=&amp;quot;fa fa-arrow-right&amp;quot;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
$content = &amp;#039;&amp;lt;h2&amp;gt;&amp;#039;. $page-&amp;gt;title . &amp;#039;&amp;lt;/h2&amp;gt;&amp;#039; . $page-&amp;gt;body . &amp;#039;&amp;lt;br/&amp;gt;&amp;lt;div class=&amp;quot;video&amp;quot;&amp;gt;&amp;#039; . $page-&amp;gt;video .&amp;#039;&amp;lt;/div&amp;gt;&amp;#039; . $next;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Simple Gallery with next Page ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$gallery = &amp;#039;&amp;lt;div class=&amp;quot;gallery&amp;quot;&amp;gt;&amp;#039;;&lt;br /&gt;
$images = $page-&amp;gt;gallery;&lt;br /&gt;
&lt;br /&gt;
// add thumbnail to gallery&lt;br /&gt;
if(count($page-&amp;gt;thumbnail)){&lt;br /&gt;
    $gallery .= &amp;#039;&amp;lt;a class=&amp;quot;chocolat-image gallery-item&amp;quot; href=&amp;quot;&amp;#039;.$page-&amp;gt;thumbnail-&amp;gt;url.&amp;#039;&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;&amp;#039;. $page-&amp;gt;thumbnail-&amp;gt;getThumb(&amp;#039;thumbnail&amp;#039;) .&amp;#039;&amp;quot; title=&amp;quot;&amp;#039;. $image-&amp;gt;description .&amp;#039;&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
foreach($images as $image){&lt;br /&gt;
    $gallery .= &amp;#039;&amp;lt;a class=&amp;quot;chocolat-image gallery-item&amp;quot; href=&amp;quot;&amp;#039;.$image-&amp;gt;url.&amp;#039;&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;&amp;#039;. $image-&amp;gt;getThumb(&amp;#039;thumbnail&amp;#039;) .&amp;#039;&amp;quot; title=&amp;quot;&amp;#039;. $image-&amp;gt;description .&amp;#039;&amp;quot;&amp;gt;&amp;lt;/a&amp;gt; &amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
$gallery .= &amp;#039;&amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
// add next button if there is another page next&lt;br /&gt;
if($page-&amp;gt;next-&amp;gt;id){&lt;br /&gt;
    $next = &amp;#039;&amp;lt;div class=&amp;quot;next&amp;quot;&amp;gt;&amp;lt;i&amp;gt;Next:&amp;lt;/i&amp;gt;&amp;amp;nbsp;&amp;lt;a class=&amp;quot;ajax-link&amp;quot; name=&amp;quot;&amp;#039;.$page-&amp;gt;next-&amp;gt;title.&amp;#039;&amp;quot; href=&amp;quot;&amp;#039;. $page-&amp;gt;next-&amp;gt;url .&amp;#039;&amp;quot;&amp;gt;&amp;#039;. $page-&amp;gt;next-&amp;gt;title .&amp;#039;&amp;lt;span class=&amp;quot;fa fa-arrow-right&amp;quot;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$content = &amp;#039;&amp;lt;h2&amp;gt;&amp;#039;. $page-&amp;gt;title . &amp;#039;&amp;lt;/h2&amp;gt;&amp;#039; . $page-&amp;gt;body . &amp;#039;&amp;lt;br/&amp;gt;&amp;#039; . $gallery . &amp;#039;&amp;lt;br/&amp;gt;&amp;lt;div class=&amp;quot;video&amp;quot;&amp;gt;&amp;#039; . $page-&amp;gt;video .&amp;#039;&amp;lt;/div&amp;gt;&amp;#039;. $next;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>91.33.206.179</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=ProcessWire_-_Navigation_Snippets&amp;diff=22349</id>
		<title>ProcessWire - Navigation Snippets</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=ProcessWire_-_Navigation_Snippets&amp;diff=22349"/>
		<updated>2017-06-06T15:06:01Z</updated>

		<summary type="html">&lt;p&gt;91.33.206.179: /* Nächste Seite / Next Page Navigation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Basics ==&lt;br /&gt;
&lt;br /&gt;
=== Page Level ===&lt;br /&gt;
In which level in page tree we are?&lt;br /&gt;
 $level = count($page-&amp;gt;parents);&lt;br /&gt;
=== Link to Subpage und Platzhalter (Spacer) ===&lt;br /&gt;
Kann man gut für Superfish Menüs etc. benutzen. Bildet das Verhalten von Shortcuts und Spacern aus TYPO3 nach.&lt;br /&gt;
&lt;br /&gt;
Anpassung der renderNavTree() Funktion von Ryan Cramer. Options Field Installieren und als globales Feld &amp;quot;navigation_type&amp;quot; mit den Optionen &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1=normal|Normal&lt;br /&gt;
2=doNotLink|Do not link&lt;br /&gt;
3=linkToFirstChild|Link to first childpage&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
konfigurieren. Dann Funktion etwa so anpassen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
// cycle through all the items&lt;br /&gt;
	foreach($items as $item) {&lt;br /&gt;
&lt;br /&gt;
		// markup for the list item...&lt;br /&gt;
		// if current item is the same as the page being viewed, add a &amp;quot;current&amp;quot; class to it&lt;br /&gt;
		$out .= $item-&amp;gt;id == wire(&amp;#039;page&amp;#039;)-&amp;gt;id ? &amp;quot;&amp;lt;li class=&amp;#039;current&amp;#039;&amp;gt;&amp;quot; : &amp;quot;&amp;lt;li&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
		// markup for the link&lt;br /&gt;
		$navigation_type = $item-&amp;gt;navigation_type-&amp;gt;id;&lt;br /&gt;
		switch ( $navigation_type ) {&lt;br /&gt;
			case 2: // do not link&lt;br /&gt;
				$out .= &amp;quot;&amp;lt;span class=&amp;#039;spacer&amp;#039;&amp;gt;$item-&amp;gt;title&amp;lt;/span&amp;gt;&amp;quot;;&lt;br /&gt;
				break;&lt;br /&gt;
			case 3: // link to subpage&lt;br /&gt;
				if( $item-&amp;gt;hasChildren() ){&lt;br /&gt;
					$out .= &amp;#039;&amp;lt;a href=&amp;quot;&amp;#039;.$item-&amp;gt;child-&amp;gt;url.&amp;#039;&amp;quot;&amp;gt;&amp;#039;.$item-&amp;gt;title.&amp;#039;&amp;lt;/a&amp;gt;&amp;#039;;&lt;br /&gt;
				}else{&lt;br /&gt;
					$out .= &amp;quot;&amp;lt;span class=&amp;#039;spacer&amp;#039;&amp;gt;$item-&amp;gt;title&amp;lt;/span&amp;gt;&amp;quot;;&lt;br /&gt;
				}&lt;br /&gt;
				break;&lt;br /&gt;
			default:&lt;br /&gt;
				$out .= &amp;quot;&amp;lt;a href=&amp;#039;$item-&amp;gt;url&amp;#039;&amp;gt;$item-&amp;gt;title&amp;lt;/a&amp;gt;&amp;quot;;&lt;br /&gt;
				break;&lt;br /&gt;
		}&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Redirect (301) ===&lt;br /&gt;
==== Redirect zu erster Unterseite ====&lt;br /&gt;
https://processwire.com/talk/topic/15-how-do-i-create-a-page-that-redirects-to-its-first-child/&lt;br /&gt;
&lt;br /&gt;
Field &amp;#039;&amp;#039;redirects_to_first_child&amp;#039;&amp;#039; erstellen und im Template einfügen.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
  if($page-&amp;gt;numChildren &amp;amp;&amp;amp; $page-&amp;gt;redirects_to_first_child) &lt;br /&gt;
  $session-&amp;gt;redirect($page-&amp;gt;child()-&amp;gt;url); &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erzeugt 301 Weiterleitung&lt;br /&gt;
&lt;br /&gt;
Anderer Ansatz wäre evtl. den Link bei der Menügenerierung direkt zu generieren.&lt;br /&gt;
&lt;br /&gt;
==== Redirect anderer Seite in der Navigation ====&lt;br /&gt;
https://processwire.com/talk/topic/762-howto-menu-item-that-links-to-another-page/&lt;br /&gt;
&lt;br /&gt;
1. Create a new field and call it &amp;#039;redirect_url&amp;#039; or something like that, and use the &amp;#039;URL&amp;#039; fieldtype. &lt;br /&gt;
&lt;br /&gt;
2. Add that field to your template where you&amp;#039;d want to use it, or create a new template just for the purpose, like a template named &amp;#039;redirect&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
3. Edit the page that you want to be a symlink and populate the &amp;#039;redirect_url&amp;#039; field with the URL you want it to redirect to.&lt;br /&gt;
&lt;br /&gt;
4. In your nav-generation code that links to the pages, do something like this:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$url = $subpage-&amp;gt;get(&amp;quot;redirect_url|url&amp;quot;); // use redirect_url if there, otherwise use url&lt;br /&gt;
echo &amp;quot;&amp;lt;a href=&amp;#039;$url&amp;#039;&amp;gt;{$subpage-&amp;gt;title}&amp;lt;/a&amp;gt;&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
5. You might also want to add this to your template that has the &amp;#039;redirect_url&amp;#039; field: just in case there&amp;#039;s anything linking to it directly. That way it&amp;#039;ll send people to the right place either way:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 if($page-&amp;gt;redirect_url) $session-&amp;gt;redirect($page-&amp;gt;redirect_url); &lt;br /&gt;
&lt;br /&gt;
=== Breadcrumb ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	&amp;lt;!-- breadcrumbs --&amp;gt;&lt;br /&gt;
	&amp;lt;div class=&amp;#039;breadcrumbs&amp;#039;&amp;gt;&amp;lt;?php &lt;br /&gt;
		// breadcrumbs are the current page&amp;#039;s parents&lt;br /&gt;
		foreach($page-&amp;gt;parents() as $item) {&lt;br /&gt;
			echo &amp;quot;&amp;lt;span&amp;gt;&amp;lt;a href=&amp;#039;$item-&amp;gt;url&amp;#039;&amp;gt;$item-&amp;gt;title&amp;lt;/a&amp;gt;&amp;lt;/span&amp;gt; &amp;quot;; &lt;br /&gt;
		}&lt;br /&gt;
		// optionally output the current page as the last item&lt;br /&gt;
		echo &amp;quot;&amp;lt;span&amp;gt;$page-&amp;gt;title&amp;lt;/span&amp;gt; &amp;quot;; &lt;br /&gt;
	?&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Main Level Navigation Bar ===&lt;br /&gt;
Homepage + Kindseiten (1 Level). Die Variable $homepage wird i.d.R. in init.php definiert:&lt;br /&gt;
 $homepage = $pages-&amp;gt;get(&amp;#039;/&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	&amp;lt;ul class=&amp;#039;topnav&amp;#039;&amp;gt;&amp;lt;?php &lt;br /&gt;
		// top navigation consists of homepage and its visible children&lt;br /&gt;
		foreach($homepage-&amp;gt;and($homepage-&amp;gt;children) as $item) {&lt;br /&gt;
			if($item-&amp;gt;id == $page-&amp;gt;rootParent-&amp;gt;id) {&lt;br /&gt;
				echo &amp;quot;&amp;lt;li class=&amp;#039;current&amp;#039;&amp;gt;&amp;quot;;&lt;br /&gt;
			} else {&lt;br /&gt;
				echo &amp;quot;&amp;lt;li&amp;gt;&amp;quot;;&lt;br /&gt;
			}&lt;br /&gt;
			echo &amp;quot;&amp;lt;a href=&amp;#039;$item-&amp;gt;url&amp;#039;&amp;gt;$item-&amp;gt;title&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
		// output an &amp;quot;Edit&amp;quot; link if this page happens to be editable by the current user&lt;br /&gt;
		if($page-&amp;gt;editable()) echo &amp;quot;&amp;lt;li class=&amp;#039;edit&amp;#039;&amp;gt;&amp;lt;a href=&amp;#039;$page-&amp;gt;editUrl&amp;#039;&amp;gt;Edit&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;quot;;&lt;br /&gt;
	?&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Nächste Seite / Next Page Navigation ===&lt;br /&gt;
// add next button if there is another page next&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
if($page-&amp;gt;next-&amp;gt;id){&lt;br /&gt;
  $next = &amp;#039;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;next&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;i&amp;gt;Next:&amp;lt;/i&amp;gt;&amp;amp;nbsp;&lt;br /&gt;
      &amp;lt;a class=&amp;quot;ajax-link&amp;quot; name=&amp;quot;&amp;#039;.$page-&amp;gt;next-&amp;gt;title.&amp;#039;&amp;quot; href=&amp;quot;&amp;#039;. $page-&amp;gt;next-&amp;gt;url .&amp;#039;&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;#039;. $page-&amp;gt;next-&amp;gt;title .&amp;#039;&amp;lt;span class=&amp;quot;fa fa-arrow-right&amp;quot;&amp;gt;&amp;lt;span&amp;gt;&lt;br /&gt;
      &amp;lt;/a&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Zurück zur Elternseite ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;back&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;&amp;#039;.$page-&amp;gt;parent()-&amp;gt;url.&amp;#039;&amp;quot;&amp;gt;zurück&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Kindseiten mit $page-&amp;gt;children ===&lt;br /&gt;
 &amp;lt;?=$page-&amp;gt;children?&amp;gt;&lt;br /&gt;
Output&lt;br /&gt;
 5723,4958,5937&lt;br /&gt;
&lt;br /&gt;
Beispiel&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
foreach($page-&amp;gt;children as $child)&lt;br /&gt;
  echo &amp;quot;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#039;{$child-&amp;gt;url}&amp;#039;&amp;gt;{$child-&amp;gt;title}&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;quot;;&lt;br /&gt;
?&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Ergebnis:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#039;/about/contact/&amp;#039;&amp;gt;Contact Us&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#039;/about/press/&amp;#039;&amp;gt;Press Releases&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#039;/about/staff/&amp;#039;&amp;gt;Our Staff&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Children Tree ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
function listChildrenTree($children, $current, $w) {&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;&amp;lt;ul&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
foreach($children as $page) {&lt;br /&gt;
&lt;br /&gt;
	$class = &amp;#039;&amp;#039;;&lt;br /&gt;
	if($page === $current || $current-&amp;gt;parents-&amp;gt;slice(1)-&amp;gt;has($page) ) {&lt;br /&gt;
		$class = &amp;quot;class=&amp;#039;on&amp;#039; style=&amp;#039;font-weight:bold&amp;#039;&amp;quot;;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	$rootid = $w-&amp;gt;pages-&amp;gt;get(&amp;quot;/&amp;quot;)-&amp;gt;id;&lt;br /&gt;
&lt;br /&gt;
	echo &amp;quot;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#039;{$page-&amp;gt;url}&amp;#039; $class&amp;gt;&amp;quot;;&lt;br /&gt;
	if($page-&amp;gt;id == $rootid) echo &amp;quot;&amp;lt;img src=&amp;#039;&amp;quot; . $w-&amp;gt;config-&amp;gt;urls-&amp;gt;templates . &amp;quot;styles/images/home.png&amp;#039; width=&amp;#039;24&amp;#039; height=&amp;#039;28&amp;#039; alt=&amp;#039;&amp;#039; /&amp;gt;&amp;quot;;&lt;br /&gt;
	echo &amp;quot;{$page-&amp;gt;title}&amp;lt;/a&amp;gt; &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
	if($page-&amp;gt;numChildren &amp;amp;&amp;amp; $page-&amp;gt;id != $rootid) listChildrenTree($page-&amp;gt;children, $current, $w);&lt;br /&gt;
&lt;br /&gt;
	echo &amp;quot;&amp;lt;/li&amp;gt;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
echo &amp;quot;&amp;lt;/ul&amp;gt;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
$children = $pages-&amp;gt;get(&amp;quot;/&amp;quot;)-&amp;gt;children();&lt;br /&gt;
$children-&amp;gt;prepend($pages-&amp;gt;get(&amp;quot;/&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
listChildrenTree($children, $page, $wire);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bootstrap Navigation ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php namespace ProcessWire;&lt;br /&gt;
// Markup to use wicht navigation_type field (normal=1, no-link=2,subpage=3)&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// bundle up the first level pages and prepend the root home page&lt;br /&gt;
$homepage = $pages-&amp;gt;get(1);&lt;br /&gt;
$pa = $homepage-&amp;gt;children;&lt;br /&gt;
$pa = $pa-&amp;gt;prepend($homepage);&lt;br /&gt;
&lt;br /&gt;
// Set the ball rolling...&lt;br /&gt;
$myMenu = renderChildrenOf($pa);&lt;br /&gt;
$wrapper = &amp;#039;&lt;br /&gt;
&amp;lt;nav class=&amp;quot;navbar navbar-default&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;container-fluid&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;navbar-header&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;button type=&amp;quot;button&amp;quot; class=&amp;quot;navbar-toggle collapsed&amp;quot; data-toggle=&amp;quot;collapse&amp;quot; data-target=&amp;quot;#navbar-collapse-1&amp;quot; aria-expanded=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;span class=&amp;quot;sr-only&amp;quot;&amp;gt;Menü&amp;lt;/span&amp;gt;&lt;br /&gt;
        &amp;lt;span class=&amp;quot;icon-bar&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
        &amp;lt;span class=&amp;quot;icon-bar&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
        &amp;lt;span class=&amp;quot;icon-bar&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
      &amp;lt;/button&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;collapse navbar-collapse&amp;quot; id=&amp;quot;navbar-collapse-1&amp;quot;&amp;gt;&lt;br /&gt;
      |&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
$myMenu = wrap($myMenu,$wrapper);&lt;br /&gt;
echo $myMenu;&lt;br /&gt;
/*&lt;br /&gt;
Navigation for ProcessWire using the Bootstrap 2.2.2 markup&lt;br /&gt;
This menu was written by Soma based on work by NetCarver and a bit thrown in by Joss&lt;br /&gt;
&lt;br /&gt;
Navigation Bootstrap 3 update by Damienov, with multi level dropdown support fix&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
function renderChildrenOf($pa, $output = &amp;#039;&amp;#039;, $level = 0)&lt;br /&gt;
{&lt;br /&gt;
    $output = &amp;#039;&amp;#039;;&lt;br /&gt;
    $level++;&lt;br /&gt;
&lt;br /&gt;
    foreach ($pa as $child) {&lt;br /&gt;
        $atoggle = &amp;#039;&amp;#039;;&lt;br /&gt;
        $class = &amp;#039;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
        if ($child-&amp;gt;numChildren &amp;amp;&amp;amp; count($child-&amp;gt;parents) == 1) {&lt;br /&gt;
            $class .= &amp;#039;dropdown&amp;#039;;&lt;br /&gt;
            $atoggle .= &amp;#039; class=&amp;quot;dropdown-toggle&amp;quot; data-toggle=&amp;quot;dropdown&amp;quot;&amp;#039;;&lt;br /&gt;
        } else if ($child-&amp;gt;numChildren &amp;amp;&amp;amp; count($child-&amp;gt;parents) &amp;gt; 1 ) {&lt;br /&gt;
            $class .= &amp;#039;dropdown-submenu&amp;#039;;&lt;br /&gt;
            $atoggle .= &amp;#039; class=&amp;quot;dropdown-toggle&amp;quot;&amp;#039;;&lt;br /&gt;
        } else if ($child-&amp;gt;numChildren &amp;amp;&amp;amp; $child-&amp;gt;id != 1) {&lt;br /&gt;
            $class .= &amp;#039;dropdown-menu&amp;#039;;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Makes the current page and it&amp;#039;s top level parent add an active class&lt;br /&gt;
        $class .= ($child === wire(&amp;quot;page&amp;quot;) || $child === wire(&amp;quot;page&amp;quot;)-&amp;gt;rootParent) ? &amp;quot; active&amp;quot; : &amp;#039;&amp;#039;;&lt;br /&gt;
        $class = strlen($class) ? &amp;quot; class=&amp;#039;&amp;quot; . trim($class) . &amp;quot;&amp;#039;&amp;quot; : &amp;#039;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
        if ($child-&amp;gt;numChildren &amp;amp;&amp;amp; count($child-&amp;gt;parents) == 1) {&lt;br /&gt;
            // Add Caret if have children&lt;br /&gt;
            $output .= &amp;quot;&amp;lt;li$class&amp;gt;&amp;lt;a href=&amp;#039;$child-&amp;gt;url&amp;#039;$atoggle&amp;gt;$child-&amp;gt;title &amp;lt;b class=&amp;#039;caret&amp;#039;&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/a&amp;gt;&amp;quot;;&lt;br /&gt;
        } else if ($child-&amp;gt;numChildren &amp;amp;&amp;amp; count($child-&amp;gt;parents) &amp;gt; 1) {&lt;br /&gt;
            $output .= &amp;quot;&amp;lt;li$class&amp;gt;&amp;lt;a tabindex=&amp;#039;-1&amp;#039; href=&amp;#039;$child-&amp;gt;url&amp;#039;$atoggle&amp;gt;$child-&amp;gt;title&amp;lt;/a&amp;gt;&amp;quot;;&lt;br /&gt;
        } else {&lt;br /&gt;
            $output .= &amp;quot;&amp;lt;li$class&amp;gt;&amp;lt;a href=&amp;#039;$child-&amp;gt;url&amp;#039;$atoggle&amp;gt;$child-&amp;gt;title&amp;lt;/a&amp;gt;&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // If this child is itself a parent and not the root page, then render it&amp;#039;s children in their own menu too...&lt;br /&gt;
        if ($child-&amp;gt;numChildren &amp;amp;&amp;amp; $child-&amp;gt;id != 1) {&lt;br /&gt;
            $output .= renderChildrenOf($child-&amp;gt;children, $output, $level);&lt;br /&gt;
        }&lt;br /&gt;
        $output .= &amp;#039;&amp;lt;/li&amp;gt;&amp;#039;;&lt;br /&gt;
    }&lt;br /&gt;
    $outerclass = ($level == 1) ? &amp;quot;nav navbar-nav&amp;quot; : &amp;#039;dropdown-menu&amp;#039;;&lt;br /&gt;
    return &amp;quot;&amp;lt;ul class=&amp;#039;$outerclass&amp;#039;&amp;gt;$output&amp;lt;/ul&amp;gt;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
== MarkupSimpleNavigation==&lt;br /&gt;
[[Processwire Modul - MarkupSimpleNavigation]]&lt;br /&gt;
&lt;br /&gt;
== Weitere Menüs ==&lt;br /&gt;
=== Metamenü / Footer-Navigation ===&lt;br /&gt;
Checkbox anlegen (footer_nav), und dann das Seitenarray etwa so modifizieren.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$footer_nav = $pages-&amp;gt;find(&amp;quot;parent=1, footer_checkbox=1&amp;quot;);&lt;br /&gt;
$main_nav = $pages-&amp;gt;find(&amp;quot;parent=1, footer_checkbox!=1&amp;quot;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Zweispaltige Navigation aus Kindseiten ===&lt;br /&gt;
Verbesserungsvorschlag: Anstatt if lieber zwei for Schleifen -&amp;gt; bessere Performance&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
// Childrens&lt;br /&gt;
$n = count($page-&amp;gt;children);&lt;br /&gt;
$m = ceil($n/2);&lt;br /&gt;
$c = 0;&lt;br /&gt;
&lt;br /&gt;
// NAVIGATION &amp;amp; SLIDER Items&lt;br /&gt;
$listItem = &amp;#039;&amp;#039;;&lt;br /&gt;
$navList = &amp;#039;&amp;#039;;&lt;br /&gt;
$col1 = &amp;#039;&amp;lt;ul class=&amp;quot;nav-list col1&amp;quot;&amp;gt;&amp;#039;;&lt;br /&gt;
$col2 = &amp;#039;&amp;lt;ul class=&amp;quot;nav-list col2&amp;quot;&amp;gt;&amp;#039;;&lt;br /&gt;
foreach ($page-&amp;gt;children as $item) {&lt;br /&gt;
	if($item-&amp;gt;id == $page-&amp;gt;rootParent-&amp;gt;id) {&lt;br /&gt;
		$listItem = &amp;#039;&amp;lt;li class=&amp;quot;current&amp;quot;&amp;gt;&amp;#039;;&lt;br /&gt;
	} else {&lt;br /&gt;
		$listItem = &amp;#039;&amp;lt;li&amp;gt;&amp;#039;;&lt;br /&gt;
	}&lt;br /&gt;
	$listItem .= &amp;#039;&amp;lt;a class=&amp;quot;ajax-link&amp;quot; href=&amp;quot;&amp;#039;.$item-&amp;gt;url.&amp;#039;&amp;quot;&amp;gt;&amp;#039;.$item-&amp;gt;title.&amp;#039;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;#039;;&lt;br /&gt;
	($c &amp;lt; $m) ? $col1 .= $listItem : $col2 .= $listItem;&lt;br /&gt;
	$c++;&lt;br /&gt;
}&lt;br /&gt;
$col1 .= &amp;#039;&amp;lt;/ul&amp;gt;&amp;#039;;&lt;br /&gt;
$col1 .= &amp;#039;&amp;lt;/ul&amp;gt;&amp;#039;;&lt;br /&gt;
$navList = $col1.$col2;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>91.33.206.179</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=ProcessWire_-_Navigation_Snippets&amp;diff=22348</id>
		<title>ProcessWire - Navigation Snippets</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=ProcessWire_-_Navigation_Snippets&amp;diff=22348"/>
		<updated>2017-06-06T15:04:05Z</updated>

		<summary type="html">&lt;p&gt;91.33.206.179: /* Nächste Seite / Next Page Navigation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Basics ==&lt;br /&gt;
&lt;br /&gt;
=== Page Level ===&lt;br /&gt;
In which level in page tree we are?&lt;br /&gt;
 $level = count($page-&amp;gt;parents);&lt;br /&gt;
=== Link to Subpage und Platzhalter (Spacer) ===&lt;br /&gt;
Kann man gut für Superfish Menüs etc. benutzen. Bildet das Verhalten von Shortcuts und Spacern aus TYPO3 nach.&lt;br /&gt;
&lt;br /&gt;
Anpassung der renderNavTree() Funktion von Ryan Cramer. Options Field Installieren und als globales Feld &amp;quot;navigation_type&amp;quot; mit den Optionen &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1=normal|Normal&lt;br /&gt;
2=doNotLink|Do not link&lt;br /&gt;
3=linkToFirstChild|Link to first childpage&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
konfigurieren. Dann Funktion etwa so anpassen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
// cycle through all the items&lt;br /&gt;
	foreach($items as $item) {&lt;br /&gt;
&lt;br /&gt;
		// markup for the list item...&lt;br /&gt;
		// if current item is the same as the page being viewed, add a &amp;quot;current&amp;quot; class to it&lt;br /&gt;
		$out .= $item-&amp;gt;id == wire(&amp;#039;page&amp;#039;)-&amp;gt;id ? &amp;quot;&amp;lt;li class=&amp;#039;current&amp;#039;&amp;gt;&amp;quot; : &amp;quot;&amp;lt;li&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
		// markup for the link&lt;br /&gt;
		$navigation_type = $item-&amp;gt;navigation_type-&amp;gt;id;&lt;br /&gt;
		switch ( $navigation_type ) {&lt;br /&gt;
			case 2: // do not link&lt;br /&gt;
				$out .= &amp;quot;&amp;lt;span class=&amp;#039;spacer&amp;#039;&amp;gt;$item-&amp;gt;title&amp;lt;/span&amp;gt;&amp;quot;;&lt;br /&gt;
				break;&lt;br /&gt;
			case 3: // link to subpage&lt;br /&gt;
				if( $item-&amp;gt;hasChildren() ){&lt;br /&gt;
					$out .= &amp;#039;&amp;lt;a href=&amp;quot;&amp;#039;.$item-&amp;gt;child-&amp;gt;url.&amp;#039;&amp;quot;&amp;gt;&amp;#039;.$item-&amp;gt;title.&amp;#039;&amp;lt;/a&amp;gt;&amp;#039;;&lt;br /&gt;
				}else{&lt;br /&gt;
					$out .= &amp;quot;&amp;lt;span class=&amp;#039;spacer&amp;#039;&amp;gt;$item-&amp;gt;title&amp;lt;/span&amp;gt;&amp;quot;;&lt;br /&gt;
				}&lt;br /&gt;
				break;&lt;br /&gt;
			default:&lt;br /&gt;
				$out .= &amp;quot;&amp;lt;a href=&amp;#039;$item-&amp;gt;url&amp;#039;&amp;gt;$item-&amp;gt;title&amp;lt;/a&amp;gt;&amp;quot;;&lt;br /&gt;
				break;&lt;br /&gt;
		}&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Redirect (301) ===&lt;br /&gt;
==== Redirect zu erster Unterseite ====&lt;br /&gt;
https://processwire.com/talk/topic/15-how-do-i-create-a-page-that-redirects-to-its-first-child/&lt;br /&gt;
&lt;br /&gt;
Field &amp;#039;&amp;#039;redirects_to_first_child&amp;#039;&amp;#039; erstellen und im Template einfügen.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
  if($page-&amp;gt;numChildren &amp;amp;&amp;amp; $page-&amp;gt;redirects_to_first_child) &lt;br /&gt;
  $session-&amp;gt;redirect($page-&amp;gt;child()-&amp;gt;url); &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erzeugt 301 Weiterleitung&lt;br /&gt;
&lt;br /&gt;
Anderer Ansatz wäre evtl. den Link bei der Menügenerierung direkt zu generieren.&lt;br /&gt;
&lt;br /&gt;
==== Redirect anderer Seite in der Navigation ====&lt;br /&gt;
https://processwire.com/talk/topic/762-howto-menu-item-that-links-to-another-page/&lt;br /&gt;
&lt;br /&gt;
1. Create a new field and call it &amp;#039;redirect_url&amp;#039; or something like that, and use the &amp;#039;URL&amp;#039; fieldtype. &lt;br /&gt;
&lt;br /&gt;
2. Add that field to your template where you&amp;#039;d want to use it, or create a new template just for the purpose, like a template named &amp;#039;redirect&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
3. Edit the page that you want to be a symlink and populate the &amp;#039;redirect_url&amp;#039; field with the URL you want it to redirect to.&lt;br /&gt;
&lt;br /&gt;
4. In your nav-generation code that links to the pages, do something like this:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$url = $subpage-&amp;gt;get(&amp;quot;redirect_url|url&amp;quot;); // use redirect_url if there, otherwise use url&lt;br /&gt;
echo &amp;quot;&amp;lt;a href=&amp;#039;$url&amp;#039;&amp;gt;{$subpage-&amp;gt;title}&amp;lt;/a&amp;gt;&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
5. You might also want to add this to your template that has the &amp;#039;redirect_url&amp;#039; field: just in case there&amp;#039;s anything linking to it directly. That way it&amp;#039;ll send people to the right place either way:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 if($page-&amp;gt;redirect_url) $session-&amp;gt;redirect($page-&amp;gt;redirect_url); &lt;br /&gt;
&lt;br /&gt;
=== Breadcrumb ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	&amp;lt;!-- breadcrumbs --&amp;gt;&lt;br /&gt;
	&amp;lt;div class=&amp;#039;breadcrumbs&amp;#039;&amp;gt;&amp;lt;?php &lt;br /&gt;
		// breadcrumbs are the current page&amp;#039;s parents&lt;br /&gt;
		foreach($page-&amp;gt;parents() as $item) {&lt;br /&gt;
			echo &amp;quot;&amp;lt;span&amp;gt;&amp;lt;a href=&amp;#039;$item-&amp;gt;url&amp;#039;&amp;gt;$item-&amp;gt;title&amp;lt;/a&amp;gt;&amp;lt;/span&amp;gt; &amp;quot;; &lt;br /&gt;
		}&lt;br /&gt;
		// optionally output the current page as the last item&lt;br /&gt;
		echo &amp;quot;&amp;lt;span&amp;gt;$page-&amp;gt;title&amp;lt;/span&amp;gt; &amp;quot;; &lt;br /&gt;
	?&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Main Level Navigation Bar ===&lt;br /&gt;
Homepage + Kindseiten (1 Level). Die Variable $homepage wird i.d.R. in init.php definiert:&lt;br /&gt;
 $homepage = $pages-&amp;gt;get(&amp;#039;/&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	&amp;lt;ul class=&amp;#039;topnav&amp;#039;&amp;gt;&amp;lt;?php &lt;br /&gt;
		// top navigation consists of homepage and its visible children&lt;br /&gt;
		foreach($homepage-&amp;gt;and($homepage-&amp;gt;children) as $item) {&lt;br /&gt;
			if($item-&amp;gt;id == $page-&amp;gt;rootParent-&amp;gt;id) {&lt;br /&gt;
				echo &amp;quot;&amp;lt;li class=&amp;#039;current&amp;#039;&amp;gt;&amp;quot;;&lt;br /&gt;
			} else {&lt;br /&gt;
				echo &amp;quot;&amp;lt;li&amp;gt;&amp;quot;;&lt;br /&gt;
			}&lt;br /&gt;
			echo &amp;quot;&amp;lt;a href=&amp;#039;$item-&amp;gt;url&amp;#039;&amp;gt;$item-&amp;gt;title&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
		// output an &amp;quot;Edit&amp;quot; link if this page happens to be editable by the current user&lt;br /&gt;
		if($page-&amp;gt;editable()) echo &amp;quot;&amp;lt;li class=&amp;#039;edit&amp;#039;&amp;gt;&amp;lt;a href=&amp;#039;$page-&amp;gt;editUrl&amp;#039;&amp;gt;Edit&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;quot;;&lt;br /&gt;
	?&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Nächste Seite / Next Page Navigation ===&lt;br /&gt;
// add next button if there is another page next&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
if($page-&amp;gt;next-&amp;gt;id){&lt;br /&gt;
  $next = &amp;#039;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;next&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;i&amp;gt;Next:&amp;lt;/i&amp;gt;&amp;amp;nbsp;&lt;br /&gt;
      &amp;lt;a class=&amp;quot;ajax-link&amp;quot; name=&amp;quot;&amp;#039;.$page-&amp;gt;next-&amp;gt;title.&amp;#039;&amp;quot; href=&amp;quot;&amp;#039;. $page-&amp;gt;next-&amp;gt;url .&amp;#039;&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;#039;. $page-&amp;gt;next-&amp;gt;title .&amp;#039;&amp;lt;span class=&amp;quot;fa fa-arrow-right&amp;quot;&amp;gt;&amp;lt;span&amp;gt;&lt;br /&gt;
      &amp;lt;/a&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Kindseiten mit $page-&amp;gt;children ===&lt;br /&gt;
 &amp;lt;?=$page-&amp;gt;children?&amp;gt;&lt;br /&gt;
Output&lt;br /&gt;
 5723,4958,5937&lt;br /&gt;
&lt;br /&gt;
Beispiel&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
foreach($page-&amp;gt;children as $child)&lt;br /&gt;
  echo &amp;quot;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#039;{$child-&amp;gt;url}&amp;#039;&amp;gt;{$child-&amp;gt;title}&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;quot;;&lt;br /&gt;
?&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Ergebnis:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#039;/about/contact/&amp;#039;&amp;gt;Contact Us&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#039;/about/press/&amp;#039;&amp;gt;Press Releases&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#039;/about/staff/&amp;#039;&amp;gt;Our Staff&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Children Tree ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
function listChildrenTree($children, $current, $w) {&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;&amp;lt;ul&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
foreach($children as $page) {&lt;br /&gt;
&lt;br /&gt;
	$class = &amp;#039;&amp;#039;;&lt;br /&gt;
	if($page === $current || $current-&amp;gt;parents-&amp;gt;slice(1)-&amp;gt;has($page) ) {&lt;br /&gt;
		$class = &amp;quot;class=&amp;#039;on&amp;#039; style=&amp;#039;font-weight:bold&amp;#039;&amp;quot;;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	$rootid = $w-&amp;gt;pages-&amp;gt;get(&amp;quot;/&amp;quot;)-&amp;gt;id;&lt;br /&gt;
&lt;br /&gt;
	echo &amp;quot;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#039;{$page-&amp;gt;url}&amp;#039; $class&amp;gt;&amp;quot;;&lt;br /&gt;
	if($page-&amp;gt;id == $rootid) echo &amp;quot;&amp;lt;img src=&amp;#039;&amp;quot; . $w-&amp;gt;config-&amp;gt;urls-&amp;gt;templates . &amp;quot;styles/images/home.png&amp;#039; width=&amp;#039;24&amp;#039; height=&amp;#039;28&amp;#039; alt=&amp;#039;&amp;#039; /&amp;gt;&amp;quot;;&lt;br /&gt;
	echo &amp;quot;{$page-&amp;gt;title}&amp;lt;/a&amp;gt; &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
	if($page-&amp;gt;numChildren &amp;amp;&amp;amp; $page-&amp;gt;id != $rootid) listChildrenTree($page-&amp;gt;children, $current, $w);&lt;br /&gt;
&lt;br /&gt;
	echo &amp;quot;&amp;lt;/li&amp;gt;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
echo &amp;quot;&amp;lt;/ul&amp;gt;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
$children = $pages-&amp;gt;get(&amp;quot;/&amp;quot;)-&amp;gt;children();&lt;br /&gt;
$children-&amp;gt;prepend($pages-&amp;gt;get(&amp;quot;/&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
listChildrenTree($children, $page, $wire);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bootstrap Navigation ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php namespace ProcessWire;&lt;br /&gt;
// Markup to use wicht navigation_type field (normal=1, no-link=2,subpage=3)&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// bundle up the first level pages and prepend the root home page&lt;br /&gt;
$homepage = $pages-&amp;gt;get(1);&lt;br /&gt;
$pa = $homepage-&amp;gt;children;&lt;br /&gt;
$pa = $pa-&amp;gt;prepend($homepage);&lt;br /&gt;
&lt;br /&gt;
// Set the ball rolling...&lt;br /&gt;
$myMenu = renderChildrenOf($pa);&lt;br /&gt;
$wrapper = &amp;#039;&lt;br /&gt;
&amp;lt;nav class=&amp;quot;navbar navbar-default&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;container-fluid&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;navbar-header&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;button type=&amp;quot;button&amp;quot; class=&amp;quot;navbar-toggle collapsed&amp;quot; data-toggle=&amp;quot;collapse&amp;quot; data-target=&amp;quot;#navbar-collapse-1&amp;quot; aria-expanded=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;span class=&amp;quot;sr-only&amp;quot;&amp;gt;Menü&amp;lt;/span&amp;gt;&lt;br /&gt;
        &amp;lt;span class=&amp;quot;icon-bar&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
        &amp;lt;span class=&amp;quot;icon-bar&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
        &amp;lt;span class=&amp;quot;icon-bar&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
      &amp;lt;/button&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;collapse navbar-collapse&amp;quot; id=&amp;quot;navbar-collapse-1&amp;quot;&amp;gt;&lt;br /&gt;
      |&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
$myMenu = wrap($myMenu,$wrapper);&lt;br /&gt;
echo $myMenu;&lt;br /&gt;
/*&lt;br /&gt;
Navigation for ProcessWire using the Bootstrap 2.2.2 markup&lt;br /&gt;
This menu was written by Soma based on work by NetCarver and a bit thrown in by Joss&lt;br /&gt;
&lt;br /&gt;
Navigation Bootstrap 3 update by Damienov, with multi level dropdown support fix&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
function renderChildrenOf($pa, $output = &amp;#039;&amp;#039;, $level = 0)&lt;br /&gt;
{&lt;br /&gt;
    $output = &amp;#039;&amp;#039;;&lt;br /&gt;
    $level++;&lt;br /&gt;
&lt;br /&gt;
    foreach ($pa as $child) {&lt;br /&gt;
        $atoggle = &amp;#039;&amp;#039;;&lt;br /&gt;
        $class = &amp;#039;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
        if ($child-&amp;gt;numChildren &amp;amp;&amp;amp; count($child-&amp;gt;parents) == 1) {&lt;br /&gt;
            $class .= &amp;#039;dropdown&amp;#039;;&lt;br /&gt;
            $atoggle .= &amp;#039; class=&amp;quot;dropdown-toggle&amp;quot; data-toggle=&amp;quot;dropdown&amp;quot;&amp;#039;;&lt;br /&gt;
        } else if ($child-&amp;gt;numChildren &amp;amp;&amp;amp; count($child-&amp;gt;parents) &amp;gt; 1 ) {&lt;br /&gt;
            $class .= &amp;#039;dropdown-submenu&amp;#039;;&lt;br /&gt;
            $atoggle .= &amp;#039; class=&amp;quot;dropdown-toggle&amp;quot;&amp;#039;;&lt;br /&gt;
        } else if ($child-&amp;gt;numChildren &amp;amp;&amp;amp; $child-&amp;gt;id != 1) {&lt;br /&gt;
            $class .= &amp;#039;dropdown-menu&amp;#039;;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Makes the current page and it&amp;#039;s top level parent add an active class&lt;br /&gt;
        $class .= ($child === wire(&amp;quot;page&amp;quot;) || $child === wire(&amp;quot;page&amp;quot;)-&amp;gt;rootParent) ? &amp;quot; active&amp;quot; : &amp;#039;&amp;#039;;&lt;br /&gt;
        $class = strlen($class) ? &amp;quot; class=&amp;#039;&amp;quot; . trim($class) . &amp;quot;&amp;#039;&amp;quot; : &amp;#039;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
        if ($child-&amp;gt;numChildren &amp;amp;&amp;amp; count($child-&amp;gt;parents) == 1) {&lt;br /&gt;
            // Add Caret if have children&lt;br /&gt;
            $output .= &amp;quot;&amp;lt;li$class&amp;gt;&amp;lt;a href=&amp;#039;$child-&amp;gt;url&amp;#039;$atoggle&amp;gt;$child-&amp;gt;title &amp;lt;b class=&amp;#039;caret&amp;#039;&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/a&amp;gt;&amp;quot;;&lt;br /&gt;
        } else if ($child-&amp;gt;numChildren &amp;amp;&amp;amp; count($child-&amp;gt;parents) &amp;gt; 1) {&lt;br /&gt;
            $output .= &amp;quot;&amp;lt;li$class&amp;gt;&amp;lt;a tabindex=&amp;#039;-1&amp;#039; href=&amp;#039;$child-&amp;gt;url&amp;#039;$atoggle&amp;gt;$child-&amp;gt;title&amp;lt;/a&amp;gt;&amp;quot;;&lt;br /&gt;
        } else {&lt;br /&gt;
            $output .= &amp;quot;&amp;lt;li$class&amp;gt;&amp;lt;a href=&amp;#039;$child-&amp;gt;url&amp;#039;$atoggle&amp;gt;$child-&amp;gt;title&amp;lt;/a&amp;gt;&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // If this child is itself a parent and not the root page, then render it&amp;#039;s children in their own menu too...&lt;br /&gt;
        if ($child-&amp;gt;numChildren &amp;amp;&amp;amp; $child-&amp;gt;id != 1) {&lt;br /&gt;
            $output .= renderChildrenOf($child-&amp;gt;children, $output, $level);&lt;br /&gt;
        }&lt;br /&gt;
        $output .= &amp;#039;&amp;lt;/li&amp;gt;&amp;#039;;&lt;br /&gt;
    }&lt;br /&gt;
    $outerclass = ($level == 1) ? &amp;quot;nav navbar-nav&amp;quot; : &amp;#039;dropdown-menu&amp;#039;;&lt;br /&gt;
    return &amp;quot;&amp;lt;ul class=&amp;#039;$outerclass&amp;#039;&amp;gt;$output&amp;lt;/ul&amp;gt;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
== MarkupSimpleNavigation==&lt;br /&gt;
[[Processwire Modul - MarkupSimpleNavigation]]&lt;br /&gt;
&lt;br /&gt;
== Weitere Menüs ==&lt;br /&gt;
=== Metamenü / Footer-Navigation ===&lt;br /&gt;
Checkbox anlegen (footer_nav), und dann das Seitenarray etwa so modifizieren.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$footer_nav = $pages-&amp;gt;find(&amp;quot;parent=1, footer_checkbox=1&amp;quot;);&lt;br /&gt;
$main_nav = $pages-&amp;gt;find(&amp;quot;parent=1, footer_checkbox!=1&amp;quot;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Zweispaltige Navigation aus Kindseiten ===&lt;br /&gt;
Verbesserungsvorschlag: Anstatt if lieber zwei for Schleifen -&amp;gt; bessere Performance&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
// Childrens&lt;br /&gt;
$n = count($page-&amp;gt;children);&lt;br /&gt;
$m = ceil($n/2);&lt;br /&gt;
$c = 0;&lt;br /&gt;
&lt;br /&gt;
// NAVIGATION &amp;amp; SLIDER Items&lt;br /&gt;
$listItem = &amp;#039;&amp;#039;;&lt;br /&gt;
$navList = &amp;#039;&amp;#039;;&lt;br /&gt;
$col1 = &amp;#039;&amp;lt;ul class=&amp;quot;nav-list col1&amp;quot;&amp;gt;&amp;#039;;&lt;br /&gt;
$col2 = &amp;#039;&amp;lt;ul class=&amp;quot;nav-list col2&amp;quot;&amp;gt;&amp;#039;;&lt;br /&gt;
foreach ($page-&amp;gt;children as $item) {&lt;br /&gt;
	if($item-&amp;gt;id == $page-&amp;gt;rootParent-&amp;gt;id) {&lt;br /&gt;
		$listItem = &amp;#039;&amp;lt;li class=&amp;quot;current&amp;quot;&amp;gt;&amp;#039;;&lt;br /&gt;
	} else {&lt;br /&gt;
		$listItem = &amp;#039;&amp;lt;li&amp;gt;&amp;#039;;&lt;br /&gt;
	}&lt;br /&gt;
	$listItem .= &amp;#039;&amp;lt;a class=&amp;quot;ajax-link&amp;quot; href=&amp;quot;&amp;#039;.$item-&amp;gt;url.&amp;#039;&amp;quot;&amp;gt;&amp;#039;.$item-&amp;gt;title.&amp;#039;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;#039;;&lt;br /&gt;
	($c &amp;lt; $m) ? $col1 .= $listItem : $col2 .= $listItem;&lt;br /&gt;
	$c++;&lt;br /&gt;
}&lt;br /&gt;
$col1 .= &amp;#039;&amp;lt;/ul&amp;gt;&amp;#039;;&lt;br /&gt;
$col1 .= &amp;#039;&amp;lt;/ul&amp;gt;&amp;#039;;&lt;br /&gt;
$navList = $col1.$col2;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>91.33.206.179</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=ProcessWire_-_Navigation_Snippets&amp;diff=22347</id>
		<title>ProcessWire - Navigation Snippets</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=ProcessWire_-_Navigation_Snippets&amp;diff=22347"/>
		<updated>2017-06-06T15:02:01Z</updated>

		<summary type="html">&lt;p&gt;91.33.206.179: /* Nächste Seite */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Basics ==&lt;br /&gt;
&lt;br /&gt;
=== Page Level ===&lt;br /&gt;
In which level in page tree we are?&lt;br /&gt;
 $level = count($page-&amp;gt;parents);&lt;br /&gt;
=== Link to Subpage und Platzhalter (Spacer) ===&lt;br /&gt;
Kann man gut für Superfish Menüs etc. benutzen. Bildet das Verhalten von Shortcuts und Spacern aus TYPO3 nach.&lt;br /&gt;
&lt;br /&gt;
Anpassung der renderNavTree() Funktion von Ryan Cramer. Options Field Installieren und als globales Feld &amp;quot;navigation_type&amp;quot; mit den Optionen &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1=normal|Normal&lt;br /&gt;
2=doNotLink|Do not link&lt;br /&gt;
3=linkToFirstChild|Link to first childpage&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
konfigurieren. Dann Funktion etwa so anpassen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
// cycle through all the items&lt;br /&gt;
	foreach($items as $item) {&lt;br /&gt;
&lt;br /&gt;
		// markup for the list item...&lt;br /&gt;
		// if current item is the same as the page being viewed, add a &amp;quot;current&amp;quot; class to it&lt;br /&gt;
		$out .= $item-&amp;gt;id == wire(&amp;#039;page&amp;#039;)-&amp;gt;id ? &amp;quot;&amp;lt;li class=&amp;#039;current&amp;#039;&amp;gt;&amp;quot; : &amp;quot;&amp;lt;li&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
		// markup for the link&lt;br /&gt;
		$navigation_type = $item-&amp;gt;navigation_type-&amp;gt;id;&lt;br /&gt;
		switch ( $navigation_type ) {&lt;br /&gt;
			case 2: // do not link&lt;br /&gt;
				$out .= &amp;quot;&amp;lt;span class=&amp;#039;spacer&amp;#039;&amp;gt;$item-&amp;gt;title&amp;lt;/span&amp;gt;&amp;quot;;&lt;br /&gt;
				break;&lt;br /&gt;
			case 3: // link to subpage&lt;br /&gt;
				if( $item-&amp;gt;hasChildren() ){&lt;br /&gt;
					$out .= &amp;#039;&amp;lt;a href=&amp;quot;&amp;#039;.$item-&amp;gt;child-&amp;gt;url.&amp;#039;&amp;quot;&amp;gt;&amp;#039;.$item-&amp;gt;title.&amp;#039;&amp;lt;/a&amp;gt;&amp;#039;;&lt;br /&gt;
				}else{&lt;br /&gt;
					$out .= &amp;quot;&amp;lt;span class=&amp;#039;spacer&amp;#039;&amp;gt;$item-&amp;gt;title&amp;lt;/span&amp;gt;&amp;quot;;&lt;br /&gt;
				}&lt;br /&gt;
				break;&lt;br /&gt;
			default:&lt;br /&gt;
				$out .= &amp;quot;&amp;lt;a href=&amp;#039;$item-&amp;gt;url&amp;#039;&amp;gt;$item-&amp;gt;title&amp;lt;/a&amp;gt;&amp;quot;;&lt;br /&gt;
				break;&lt;br /&gt;
		}&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Redirect (301) ===&lt;br /&gt;
==== Redirect zu erster Unterseite ====&lt;br /&gt;
https://processwire.com/talk/topic/15-how-do-i-create-a-page-that-redirects-to-its-first-child/&lt;br /&gt;
&lt;br /&gt;
Field &amp;#039;&amp;#039;redirects_to_first_child&amp;#039;&amp;#039; erstellen und im Template einfügen.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
  if($page-&amp;gt;numChildren &amp;amp;&amp;amp; $page-&amp;gt;redirects_to_first_child) &lt;br /&gt;
  $session-&amp;gt;redirect($page-&amp;gt;child()-&amp;gt;url); &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erzeugt 301 Weiterleitung&lt;br /&gt;
&lt;br /&gt;
Anderer Ansatz wäre evtl. den Link bei der Menügenerierung direkt zu generieren.&lt;br /&gt;
&lt;br /&gt;
==== Redirect anderer Seite in der Navigation ====&lt;br /&gt;
https://processwire.com/talk/topic/762-howto-menu-item-that-links-to-another-page/&lt;br /&gt;
&lt;br /&gt;
1. Create a new field and call it &amp;#039;redirect_url&amp;#039; or something like that, and use the &amp;#039;URL&amp;#039; fieldtype. &lt;br /&gt;
&lt;br /&gt;
2. Add that field to your template where you&amp;#039;d want to use it, or create a new template just for the purpose, like a template named &amp;#039;redirect&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
3. Edit the page that you want to be a symlink and populate the &amp;#039;redirect_url&amp;#039; field with the URL you want it to redirect to.&lt;br /&gt;
&lt;br /&gt;
4. In your nav-generation code that links to the pages, do something like this:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$url = $subpage-&amp;gt;get(&amp;quot;redirect_url|url&amp;quot;); // use redirect_url if there, otherwise use url&lt;br /&gt;
echo &amp;quot;&amp;lt;a href=&amp;#039;$url&amp;#039;&amp;gt;{$subpage-&amp;gt;title}&amp;lt;/a&amp;gt;&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
5. You might also want to add this to your template that has the &amp;#039;redirect_url&amp;#039; field: just in case there&amp;#039;s anything linking to it directly. That way it&amp;#039;ll send people to the right place either way:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 if($page-&amp;gt;redirect_url) $session-&amp;gt;redirect($page-&amp;gt;redirect_url); &lt;br /&gt;
&lt;br /&gt;
=== Breadcrumb ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	&amp;lt;!-- breadcrumbs --&amp;gt;&lt;br /&gt;
	&amp;lt;div class=&amp;#039;breadcrumbs&amp;#039;&amp;gt;&amp;lt;?php &lt;br /&gt;
		// breadcrumbs are the current page&amp;#039;s parents&lt;br /&gt;
		foreach($page-&amp;gt;parents() as $item) {&lt;br /&gt;
			echo &amp;quot;&amp;lt;span&amp;gt;&amp;lt;a href=&amp;#039;$item-&amp;gt;url&amp;#039;&amp;gt;$item-&amp;gt;title&amp;lt;/a&amp;gt;&amp;lt;/span&amp;gt; &amp;quot;; &lt;br /&gt;
		}&lt;br /&gt;
		// optionally output the current page as the last item&lt;br /&gt;
		echo &amp;quot;&amp;lt;span&amp;gt;$page-&amp;gt;title&amp;lt;/span&amp;gt; &amp;quot;; &lt;br /&gt;
	?&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Main Level Navigation Bar ===&lt;br /&gt;
Homepage + Kindseiten (1 Level). Die Variable $homepage wird i.d.R. in init.php definiert:&lt;br /&gt;
 $homepage = $pages-&amp;gt;get(&amp;#039;/&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	&amp;lt;ul class=&amp;#039;topnav&amp;#039;&amp;gt;&amp;lt;?php &lt;br /&gt;
		// top navigation consists of homepage and its visible children&lt;br /&gt;
		foreach($homepage-&amp;gt;and($homepage-&amp;gt;children) as $item) {&lt;br /&gt;
			if($item-&amp;gt;id == $page-&amp;gt;rootParent-&amp;gt;id) {&lt;br /&gt;
				echo &amp;quot;&amp;lt;li class=&amp;#039;current&amp;#039;&amp;gt;&amp;quot;;&lt;br /&gt;
			} else {&lt;br /&gt;
				echo &amp;quot;&amp;lt;li&amp;gt;&amp;quot;;&lt;br /&gt;
			}&lt;br /&gt;
			echo &amp;quot;&amp;lt;a href=&amp;#039;$item-&amp;gt;url&amp;#039;&amp;gt;$item-&amp;gt;title&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
		// output an &amp;quot;Edit&amp;quot; link if this page happens to be editable by the current user&lt;br /&gt;
		if($page-&amp;gt;editable()) echo &amp;quot;&amp;lt;li class=&amp;#039;edit&amp;#039;&amp;gt;&amp;lt;a href=&amp;#039;$page-&amp;gt;editUrl&amp;#039;&amp;gt;Edit&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;quot;;&lt;br /&gt;
	?&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Nächste Seite / Next Page Navigation ===&lt;br /&gt;
// add next button if there is another page next&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
if($page-&amp;gt;next-&amp;gt;id){&lt;br /&gt;
  $next = &amp;#039;&amp;lt;div class=&amp;quot;next&amp;quot;&amp;gt;&amp;lt;i&amp;gt;Next:&amp;lt;/i&amp;gt;&amp;amp;nbsp;&amp;lt;a class=&amp;quot;ajax-link&amp;quot; name=&amp;quot;&amp;#039;.$page-&amp;gt;next-&amp;gt;title.&amp;#039;&amp;quot; href=&amp;quot;&amp;#039;. $page-&amp;gt;next-&amp;gt;url .&amp;#039;&amp;quot;&amp;gt;&amp;#039;. $page-&amp;gt;next-&amp;gt;title .&amp;#039;&amp;lt;span class=&amp;quot;fa fa-arrow-right&amp;quot;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Kindseiten mit $page-&amp;gt;children ===&lt;br /&gt;
 &amp;lt;?=$page-&amp;gt;children?&amp;gt;&lt;br /&gt;
Output&lt;br /&gt;
 5723,4958,5937&lt;br /&gt;
&lt;br /&gt;
Beispiel&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
foreach($page-&amp;gt;children as $child)&lt;br /&gt;
  echo &amp;quot;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#039;{$child-&amp;gt;url}&amp;#039;&amp;gt;{$child-&amp;gt;title}&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;quot;;&lt;br /&gt;
?&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Ergebnis:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#039;/about/contact/&amp;#039;&amp;gt;Contact Us&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#039;/about/press/&amp;#039;&amp;gt;Press Releases&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#039;/about/staff/&amp;#039;&amp;gt;Our Staff&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Children Tree ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
function listChildrenTree($children, $current, $w) {&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;&amp;lt;ul&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
foreach($children as $page) {&lt;br /&gt;
&lt;br /&gt;
	$class = &amp;#039;&amp;#039;;&lt;br /&gt;
	if($page === $current || $current-&amp;gt;parents-&amp;gt;slice(1)-&amp;gt;has($page) ) {&lt;br /&gt;
		$class = &amp;quot;class=&amp;#039;on&amp;#039; style=&amp;#039;font-weight:bold&amp;#039;&amp;quot;;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	$rootid = $w-&amp;gt;pages-&amp;gt;get(&amp;quot;/&amp;quot;)-&amp;gt;id;&lt;br /&gt;
&lt;br /&gt;
	echo &amp;quot;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#039;{$page-&amp;gt;url}&amp;#039; $class&amp;gt;&amp;quot;;&lt;br /&gt;
	if($page-&amp;gt;id == $rootid) echo &amp;quot;&amp;lt;img src=&amp;#039;&amp;quot; . $w-&amp;gt;config-&amp;gt;urls-&amp;gt;templates . &amp;quot;styles/images/home.png&amp;#039; width=&amp;#039;24&amp;#039; height=&amp;#039;28&amp;#039; alt=&amp;#039;&amp;#039; /&amp;gt;&amp;quot;;&lt;br /&gt;
	echo &amp;quot;{$page-&amp;gt;title}&amp;lt;/a&amp;gt; &amp;quot;;&lt;br /&gt;
&lt;br /&gt;
	if($page-&amp;gt;numChildren &amp;amp;&amp;amp; $page-&amp;gt;id != $rootid) listChildrenTree($page-&amp;gt;children, $current, $w);&lt;br /&gt;
&lt;br /&gt;
	echo &amp;quot;&amp;lt;/li&amp;gt;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
echo &amp;quot;&amp;lt;/ul&amp;gt;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
$children = $pages-&amp;gt;get(&amp;quot;/&amp;quot;)-&amp;gt;children();&lt;br /&gt;
$children-&amp;gt;prepend($pages-&amp;gt;get(&amp;quot;/&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
listChildrenTree($children, $page, $wire);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bootstrap Navigation ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php namespace ProcessWire;&lt;br /&gt;
// Markup to use wicht navigation_type field (normal=1, no-link=2,subpage=3)&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// bundle up the first level pages and prepend the root home page&lt;br /&gt;
$homepage = $pages-&amp;gt;get(1);&lt;br /&gt;
$pa = $homepage-&amp;gt;children;&lt;br /&gt;
$pa = $pa-&amp;gt;prepend($homepage);&lt;br /&gt;
&lt;br /&gt;
// Set the ball rolling...&lt;br /&gt;
$myMenu = renderChildrenOf($pa);&lt;br /&gt;
$wrapper = &amp;#039;&lt;br /&gt;
&amp;lt;nav class=&amp;quot;navbar navbar-default&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;container-fluid&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;navbar-header&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;button type=&amp;quot;button&amp;quot; class=&amp;quot;navbar-toggle collapsed&amp;quot; data-toggle=&amp;quot;collapse&amp;quot; data-target=&amp;quot;#navbar-collapse-1&amp;quot; aria-expanded=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;span class=&amp;quot;sr-only&amp;quot;&amp;gt;Menü&amp;lt;/span&amp;gt;&lt;br /&gt;
        &amp;lt;span class=&amp;quot;icon-bar&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
        &amp;lt;span class=&amp;quot;icon-bar&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
        &amp;lt;span class=&amp;quot;icon-bar&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
      &amp;lt;/button&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;collapse navbar-collapse&amp;quot; id=&amp;quot;navbar-collapse-1&amp;quot;&amp;gt;&lt;br /&gt;
      |&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
$myMenu = wrap($myMenu,$wrapper);&lt;br /&gt;
echo $myMenu;&lt;br /&gt;
/*&lt;br /&gt;
Navigation for ProcessWire using the Bootstrap 2.2.2 markup&lt;br /&gt;
This menu was written by Soma based on work by NetCarver and a bit thrown in by Joss&lt;br /&gt;
&lt;br /&gt;
Navigation Bootstrap 3 update by Damienov, with multi level dropdown support fix&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
function renderChildrenOf($pa, $output = &amp;#039;&amp;#039;, $level = 0)&lt;br /&gt;
{&lt;br /&gt;
    $output = &amp;#039;&amp;#039;;&lt;br /&gt;
    $level++;&lt;br /&gt;
&lt;br /&gt;
    foreach ($pa as $child) {&lt;br /&gt;
        $atoggle = &amp;#039;&amp;#039;;&lt;br /&gt;
        $class = &amp;#039;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
        if ($child-&amp;gt;numChildren &amp;amp;&amp;amp; count($child-&amp;gt;parents) == 1) {&lt;br /&gt;
            $class .= &amp;#039;dropdown&amp;#039;;&lt;br /&gt;
            $atoggle .= &amp;#039; class=&amp;quot;dropdown-toggle&amp;quot; data-toggle=&amp;quot;dropdown&amp;quot;&amp;#039;;&lt;br /&gt;
        } else if ($child-&amp;gt;numChildren &amp;amp;&amp;amp; count($child-&amp;gt;parents) &amp;gt; 1 ) {&lt;br /&gt;
            $class .= &amp;#039;dropdown-submenu&amp;#039;;&lt;br /&gt;
            $atoggle .= &amp;#039; class=&amp;quot;dropdown-toggle&amp;quot;&amp;#039;;&lt;br /&gt;
        } else if ($child-&amp;gt;numChildren &amp;amp;&amp;amp; $child-&amp;gt;id != 1) {&lt;br /&gt;
            $class .= &amp;#039;dropdown-menu&amp;#039;;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Makes the current page and it&amp;#039;s top level parent add an active class&lt;br /&gt;
        $class .= ($child === wire(&amp;quot;page&amp;quot;) || $child === wire(&amp;quot;page&amp;quot;)-&amp;gt;rootParent) ? &amp;quot; active&amp;quot; : &amp;#039;&amp;#039;;&lt;br /&gt;
        $class = strlen($class) ? &amp;quot; class=&amp;#039;&amp;quot; . trim($class) . &amp;quot;&amp;#039;&amp;quot; : &amp;#039;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
        if ($child-&amp;gt;numChildren &amp;amp;&amp;amp; count($child-&amp;gt;parents) == 1) {&lt;br /&gt;
            // Add Caret if have children&lt;br /&gt;
            $output .= &amp;quot;&amp;lt;li$class&amp;gt;&amp;lt;a href=&amp;#039;$child-&amp;gt;url&amp;#039;$atoggle&amp;gt;$child-&amp;gt;title &amp;lt;b class=&amp;#039;caret&amp;#039;&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/a&amp;gt;&amp;quot;;&lt;br /&gt;
        } else if ($child-&amp;gt;numChildren &amp;amp;&amp;amp; count($child-&amp;gt;parents) &amp;gt; 1) {&lt;br /&gt;
            $output .= &amp;quot;&amp;lt;li$class&amp;gt;&amp;lt;a tabindex=&amp;#039;-1&amp;#039; href=&amp;#039;$child-&amp;gt;url&amp;#039;$atoggle&amp;gt;$child-&amp;gt;title&amp;lt;/a&amp;gt;&amp;quot;;&lt;br /&gt;
        } else {&lt;br /&gt;
            $output .= &amp;quot;&amp;lt;li$class&amp;gt;&amp;lt;a href=&amp;#039;$child-&amp;gt;url&amp;#039;$atoggle&amp;gt;$child-&amp;gt;title&amp;lt;/a&amp;gt;&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // If this child is itself a parent and not the root page, then render it&amp;#039;s children in their own menu too...&lt;br /&gt;
        if ($child-&amp;gt;numChildren &amp;amp;&amp;amp; $child-&amp;gt;id != 1) {&lt;br /&gt;
            $output .= renderChildrenOf($child-&amp;gt;children, $output, $level);&lt;br /&gt;
        }&lt;br /&gt;
        $output .= &amp;#039;&amp;lt;/li&amp;gt;&amp;#039;;&lt;br /&gt;
    }&lt;br /&gt;
    $outerclass = ($level == 1) ? &amp;quot;nav navbar-nav&amp;quot; : &amp;#039;dropdown-menu&amp;#039;;&lt;br /&gt;
    return &amp;quot;&amp;lt;ul class=&amp;#039;$outerclass&amp;#039;&amp;gt;$output&amp;lt;/ul&amp;gt;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
== MarkupSimpleNavigation==&lt;br /&gt;
[[Processwire Modul - MarkupSimpleNavigation]]&lt;br /&gt;
&lt;br /&gt;
== Weitere Menüs ==&lt;br /&gt;
=== Metamenü / Footer-Navigation ===&lt;br /&gt;
Checkbox anlegen (footer_nav), und dann das Seitenarray etwa so modifizieren.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$footer_nav = $pages-&amp;gt;find(&amp;quot;parent=1, footer_checkbox=1&amp;quot;);&lt;br /&gt;
$main_nav = $pages-&amp;gt;find(&amp;quot;parent=1, footer_checkbox!=1&amp;quot;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Zweispaltige Navigation aus Kindseiten ===&lt;br /&gt;
Verbesserungsvorschlag: Anstatt if lieber zwei for Schleifen -&amp;gt; bessere Performance&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
// Childrens&lt;br /&gt;
$n = count($page-&amp;gt;children);&lt;br /&gt;
$m = ceil($n/2);&lt;br /&gt;
$c = 0;&lt;br /&gt;
&lt;br /&gt;
// NAVIGATION &amp;amp; SLIDER Items&lt;br /&gt;
$listItem = &amp;#039;&amp;#039;;&lt;br /&gt;
$navList = &amp;#039;&amp;#039;;&lt;br /&gt;
$col1 = &amp;#039;&amp;lt;ul class=&amp;quot;nav-list col1&amp;quot;&amp;gt;&amp;#039;;&lt;br /&gt;
$col2 = &amp;#039;&amp;lt;ul class=&amp;quot;nav-list col2&amp;quot;&amp;gt;&amp;#039;;&lt;br /&gt;
foreach ($page-&amp;gt;children as $item) {&lt;br /&gt;
	if($item-&amp;gt;id == $page-&amp;gt;rootParent-&amp;gt;id) {&lt;br /&gt;
		$listItem = &amp;#039;&amp;lt;li class=&amp;quot;current&amp;quot;&amp;gt;&amp;#039;;&lt;br /&gt;
	} else {&lt;br /&gt;
		$listItem = &amp;#039;&amp;lt;li&amp;gt;&amp;#039;;&lt;br /&gt;
	}&lt;br /&gt;
	$listItem .= &amp;#039;&amp;lt;a class=&amp;quot;ajax-link&amp;quot; href=&amp;quot;&amp;#039;.$item-&amp;gt;url.&amp;#039;&amp;quot;&amp;gt;&amp;#039;.$item-&amp;gt;title.&amp;#039;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;#039;;&lt;br /&gt;
	($c &amp;lt; $m) ? $col1 .= $listItem : $col2 .= $listItem;&lt;br /&gt;
	$c++;&lt;br /&gt;
}&lt;br /&gt;
$col1 .= &amp;#039;&amp;lt;/ul&amp;gt;&amp;#039;;&lt;br /&gt;
$col1 .= &amp;#039;&amp;lt;/ul&amp;gt;&amp;#039;;&lt;br /&gt;
$navList = $col1.$col2;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>91.33.206.179</name></author>
	</entry>
</feed>