Support » Allgemeine Fragen » Template für Plugin-Unterseite auswählen

  • Moin,

    ich verwende für eine Vereinshomepage ein Event-Plugin (All-in-one-Calendar), das hier findet:
    http://sv-meinersen.de/kalender-2/
    für diese Seite habe ich in den Einstellungen das „one column, no sidebars“-template gewählt. Soweit so gut.
    Wenn ihr nun rechts auf „read more“ klickt, so werdet ihr zu den Detailinformationen weitergeleitet:
    http://sv-meinersen.de/ai1ec_event/winterwanderung-der-turnsparte/?instance_id=5
    Und hier wird es unschön, da mir nun sämtliche Widgets meiner Homepage rechts und links angezeigt werden. Zudem wird der übliche URL-Pfad verlassen. Das mit dem Pfad ist nicht so wild, die Widgets möchte ich dort nicht haben.

    Vom Plugin-Betreiber wurde mir mitgeteilt, dass dies mit der Auswahl des Templates an dieser Stelle zu tun hat und das dies im Theme geändert werden müsste. Wie kann ich nun dieser Seite mit den Detailinformationen sagen, welches Template sie verwenden soll? Wo muss ich welche Änderungen vornehmen?

    Vielen Dank für eure Hilfe.

Ansicht von 3 Antworten - 1 bis 3 (von insgesamt 3)
  • Hallo,

    habe mal das Plugin installiert.

    Es benutzt für die Detailansicht die single.php deines Themes. Es benutzt quasi das Template für die Anzeige eines einzelnen Blogbeitrags. Eine Einstellung, um dies zu ändern habe ich nicht im Plugin finden können.

    Anbei ein Code für deine functions.php, die checkt ob es sich um diesen Post Typ handelt. Wenn ja, dann wird das angegebene template genommen.

    function is_post_type_event(){
        if( is_single() && 'ai1ec_event' == get_post_type( get_the_ID() ))
        {
        	// get_template_part( 'full' );
        	include (TEMPLATEPATH . '/full.php');
        }
    }
    add_action('checkposttypetemplate', 'is_post_type_event');
    Thread-Starter bp1979

    (@bp1979)

    Danke für deine Antwort. Da wird es nun ein wenig kniffelig. Gleich vornweg: mit PHP kenne ich mich quasi nicht aus.
    Ich verwende als Theme Mantra und das enthält quasi keinen Code in der functions.php, sondern greift auf weitere Dateien zu. Das schaut dann so aus:
    require_once(dirname(__FILE__) . „/includes/theme-comments.php“); //Theme comment functions
    require_once(dirname(__FILE__) . „/includes/theme-shortcodes.php“); //Theme shortcodes
    require_once(dirname(__FILE__) . „/includes/theme-functions.php“); //Theme misc functions
    require_once(dirname(__FILE__) . „/includes/theme-hooks.php“); //Theme hooks

    Ich vermute ja ganz stark, dass ich entsprechend die „theme-functions.php“ bearbeiten muss.
    Ich habe jetzt ganz stupde den Code einfach in diese Datei eingefügt (vorhanden ist er in dieser Art nirgends im Code). Beim Speicher wirft er mir dann eine Fehlermeldung als „Cannot send session cache limiter – headers already sent …in counter-core.php on line 190“ (counter-core stammt aus einem Besucherzähler plugin). Die Homepage wurde noch normal angezeigt, nur hat er deinen Text, den ich eingefügt habe, nun als Reintext im Header der Seite dargestellt.

    Hast du noch eine Idee – oder wird das nun schlichtweg zu aufwendig/kompliziert?

    Hallo,

    der Code ist natürlich nicht so in deiner functions.php enthalten, er muss dort ergänzt werden.

    Die Zeile
    include (TEMPLATEPATH . '/full.php');
    ist auch nur ein Verweis auf eine Beispieldatei. Da kommt dann der Verweis rein zu der richtigen Datei, die eine Gesamtbreite hat.

    Hast du noch eine Idee – oder wird das nun schlichtweg zu aufwendig/kompliziert?

    Dir scheinen Grundkenntnisse zu fehlen. Ich habe dir unterstützend den Lösungsansatz aufgezeigt.

    PS: Den eingefügten Code bitte wieder entfernen, wenn es nicht geht.

Ansicht von 3 Antworten - 1 bis 3 (von insgesamt 3)
  • Das Thema „Template für Plugin-Unterseite auswählen“ ist für neue Antworten geschlossen.