Randshop Template - Zusätzliche Inhalte nur auf der Startseite darstellen

Manchmal sollen Inhalte nur auf der Startseite angezeigt werden. Für den Contentbereich im randshop-template ist das recht einfach über das Erstellen eines CMS-Artikels und dessen Kennzeichnung "Startseite" zu realisieren.

Im Bereich der linken oder rechten Spalte werden gerne Logos/Links zu Versand- und Zahlungsanbietern oder zu Partnerseiten angebracht, die man aber nicht auf allen Seiten wiederholen möchte.

Seo-technisch hat dies den Vorteil, dass nicht von allen Kategorie- und Artikelseiten wertvoller "Linkjuice" an externe Seiten abgegeben wird. Das ist dann schon wieder ein kleiner Schritt zur selbst gemachten Suchmaschinenoptimierung.

Außerdem werden potentielle Kunden durch diese Inhalte von dem eigentlichen Ziel des Besuches, dem Einkaufen, nicht abgelenkt. Gerade beim eigentlichen Bestellvorgang ist das vielleicht richtig von Vorteil.

Wer in der Bearbeitung von html-Seiten noch nicht so routiniert ist, sollte sich vielleicht meine Tipps zum selbst Anpassen der randshop-Templates ansehen.

Im Shop sind auch fertige responsive randshop Templates zu bekommen.

Der notwendige PHP-Code

Um in der linken Spalte Inhalte nur auf der Startseite anzuzeigen habe ich in der index.tpl folgenden Code zusätzlich eingebaut:

<?php if(stristr( $contentFile, '/website/startseite/index.tpl' )){ ?>
  <div class="startseitenbox">
    <p>ich bin auf der Startseite</p>
  </div>
<?php } ?>

Der in index.tpl eingebaute Code

Code für die Inhalte auf der Startseite

Für das Beispiel habe ich in der /templates/meinTemplate/website/index.tpl den Code zwischen dem Block für den PDF-Katalog und dem Weiterempfehlen-Block eingebaut. Lässt sich natürlich auch weiter oben oder auch in der rechten Spalte ganz genauso machen.

So siehts dann im Frontend aus

So sieht es dann, noch unformatiert, im Shop aus

Im Frontend des Shops sieht das dann so aus:

Der Bereich lässt sich natürlich fast beliebig füllen und per css-Klasse "startseitenbox" auch in CSS direkt ansprechen. Damit kann dieser Bereich dann wunderbar angepasst werden. Auch eine mehrfache Verwendung des Codes in der index.tpl ist problemlos möglich.

Eigenen Code einfügen

Statt dem Block

<p>ich bin auf der Startseite</p>

kann natürlich (fast) jeder gültige html-Code eingesetzt werden. So dass auch fertige Code-Schnipsel leicht eingefügt werden können.

Wer sich die /templates/meinTemplate/website/index.tpl dann noch etwas genauer ansieht, entdeckt wahrscheinlich leicht die Struktur des Aufbaus. Am besten immer genau analysieren, wo die html-tags beginnen und wo die zugehörigen Ende-tags stehen. Html ist eigentlich nicht sooo schwer zu verstehen.Lächelnd

Kommentar abgeben:

Kommentare:

Kommentar von Thomas Peter |

Hallo Magnus es macht richtig Freude, sich hier immer wieder umzusehen. Es gibt viel zu lernen, begreifen und verstehen. Danke für Deinen Effort und das Weitergeben des Wissens und der Tricks.

Kommentar von Thomas |

Sorry muss doch nachfragen: ich verstehe den Sinn nicht. Du willst, dass die linke Spalte ausgeblendet wird? Komplett, oder? Oder wird nur der Bereich "Ich bin auf der Startseite" auf der index ausgegeben. DH, dass alle Codes für Boxen u.ä. in Deinen Code (als Ersatz für "Ich bin auf der Startseite") integriert werden müssten, oder?

Antwort von Magnus Geisler

Hallo Thomas,

Sinn dieser Anpassung ist, dass z.B. in der linken Spalte eine Box (oder Text) eingefügt wird, der nur auf der Startseite erscheint. Normalerweise erscheinen die Elemente in der index.tpl ja auf allen aufgerufenen Seiten.
Der oben angegebene Code ermittelt, ob das verwendete contenttemplate die /website/startseite/index.tpl ist. Wenn ja, wird das Element angezeigt, wenn die aktuelle Seite nicht die Startseite ist, wird das Element eben nicht angezeigt.
Wenns weitere Fragen gibt, einfach fragen Lächelnd

viele Grüße

Magnus