Sidebar bei Produktanzeige wechseln

Hier findest du alle Fragen zu besonderen Anpassungen an den Templates oder Wordpress selber

Moderatoren: maennchen1.de, wpShopGermany Moderator

Antworten
HOppermann
Beiträge: 73
Registriert: 22.07.2015, 07:58
Lizenz: wpShopGermany Pro
Skype-Name: holgee

Sidebar bei Produktanzeige wechseln

Beitrag von HOppermann »

Hallo in die Runde,

in meinem WP Template habe ich eine extra Sidebar für die Shopumgebung aufgebaut. Diese wurde in ein Seitentemplate integriert, welches auch für die Shop - Startseite verwendet und korrekt angezeigt wird.
Da ich gerne das Modul "Produktartikel" in Verbindung mit "Produktübersichten" verwenden möchte, besteht hier nun das Problem, dass bei der Produkteinzelanischt des CustomPost Types das Theme Standard - Seitentemplate verwendet wird, welches die genannte Sidebar natürlich nicht enthält.

Daher meine Fragen:
- Besteht die Möglichkeit das Shop - Template derart anzupassen, dass es die abweichende ("ShopSidebar") aufruft?
oder
- Besteht die Möglichkeit dem Modul "Produktübersicht" bei Klick auf "zum Produkt" ein anderes Produkt - Template (welches die abweichende "ShopSidebar" beinhaltet) zuzusweisen?
oder
Und das ist wahrscheinlich die "einfachste" Lösung - geht dies lediglich über eine Abfrage im Theme - Standart Seitentemplate (page.php) welche die Kategorien abfragt (<?php in_category( $category, $_post ) ?>) die ja im Zusammenhang mit dem Modul "Produktartikel" anzulgegen sind - und dann die entsprechende Sidebar mittels <?php get_sidebar( $name ); ?> aufruft ?

Zur Verdeutlichung hier der Link zum Shop (ist aber noch in Entwicklung)
http://tachundnacht.de/shop

Freue mich über jede Antwort und sage schon einmal Danke im Voraus!

Holger
MKJ
Beiträge: 3073
Registriert: 25.08.2010, 16:11

Re: Sidebar bei Produktanzeige wechseln

Beitrag von MKJ »

Du kannst eine Sidebar nicht über ein WPSG Template laden.
HOppermann hat geschrieben:Und das ist wahrscheinlich die "einfachste" Lösung - geht dies lediglich über eine Abfrage im Theme - Standart Seitentemplate (page.php) welche die Kategorien abfragt (<?php in_category( $category, $_post ) ?>) die ja im Zusammenhang mit dem Modul "Produktartikel" anzulgegen sind - und dann die entsprechende Sidebar mittels <?php get_sidebar( $name ); ?> aufruft ?
Das ist der richtige Ansatz. Ich würde aber den Custom Post Type abfragen, das ist sauberer als Deine Idee.
Tipps und Tricks rund um wpShopGermany: www.my-blog-shop.de
HOppermann
Beiträge: 73
Registriert: 22.07.2015, 07:58
Lizenz: wpShopGermany Pro
Skype-Name: holgee

Re: Sidebar bei Produktanzeige wechseln

Beitrag von HOppermann »

Besten Dank für die schnelle Antwort und den Tipp - der Custom Post Type ist wirklich besser abzufragen.

Hier hätte ich nur lediglich noch die kurze Frage nach dem genauen Namen, außer dieser ist vom Titel abweichend ...

Lieben Dank schon einmal im Voraus !
HOppermann
Beiträge: 73
Registriert: 22.07.2015, 07:58
Lizenz: wpShopGermany Pro
Skype-Name: holgee

Re: Sidebar bei Produktanzeige wechseln

Beitrag von HOppermann »

Hallo noch einmal,

habe das Modul nun erworben und die papge.php um die folgende Abfrage erweitert:

Code: Alles auswählen

<?php if (get_post_type() == 'produkte') {
get_sidebar('shop');
} else {
get_sidebar();
}
?> 
Soweit so gut, aber leider wird beim Aufruf eines Artikels die Standtard Sidebar aufgerufen - ich vermute, es liegt an der (fehlenden) genauen Bezeichnung des CustomPost Types bei den Produktartikeln. Beim Aufruf des Entsprechenden Eintrags im Backend (also um z.B. ein Produkt im "Produktartikel" Bereich zu verwalten) wird in der Browserzeile posttype=produkt angezeigt, daher vermutete ich, das dies der Name war ...

Daher würde ich gerne den genauen Namen des CustomPost Types für das Modul Produktartikel wissen ... dann klappt bestimmt auch die Abfrage ;)

Lieben Dank schon einmal im Voraus!
MKJ
Beiträge: 3073
Registriert: 25.08.2010, 16:11

Re: Sidebar bei Produktanzeige wechseln

Beitrag von MKJ »

HOppermann hat geschrieben:Daher würde ich gerne den genauen Namen des CustomPost Types für das Modul Produktartikel wissen ... dann klappt bestimmt auch die Abfrage ;)
Das ist der Path Key im Modul Produktartikel. Wenn Du den nicht geändert hast, ist "produkte" an sich schon richtig.
Tipps und Tricks rund um wpShopGermany: www.my-blog-shop.de
HOppermann
Beiträge: 73
Registriert: 22.07.2015, 07:58
Lizenz: wpShopGermany Pro
Skype-Name: holgee

Re: Sidebar bei Produktanzeige wechseln

Beitrag von HOppermann »

MKJ hat geschrieben:Das ist der Path Key im Modul Produktartikel. Wenn Du den nicht geändert hast, ist "produkte" an sich schon richtig.
Danke für den Hinweis! Abfrage funktioniert jetzt auch! Nur der Korrektheit halber und für evtl. zukünftige Leser:
es muss die "single.php" damit versehen werden - NICHT die page.php des Templates. Die Frage zielte ja auf eine Produkt - Einzelansicht ;)
MKJ
Beiträge: 3073
Registriert: 25.08.2010, 16:11

Re: Sidebar bei Produktanzeige wechseln

Beitrag von MKJ »

HOppermann hat geschrieben:es muss die "single.php" damit versehen werden - NICHT die page.php des Templates. Die Frage zielte ja auf eine Produkt - Einzelansicht ;)
Auch wieder logisch. :lol: Schön wäre noch, wenn Du hier das Snippet einstellst, mit dem die Sidebar registriert wurde. Dann können wir das in die fertigen Mods verschieben.
Tipps und Tricks rund um wpShopGermany: www.my-blog-shop.de
HOppermann
Beiträge: 73
Registriert: 22.07.2015, 07:58
Lizenz: wpShopGermany Pro
Skype-Name: holgee

Re: Sidebar bei Produktanzeige wechseln

Beitrag von HOppermann »

Na gerne doch :-D

Code: Alles auswählen

    <?php if( get_post_type() == 'produkte' ) {
	get_sidebar('shop');
    } else {
        get_sidebar();
    }?>   
Wobei "shop" die abweichende Sidebar ist, welche im WP Backend erstellt wurde.
MKJ
Beiträge: 3073
Registriert: 25.08.2010, 16:11

Re: Sidebar bei Produktanzeige wechseln

Beitrag von MKJ »

Ah, Du hast sowieso schon mehrere Sidebars im Theme. Ich meinte eigentlich das Registrieren, sofern man nur eine Sidebar hat. Hier ist der Code aus dem WP Codex. Das sollte funktionieren. Nur der Vollständigkeit halber:

Code: Alles auswählen

add_action( 'widgets_init', 'theme_slug_widgets_init' );
function theme_slug_widgets_init() {
    register_sidebar( array(
        'name' => __( 'shop', 'theme-slug' ),
        'id' => 'sidebar-1',
        'description' => __( 'Die Shop Sidebar', 'theme-slug' ),
        'before_widget' => '<li id="%1$s" class="widget %2$s">',
	'after_widget'  => '</li>',
	'before_title'  => '<h2 class="widgettitle">',
	'after_title'   => '</h2>',
    ) );
}
Tipps und Tricks rund um wpShopGermany: www.my-blog-shop.de
HOppermann
Beiträge: 73
Registriert: 22.07.2015, 07:58
Lizenz: wpShopGermany Pro
Skype-Name: holgee

Re: Sidebar bei Produktanzeige wechseln

Beitrag von HOppermann »

MKJ hat geschrieben:Ich meinte eigentlich das Registrieren, sofern man nur eine Sidebar hat.
Ach so, sorry - das hatte ich falsch verstanden.

Hier noch ein kleiner Tipp, um nicht in der single.php die Abfrage der Sidebar zu machen:

Einfach ein Template für den Custom Post Type anlegen und dort dann die "neue" (bzw. zweite) Sidebar einbinden!

Hier die Anleitung aus dem WP Codex:
Make a copy of the single.php or archive.php file as a starting point. That way they will inherit some of the theme's html structure. Remember to add the post type name to the file ex. archive-post_type.php. From there you may want to customize further...


wenn also der Path Key im Modul Produktartikel "produkte" ist, dann wäre der Name der Template Datei: single-produkt.php.

Hier dann einfach via

Code: Alles auswählen

<?php get_sidebar('shop'); ?>
die Sidebar einbinden.

Das ist dann auch eine "saubere" Lösung.
Antworten