Infobox in Randspalte erstellen

Oftmals ist ein notwendig eine oder mehrere Infoboxen in der Kontextspalte anzuzeigen. Dazu werden wir ein Template anlegen und ein bestehendes Layout um einen weiteren Block erweitern. In drei Schritten werden wir diese Arbeiten erledigen, als Beispiel bauen wir eine Box mit einem Hinweis auf die Videogalerie ein.

1. Schritt: Template erstellen
Dazu erstellen wir uns einen Ordner "app/design/frontend/default/default/template/infobox/" und erstellen in diesem die Template-Datei "videobox.phtml" mit z.B. folgendem Inhalt:

<div class="context video-box">
    <h4>Videogalerie</h4>
    <img src="<?php echo $this->getSkinUrl('images/infobox/infobox_video.jpg') ?>"
      alt="<?php echo __('Videogalerie') ?>" />
    <div class="copy">
        Sehen Sie unsere Geräte in Aktion!
    </div>
</div>

Das hier referenzierte Bild muss im Ordner "skin/frontend/default/default/images/infobox/infobox_video.jpg" vorhanden sein.

2. Schritt: Einfügen in das Layout
Da die neue Infobox in allen Seiten des Katalogs erscheinen soll, öffnen wir die "catalog.xml", die sich im Ordner "app/design/frontend/default/default/layout" befindet. Um die Infobox in der rechten Randspalte zu positionieren, fügen wir diesen Code:

<block
    type="core/template"
    name="right.infobox.video"
    alias="infobox_video"
    after=""
    before=""
    template="infobox/videobox.phtml"
/>

in Abschnitt:

<reference name="right">
    /* layout definition */
</reference>

ein.
Der Alias ist nicht zwingend notwendig, jedoch hilfreich, wenn man die Positionierung der Boxen beeinflussen möchte.

3. Schritt: Anpassen des CSS
Um das hier verwendete Template Ihren Bedürfnissen anzupassen, dient das folgende CSS nur als Rahmen für Ihr Layout. Das nachfolgende CSS kopieren Sie in die von Ihnen zu erstellende Datei 'skin/frontend/default/default/css/infoboxen.css'.

/*** Infobox Video ***/
.video-box {
    font-size: 0.8em;
    font-weight: normal;
    padding: 0 5px 0 5px;
}

Jetzt wird die Infobox angezeigt, sollte jedoch nichts zu sehen sein, liegt es am Cache. Im Backend über "System > Cache Verwaltung" wählen und leeren.



Ein Beitrag von Ingo Hillebrand
Ingo's avatar

Ingo Hillebrand lebt in Soest und arbeitet als Anwendungsentwickler bei der Firma connect-io. Dort beschäftigt sich der studierte Wirtschaftsinformatiker (Bachelor of Science) weiterhin mit Magento. Sie erreichen ihn per e-Mail an ingo@webguys.de oder über Xing.

Alle Beiträge von Ingo

Kommentare
Tobias Vogt am

Hey Heiko,

wir führen den Blog unter der Leitlinie "Hilfe zur Selbsthilfe". Das wir das komplette Modul für dich Implementieren und erklären wie es geht ist dabei dann doch etwas viel verlangt. Gerne kannst du uns deine Anforderungen aber im Detail per E-Mail an info@webguys.de schicken und wir schauen einmal wie aufwendig das ganze ist. Ansonsten gibt es unter Magento-Connect doch sicherlich auch eine Extensions die die Lightbox verwenden und vlt. sogar schon das tun was du möchtest :)

schönen Gruß

Tobi

Heiko Fritsch am

Bei nahezu allem. Welche Dateien lad ich wohin? uvm

Ingo Hillebrand am

Wo genau hakt es denn?

Heiko Fritsch am

Hallo Ingo, danke für die Antwort. Kannst du einem Fachidioten auch erklären wie das geht. Ich bin schon seit Tagen auf der Suche nach einer einfach geschriebenen Anleitung. Die Lightbox is bereits erstellt und befindet sich auf einer Subdomain.

Ingo Hillebrand am

Hallo Heiko, es ist problemlos möglich, eine Lightbox einzubinden. Dazu muss das Template (.phtml) geändert werden, sowie etwaige CSS und JS Dateien includiert werden.

Heiko Fritsch am

Sehr schön erklärt. Danke dafür. Nun bleibt für mich nur noch eine Frage: Wie verlinke ich die ganze Box auf die Seite wo das Video angezeigt wird bzw. kann ich auch statt des Bildes eine Lightbox einfügen die sich dann mit Klick darauf öffnet? Für eine Antwort wäre ich mehr als dankbar. MfG

Dein Kommentar