In Veyton eine zusätzliche administrierbare Box einrichten

In diesem kurzen Tutorial wird zum einen beschrieben, wie man in Veyton eine zusätzliche Box mit administrierbarem Inhalt erstellen kann und zum anderen wie man eine zweite Box mit Links ähnlich der “Informations-Box” erstellen kann.

Um im Shopsystem Veyton eine zusätzliche administrierbare Box einzurichten, muss man wie folgt vorgehen:

Zuerst wird im Backend unter “Inhalte –> Content Manager –> Content” ein neuer Content erstellt. Dieser enthält dann den Text, welcher später in unserer Textbox erscheinen soll.

Interessant ist hier nur der Reiter “Standard”. Hier den Titel, Namen und Inhalt des Contents angeben. Die ID des erstellten Contents ist wichtig für uns. Diese bitte merken, sie wird später noch benötigt.

Nun muss die Templatedatei des Shopsystems angepasst werden, damit die Box dann auch auf der Internetseite erscheint. Diese index.html findet man im Templateordner /templates/xt_default/index.html. Hier handelt es sich um das Default-Template von xtCommerce Veyton. Bei der Verwenung eines anderen Templates lautet der Pfad natürlich entsprechend anders.

Folgender Code ist nun für die Box relevant:

{content cont_id=8 is_id=false}
{$_content_8.content_title}
{$_content_8.content_body}

Damit der Content dann auch als Box mit der CSS-Formatierung erscheint muss er mit den entsprechenden CSS-Klassen versehen werden. Dies kann man im Template von anderen Boxen abschauen. Im Standard-Template sieht der Code, welcher einzufügen ist folgendermaßen aus:

<div id="rightcol">{box name=cart}

<!-- NEU eingefuegt -->{content cont_id=8 is_id=false}
<h2 class="boxheader">{$_content_8.content_title}</h2>
<div class="boxbody">{$_content_8.content_body}</div>
<!-- Ende: NEU eingefuegt -->

{box name=loginbox}{box name=xt_bestseller_products type=user}</div>

Im o.a. Beispiel würde die Box in der rechten Spalte zwischen dem Warenkorb und der Login-Box erscheinen. Die administrierbare Box ist nun erstellt und sollte im Shop auch erscheinen.

Wichtiger Hinweis an dieser Stelle: Die Anführungszeichen werden beim Copy & Paste nicht richtig erkannt. Diese müssen dann manuell noch einmal “nachgeschrieben” werden. Ebenso ist darauf zu achten, dass die Kommentare mit zwei (!) Bindestrichen erstellt werden.

Manchmal möchte man jedoch eine Box erstellen, die ähnlich der “Informations-Box” Links zu weiteren Informativen Seiten erhält. So kann man zum Beispiel Informationen der Bestellabwicklung, wie z.B. AGB, Liefer- und Versandkosten, Impressum, Kontakt, Privatsphäre und Datenschutz und dem Widerrufsrecht, von den reinen Fachinformationen zu den Shopartikeln trennen. Um eine solche Box zu erstellen ist es nötig zuerst unter “Inhalte –> Contentmanager –> Content Blöcke” einen neuen Block anzulegen. Diesen nennen wir beispielsweise “innovation”. Die ID des neuen Blocks ist wichtig und in unserem Beispiel die Nummer 11.

Erstellung einer zweiten Informationsbox
Erstellung einer zweiten Informationsbox

An der Stelle an der wir nun diesen Block bzw. diese Box haben möchten ist nun der folgende Code inder index.html einzufügen:

{content block_id=11 levels=true}{if $_content_11|count > 0}
<h2 class="boxheader">Name der Box</h2>
<div class="infoboxbody"> <ul class="contentlist">
{foreach name=aussen item=box_data from=$_content_11}
<li class="level{$box_data.level}{if $box_data.active} active{/if}">
<a href="{$box_data.link}">{$box_data.title}</a>
</li> {/foreach}
</ul>
</div> {/if}

Die block-id (in unserem Fall die 11) sind entsprechend anzupassen. Selbstverständlich kann der Box-Header auch für die Mehrsprachigkeit vorbereitet werden. Dann ist anstelle vom Text  “Name der Box” der entsprechende Text-Key einzusetzen. z.B.

<h2 class="boxheader">{txt key=TEXT_INNOVATION}</h2>;

Unter “Einstellungen –> Lokalisierung –> Sprachtexte” kann dann ein neuer Sprechtext mit dem Schlüssel “TEXT_INNOVATION” und dem Text “Innovation” angelegt werden. Um nun die Box mit Inhalt zu versehen, wird unter “Inhalte –> Content Manager –> Content” ein neuer Content hinzugefügt. Nachdem dieser durch einen Haken auf “Status” aktiviert wird, kann man nun unter dem Reiter “Anzeige” den Haken beim vorher angelegten Content Block “innovation” anklicken. Somit wird der neue Inhalt dann der Box zugewiesen.

Erstellung einer zusätzlichen Info-Box

Erstellung einer zusätzlichen Info-Box

Nun sollte die entsprechende Box im Shop erscheinen. So sollte es dann auch bei Ihnen aussehen:

Neue Box

Neue Box

Zum Abschluss habe ich noch einen kleinen Tipp, welche nichts mit den Informationsboxen zu tun haben. Nutzt man das Master / Slave System von Veyton, so wird beim Master-Artikel gewöhnlich entweder gar kein Preis oder ein vorher im Masterartikel festgelegter Preis angezeigt. Da die Slave Artikel meist verschiedene Preise haben ist dies für den Kunden eventuell etwas missverständlich. Aus diesem Grund ist es sinnvoll bei der Anzeige des Preises im Masterartikel das Wörtchen “ab” davor zu stellen. Hierzu muss im Masterartikel dann der niedrigste Preis eingegeben werden. Damit dann später etwas in dieser Art erscheint:

Preis eines Masters mit "ab" anzeigen

Preis eines Masterartikels

Hierzu muss in der Datei /templates/templatename/xtCore/pages/product_listing/product_listing_v1.html folgendes geändert werden. Nach dieser Zeile:

{if $smarty.const._CUST_STATUS_SHOW_PRICE eq '1'}

steht

<p class="price">{$module_data.products_price.formated}</p>

Diese Zeile ( in den <p>-Tags) muss ersetzt werden durch folgende:

{if $module_data.products_master_flag eq '1'}<p class="price">ab {$module_data.products_price.formated}</p>
{else} <p class="price">{$module_data.products_price.formated}</p>{/if}

Am Ende muss also dieser komplette Block im Template stehen:

{if $smarty.const._CUST_STATUS_SHOW_PRICE eq '1'}
{if $module_data.products_master_flag eq '1'}<p class="price">ab {$module_data.products_price.formated}</p>
{else} <p class="price">{$module_data.products_price.formated}</p>{/if}

Es wird im IF abgefragt ob es ein Masterprodukt ist und wenn ja schreiben wir ein “ab” davor. Wenn nicht, dann nicht. Selbstverständlich kann auch dieses Wort “ab” für die Mehrsprachigkeit ausgelegt werden.

Anstelle des Wortes “ab” muss dann der Text-Key eingesetzt werden: {txt key=TEXT_AB}

Unter “Einstellungen –> Lokalisierung –> Sprachtexte” kann dann ein neuer Sprechtext mit dem Schlüssel “TEXT_AB” und dem Text “ab” angelegt werden.

Ich hoffe der Beitrag war ein bischen nützlich und ich würde mich über Erfahrungsberichte sehr freuen.

Tags : , , , , ,

Wenn Dir der Artikel gefallen hat, hinterlasse einfach einen Kommtentar der abonniere meinen RSS-Feed und erhalte zukünftige Artikel direkt auf deinen RSS-Reader.

40 Kommentare

Schreibe einen Kommentar

(wird nicht veröffentlicht!)