====== Unterschiede ====== Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
secondary-nav-auf-gewissen-seiten-ausblenden [2013/05/06 22:33] Sunflower [Secondary Nav auf gewissen Seiten ausblenden] |
secondary-nav-auf-gewissen-seiten-ausblenden [2019/04/25 14:04] (aktuell) |
||
---|---|---|---|
Zeile 2: | Zeile 2: | ||
related: [[http://marketpress.de/support/topic/secondary-nav-bei-gewissen-seiten-ausblenden/|Secondary Nav bei gewissen Seiten ausblenden]] | related: [[http://marketpress.de/support/topic/secondary-nav-bei-gewissen-seiten-ausblenden/|Secondary Nav bei gewissen Seiten ausblenden]] | ||
- | Dieses Beispiel bezieht sich jetzt auf die alternative secondary Navigation in xtreme-one, wenn sich diese **in einem eigenen Layoutcontainer** befindet. Also alle [[secondary-nav-auf-gewissen-seiten-ausblenden#zu_verwenden_mit_fogenden_hooks|Positionen, die unten als hooks aufgelistet sind]]. \\ | + | Nachtrag: Nachdem ja 1000 Wege nach Rom führen kann man es sich auch leichter machen, wenn man nur die Standard Positionen für Primary und Secondary Navigation von xtreme-one verwendet. Dazu zeige ich hier auch noch eine Möglichkeit auf: [[primary-secondary-navigation-mit-conditionals-steuern|Xtreme-one Primary / Secondary Navigation mit Conditionals steuern]] |
+ | |||
+ | ===== Secondary Navigation in eigenem Layout container ausgeben ===== | ||
+ | |||
+ | Dieses Beispiel bezieht sich jetzt auf die alternative secondary Navigation in xtreme-one, wenn sich diese **in einem eigenen Layoutcontainer** befindet. Also alle [[secondary-nav-auf-gewissen-seiten-ausblenden#hooks_fuer_die_navigation_mit_eigenem_layout_container|Positionen, die unten als hooks aufgelistet sind]]. \\ | ||
Hinweis: Im dropdown stehen nicht alle unten aufgelisteten Positionen zur Vefügung. | Hinweis: Im dropdown stehen nicht alle unten aufgelisteten Positionen zur Vefügung. | ||
Zeile 11: | Zeile 15: | ||
und wählt das Menu, welches angezeigt werden soll und setzt die anderen Einstellungen, wie man die Ausgabe wünscht. | und wählt das Menu, welches angezeigt werden soll und setzt die anderen Einstellungen, wie man die Ausgabe wünscht. | ||
- | Dann **deaktiviert** man die seconday Nav wieder, da wir sie über einen hook ausgeben lassen, um conditonals zu verwenden. Die Einstellungen werden in der Datenbank gespeichert und stehen beim Aufruf der ''function xtreme_navigation'' zur Verfügung. | + | Dann **deaktiviert** man die secondary Nav wieder, da wir sie über einen hook ausgeben lassen, um conditonals zu verwenden. Die Einstellungen werden in der Datenbank gespeichert und stehen beim Aufruf der ''function xtreme_navigation'' zur Verfügung. |
- | Die Einstellung für die Position spielt hier keine Rolle, da wir diese durch unsern entsprechenden hook bestimmen. | + | Die Einstellung für die Position spielt hier keine Rolle, da wir diese durch einen entsprechenden hook bestimmen. |
Folgendes kommt nun in die functions.php des ChildThemes: | Folgendes kommt nun in die functions.php des ChildThemes: | ||
Zeile 30: | Zeile 34: | ||
- | ===== Eigenes stylesheet integrieren ===== | ||
- | Je nachdem, welches Stylesheet du für deine Navigation verwendest, kann es sein, daß dieses durch das Abschalten der Secondary Navigation nicht mehr geladen wird. | ||
- | Kopiere dir dann einfach den Ordner aus //xtreme-one/css/navigation// und alle darin enthaltenen Dateien(//descriptive.css, shinybuttons.css, slidingdoor.css und superfish.css//) in deinen Childheme Ordner. Falls Du dort schon angepasste Stylesheets hast, brauchst du diese natürlich nicht mehr kopieren. | + | ==== Hooks für die Navigation mit eigenem Layout container === |
- | + | ||
- | Kopiere dir dann folgendes in die ''functions.php'' des ChildThemes und generiere im Backend von xtreme-one das Theme nochmal. Damit wird sichergestellt, das dein css wieder mit eingebunden wird. Natürlich brauchst du nur die Dateien mit einbinden, die du verwendest. Falls du ein eigenes stylesheet für deine secondary Navigation erstellt hast, mußt du dieses auch hier mit integrieren. | + | |
- | <code phpwp> | + | |
- | /* add custom css to array | + | |
- | * copy in your ChildTheme/functions.php and change to your needs | + | |
- | */ | + | |
- | add_filter('after_theme_css', 'my_colorset_css'); | + | |
- | function my_colorset_css($css) { | + | |
- | $css[] = '/css/navigation/shinybuttons.css'; | + | |
- | $css[] = '/css/navigation/slidingdoor.css'; | + | |
- | $css[] = '/css/navigation/superfish.css'; | + | |
- | $css[] = '/css/navigation/eigener-secondary-style.css'; | + | |
- | return $css; | + | |
- | } | + | |
- | </code> | + | |
- | + | ||
- | ===== Zu verwenden mit fogenden hooks: ===== | + | |
<code phpwp> | <code phpwp> | ||
Zeile 89: | Zeile 74: | ||
+ | |||
+ | ===== Secondary Navigation innerhalb eines containers ausgeben ===== | ||
+ | Gehe in deine Einstellungen von xtreme-one:\\ | ||
+ | //Backend xtreme-one -> Navigation// | ||
+ | |||
+ | Als erstes **aktiviert** man die //secondary nav// und wählt das entsprechende Stylesheet (shinybuttons, descriptive,...), welches man für seine Secondary Navigation verwenden will \\ | ||
+ | und wählt das Menu, welches angezeigt werden soll und setzt die anderen Einstellungen, die man für die Ausgabe wünscht. | ||
+ | |||
+ | Dann **deaktiviert** man die secondary Nav wieder, da wir sie über einen hook ausgeben lassen, um conditonals zu verwenden. Die Einstellungen werden in der Datenbank gespeichert und stehen beim Aufruf der ''function xtreme_navigation'' zur Verfügung. | ||
+ | |||
+ | Die Einstellung für die Position spielt hier keine Rolle, da wir diese durch einen entsprechenden hook bestimmen. | ||
+ | |||
+ | Folgendes kommt nun in die functions.php des ChildThemes: | ||
+ | <code phpwp> | ||
+ | function tc_secondary_inside_container_navmenu(){ | ||
+ | // use conditionals, exclude your desired pages here | ||
+ | if ( ! is_page( array( 109, 1164 ) ) ) : | ||
+ | xtreme_header_navigation( 'secondary' ); | ||
+ | endif; | ||
+ | } | ||
+ | // inside of header at the top | ||
+ | add_action( 'xtreme_header_top', 'tc_secondary_inside_container_navmenu' ); | ||
+ | </code> | ||
+ | Alle Seiten, die nicht mit der secondary Navigation angezeigt werden sollen, müßen in das array bei\\ | ||
+ | ''is_page ( array( 109, 1164 )'' ) eingetragen werden. | ||
+ | |||
+ | Falls du ein eigenes stylesheet für deine secondary nav angelegt hast, oder das von dir gewählte nicht mehr geladen wird, verwende den hook ''after_theme_css'' der im Anschluss erklärt wird, um dein [[secondary-nav-auf-gewissen-seiten-ausblenden?#eigenes_stylesheet_integrieren|gewünschtes stylesheet wieder zu integrieren]]. | ||
+ | |||
+ | ==== Hooks für die Navigation innerhalb eines layout containers ==== | ||
+ | <code phpwp> | ||
+ | // inside of header at the top / im Header oben | ||
+ | add_action( 'xtreme_header_top', 'tc_secondary_inside_container_navmenu' ); | ||
+ | |||
+ | // inside header - second area / im Header - zweite Spalte | ||
+ | add_action( 'xtreme_header_col1', 'tc_secondary_inside_container_navmenu' ); | ||
+ | |||
+ | // inside of header at the bottom / im Header unten | ||
+ | add_action( 'xtreme_header_bottom', 'tc_secondary_inside_container_navmenu' ); | ||
+ | |||
+ | // inside header - first area / im Header - erste Spalte | ||
+ | add_action( 'xtreme_header_col3', 'tc_secondary_inside_container_navmenu' ); | ||
+ | |||
+ | // inside of siteinfo at the top / in Siteinfo oben | ||
+ | add_action( 'xtreme_siteinfo_top', 'tc_secondary_inside_container_navmenu' ); | ||
+ | |||
+ | // inside siteinfo - second area / in Siteinfo - 2. Spalte | ||
+ | add_action( 'xtreme_siteinfo_col1', 'tc_secondary_inside_container_navmenu' ); | ||
+ | |||
+ | // inside of siteinfo at the bottom / in Siteinfo unten | ||
+ | add_action( 'xtreme_siteinfo_bottom', 'tc_secondary_inside_container_navmenu' ); | ||
+ | |||
+ | // inside siteinfo - first area / in Siteinfo - 1. Spalte | ||
+ | add_action( 'xtreme_siteinfo_col3', 'tc_secondary_inside_container_navmenu' ); | ||
+ | </code> | ||
+ | |||
+ | ===== Eigenes stylesheet integrieren ===== | ||
+ | Je nachdem, welches Stylesheet du für deine Navigation verwendest, kann es sein, daß dieses durch das Abschalten der Secondary Navigation nicht mehr geladen wird. | ||
+ | |||
+ | Kopiere dir dann einfach den Ordner aus //xtreme-one/css/navigation// und alle darin enthaltenen Dateien(//descriptive.css, shinybuttons.css, slidingdoor.css und superfish.css//) in deinen Childheme Ordner. Falls Du dort schon angepasste Stylesheets hast, brauchst du diese natürlich nicht mehr kopieren. | ||
+ | |||
+ | Kopiere dir dann folgendes in die ''functions.php'' des ChildThemes und generiere im Backend von xtreme-one das Theme nochmal. Damit wird sichergestellt, das dein css wieder mit eingebunden wird. Natürlich brauchst du nur die Dateien mit einbinden, die du verwendest. Falls du ein eigenes stylesheet für deine secondary Navigation erstellt hast, mußt du dieses auch hier mit integrieren. | ||
+ | <code phpwp> | ||
+ | /* add custom css to array | ||
+ | * copy in your ChildTheme/functions.php and change to your needs | ||
+ | */ | ||
+ | add_filter('after_theme_css', 'my_colorset_css'); | ||
+ | function my_colorset_css($css) { | ||
+ | $css[] = '/css/navigation/shinybuttons.css'; | ||
+ | $css[] = '/css/navigation/slidingdoor.css'; | ||
+ | $css[] = '/css/navigation/superfish.css'; | ||
+ | $css[] = '/css/navigation/eigener-secondary-style.css'; | ||
+ | return $css; | ||
+ | } | ||
+ | </code> | ||
+ | ===== Eigenes Seitentemplate verwenden ===== | ||
+ | Birgit Olzem hat auch noch ein Lösungsvorschlag für die Anzeige / Nicht Anzeige einer Navigation auf bestimmten Seiten.\\ | ||
+ | //Wenn du aber für die speziellen Seiten, die keine Secondary Nav haben sollen, ein eigenes Seitentemplate anlegst, kannst du das auch wie folgt in der functions.php einbinden:// | ||
+ | <code phpwp> | ||
+ | function my_secondary_navmenu(){ | ||
+ | if ( ! is_page_template( 'special-page.php' ) ) : | ||
+ | xtreme_navigation( 'secondary' ); | ||
+ | endif; | ||
+ | } | ||
+ | add_action( 'xtreme_before_main', 'my_secondary_navmenu' ); | ||
+ | </code> | ||
+ | |||
+ | Diese Lösung funktioniert natürlich nur bei Verwendung von Seiten.\\ | ||
+ | Wenn man also für bestimmte Beiträge oder Kategorien die Ausgabe für die Navigation selbst steuern will, ist eine der beiden Lösungen oben der richtige Ansatz. Man muß dann die conditional natürlich an die eigenen Bedürfnisse anpassen. |