<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.stephanschlegel.de/index.php?action=history&amp;feed=atom&amp;title=Pushy_Menu</id>
	<title>Pushy Menu - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.stephanschlegel.de/index.php?action=history&amp;feed=atom&amp;title=Pushy_Menu"/>
	<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Pushy_Menu&amp;action=history"/>
	<updated>2026-05-06T17:06:31Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikizone</subtitle>
	<generator>MediaWiki 1.35.14</generator>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Pushy_Menu&amp;diff=22339&amp;oldid=prev</id>
		<title>37.49.32.84: /* Beispiel für Processwire */</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Pushy_Menu&amp;diff=22339&amp;oldid=prev"/>
		<updated>2017-05-31T10:46:57Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Beispiel für Processwire&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 31. Mai 2017, 10:46 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l2&quot; &gt;Zeile 2:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 2:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Paket z.B. unter Vendors einfügen&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Paket z.B. unter Vendors einfügen&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Beispiel für Processwire ===&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Beispiel für Processwire ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Todo Optimize Code&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;nav_pushy.inc&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;nav_pushy.inc&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>37.49.32.84</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Pushy_Menu&amp;diff=22338&amp;oldid=prev</id>
		<title>37.49.32.84: Die Seite wurde neu angelegt: „== Quickstart == * Paket z.B. unter Vendors einfügen === Beispiel für Processwire === nav_pushy.inc &lt;syntaxhighlight lang=&quot;php&quot;&gt; &lt;?php namespace ProcessWire;…“</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Pushy_Menu&amp;diff=22338&amp;oldid=prev"/>
		<updated>2017-05-31T10:46:06Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „== Quickstart == * Paket z.B. unter Vendors einfügen === Beispiel für Processwire === nav_pushy.inc &amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt; &amp;lt;?php namespace ProcessWire;…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Quickstart ==&lt;br /&gt;
* Paket z.B. unter Vendors einfügen&lt;br /&gt;
=== Beispiel für Processwire ===&lt;br /&gt;
nav_pushy.inc&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;
function renderPushyMenu($items, $maxDepth = 0, $fieldNames = &amp;#039;&amp;#039;, $options = array(&amp;#039;level&amp;#039; =&amp;gt; 0, &amp;#039;ulClass&amp;#039; =&amp;gt; &amp;#039;&amp;#039;, &amp;#039;liClass&amp;#039; =&amp;gt; &amp;#039;&amp;#039;, &amp;#039;aClass&amp;#039; =&amp;gt; &amp;#039;&amp;#039;) ) {&lt;br /&gt;
&lt;br /&gt;
	// if we were given a single Page rather than a group of them, we&amp;#039;ll pretend they&lt;br /&gt;
	// gave us a group of them (a group/array of 1)&lt;br /&gt;
	if($items instanceof Page) $items = array($items);&lt;br /&gt;
	$out = &amp;#039;&amp;#039;;&lt;br /&gt;
  $c = 0;&lt;br /&gt;
  $liClasses = array();&lt;br /&gt;
  $ulClasses = array();&lt;br /&gt;
	$level = 0;&lt;br /&gt;
	$liClass = &amp;#039;&amp;#039;;&lt;br /&gt;
	$ulClass = &amp;#039;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
	if(!empty($options[&amp;#039;level&amp;#039;])) $level = $options[&amp;#039;level&amp;#039;];&lt;br /&gt;
	if(!empty($options[&amp;#039;ulClass&amp;#039;])) {&lt;br /&gt;
		$ulClasses[] = $options[&amp;#039;ulClass&amp;#039;];&lt;br /&gt;
		$ulClass = $options[&amp;#039;ulClass&amp;#039;];&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	if(!empty($options[&amp;#039;liClass&amp;#039;])) {&lt;br /&gt;
		$liClasses[] = $options[&amp;#039;liClass&amp;#039;];&lt;br /&gt;
		$liClass = $options[&amp;#039;liClass&amp;#039;];&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	// cycle through all the items&lt;br /&gt;
	foreach($items as $item) {&lt;br /&gt;
    //$level = count($page-&amp;gt;parents);&lt;br /&gt;
		// LI ITEM&lt;br /&gt;
		$classes = $liClasses;&lt;br /&gt;
    //if($item-&amp;gt;id == wire(&amp;#039;page&amp;#039;)-&amp;gt;id) $classes[] = &amp;#039;cur&amp;#039;;&lt;br /&gt;
		if($item-&amp;gt;hasChildren) {&lt;br /&gt;
      // BUTTON instead of Link&lt;br /&gt;
      $out .= &amp;#039;&amp;lt;li class=&amp;quot;pushy-submenu&amp;quot;&amp;gt;&amp;lt;button&amp;gt;&amp;#039;.$item-&amp;gt;title.&amp;#039;&amp;lt;/button&amp;gt;&amp;#039;;&lt;br /&gt;
		}else{&lt;br /&gt;
      $classes[] = &amp;#039;level-&amp;#039;.$level;&lt;br /&gt;
  		$out .= &amp;#039;&amp;lt;li class=&amp;quot;&amp;#039;.implode($classes,&amp;#039; &amp;#039;).&amp;#039;&amp;quot;&amp;gt;&amp;#039;;&lt;br /&gt;
      unset($classes);&lt;br /&gt;
&lt;br /&gt;
  		// A ITEM&lt;br /&gt;
  		$navigation_type = $item-&amp;gt;navigation_type-&amp;gt;id;&lt;br /&gt;
  		$classes = $liClasses;&lt;br /&gt;
  		switch ( $navigation_type ) {&lt;br /&gt;
  			case 2: // do not link&lt;br /&gt;
  				$out .= &amp;#039;&amp;lt;span class=&amp;quot;spacer&amp;quot;&amp;gt;&amp;#039;.$item-&amp;gt;title.&amp;#039;&amp;lt;/span&amp;gt;&amp;#039;;&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; class=&amp;quot;ajax-link&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;#039;&amp;lt;a href=&amp;quot;&amp;#039;.$item-&amp;gt;url.&amp;#039;&amp;quot; class=&amp;quot;ajax-link&amp;quot;&amp;gt;&amp;#039;.$item-&amp;gt;title.&amp;#039;&amp;lt;/a&amp;gt;&amp;#039;;&lt;br /&gt;
  				break;&lt;br /&gt;
  		}&lt;br /&gt;
  		unset($classes);&lt;br /&gt;
		}&lt;br /&gt;
		// if there are extra field names specified, render markup for each one in a &amp;lt;div&amp;gt;&lt;br /&gt;
		// having a class name the same as the field name&lt;br /&gt;
		if($fieldNames) foreach(explode(&amp;#039; &amp;#039;, $fieldNames) as $fieldName) {&lt;br /&gt;
			$value = $item-&amp;gt;get($fieldName);&lt;br /&gt;
			if($value) $out .= &amp;quot; &amp;lt;div class=&amp;#039;$fieldName&amp;#039;&amp;gt;$value&amp;lt;/div&amp;gt;&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		// if the item has children and we&amp;#039;re allowed to output tree navigation (maxDepth)&lt;br /&gt;
		// then call this same function again for the item&amp;#039;s children&lt;br /&gt;
		if($item-&amp;gt;hasChildren() &amp;amp;&amp;amp; $maxDepth) {&lt;br /&gt;
			//if($class == &amp;#039;nav&amp;#039;) $class = &amp;#039;nav nav-tree&amp;#039;;&lt;br /&gt;
			$nextLevelOptions = array(&amp;#039;level&amp;#039; =&amp;gt; $level+1, &amp;#039;ulClass&amp;#039; =&amp;gt; &amp;#039;&amp;#039;, &amp;#039;liClass&amp;#039; =&amp;gt; $liClass);&lt;br /&gt;
			$out .= renderNavTreeType($item-&amp;gt;children, $maxDepth-1, $fieldNames, $nextLevelOptions);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		// close the list item&lt;br /&gt;
		$out .= &amp;quot;&amp;lt;/li&amp;gt;\n&amp;quot;;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	// if output was generated above, wrap it in a &amp;lt;ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	if($out) $out = &amp;quot;\n&amp;quot;.&amp;#039;&amp;lt;ul class=&amp;quot;&amp;#039;.implode($ulClasses,&amp;#039; &amp;#039;).&amp;#039;&amp;quot;&amp;gt;&amp;#039;.&amp;quot;\n&amp;quot;.$out.&amp;#039;&amp;lt;/ul&amp;gt;&amp;#039;.&amp;quot;\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
	// return the markup we generated above&lt;br /&gt;
	return $out;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;!-- navbar 1st level--&amp;gt;&lt;br /&gt;
&amp;lt;nav class=&amp;quot;pushy pushy-left&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;pushy-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?&lt;br /&gt;
$pa = $homepage-&amp;gt;children(&amp;quot;menus.id=1&amp;quot;); //only main menu items&lt;br /&gt;
$options = array(&amp;#039;level&amp;#039; =&amp;gt; &amp;#039;1&amp;#039;, &amp;#039;ulClass&amp;#039; =&amp;gt; &amp;#039;&amp;#039;, &amp;#039;liClass&amp;#039; =&amp;gt; &amp;#039;pushy-link&amp;#039;, &amp;#039;aClass&amp;#039; =&amp;gt; &amp;#039;&amp;#039;);&lt;br /&gt;
echo &amp;quot;&lt;br /&gt;
  &amp;lt;div class=&amp;#039;logo-side&amp;#039;&amp;gt;&lt;br /&gt;
    &amp;lt;a href=&amp;#039;{$homepage-&amp;gt;url}&amp;#039; title=&amp;#039;Home-Link&amp;#039; alt=&amp;#039;Home-Link&amp;#039;&amp;gt;&lt;br /&gt;
      &amp;lt;img src=&amp;#039;{$config-&amp;gt;urls-&amp;gt;templates}img/logo-mobile.png&amp;#039; style=&amp;#039;width: 80px; margin-top: 30px;&amp;#039;&amp;gt;&lt;br /&gt;
    &amp;lt;/a&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;div&amp;gt;&amp;quot;.renderPushyMenu($pa, $maxDepth = 1, $fieldNames = &amp;#039;&amp;#039;, $options).&amp;quot;&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&amp;lt;/nav&amp;gt;&amp;lt;div class=&amp;#039;site-overlay&amp;#039;&amp;gt;&amp;lt;/div&amp;gt;&amp;quot;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Probleme lösen ==&lt;br /&gt;
&lt;br /&gt;
=== Pfeile werden nicht angezeigt ===&lt;br /&gt;
&lt;br /&gt;
Lösung:&lt;br /&gt;
Server nimmt falschen Mime Type. Zur htaccess Datei folgendes hinzufügen:&lt;br /&gt;
 AddType image/svg+xml .svg .svgz&lt;/div&gt;</summary>
		<author><name>37.49.32.84</name></author>
	</entry>
</feed>