HowTo:Eine eigene Box erstellen

Aus WEB-Shop Software Wiki
Zur Navigation springenZur Suche springen

HowTo: Eine eigene Content - Box erstellen

Mit der WEB-Shop Software könnt Ihr eigene "Boxen" für Inhalte des Content Managers (wie z. B. die Box 'Information') erstellen. Und zwar ohne Dateien des eigentlichen "Shops" selber verändern zu müssen. Es reichen Modifikationen innerhalb Eures Templates.

Beispiel: Erstellen der Box 'neueBox'

Hier folgt eine Schritt für Schritt Anleitung um eine eigene Box zu erstellen (am Beispiel des gunnart-Templates). Bitte sichert vorher Eure Daten. Ihr solltet solche "Tests" auf keinen Fall am Live-Shop, sondern an einem Test-Shop durchführen. Die Anleitung ist ohne Gewähr.

Schritt 1: Dateien kopieren

im Verzeichnis:

/templates/deintemplate/source/boxes die Datei: information.php duplizieren und umbenennen von:

information.php nach neuebox.php

das gleiche im Verzeichnis:

/template/deintemplate/boxes

die Datei box_information.html duplizieren und umbenennen in box_neuebox.html


Schritt 2: .php Datei modifizieren

neuebox.php alle Einträge "information" suchen und durch "neuebox" ersetzten.

Achtung in Zeile 80, ganz unten! (Grossschreibung):

$smarty->assign('box_INFORMATION',$box_information);

ändern auf

$smarty->assign('box_NEUEBOX',$box_neuebox);


Änderung des Wertes file_flag von 0 auf 2 (bzw. höchster Wert +1) in der neuebox.php erfolgen (Zeile 48):

... and file_flag=0 ".$group_check." and content_status=1 order by sort_order";

So sieht der Abschnitt dann aus:

$content_query = "SELECT
content_id,
categories_id,
parent_id,
content_title,
content_group
FROM ".TABLE_CONTENT_MANAGER."
WHERE languages_id='".(int) $_SESSION['languages_id']."'
and file_flag=2 ".$group_check." and content_status=1 order by sort_order";


Schritt 3: .html Datei modifizieren

Öffne nun die Datei neuebox.html und ändere den Smarty Tag in Zeile2 von:

{snippet file=box_head.html heading=#heading_infobox# class=boxInfoLS id=box_information}

in:

{snippet file=box_head.html heading=#heading_neuebox# class=boxInfoLS id=box_neuebox}


Schritt 4: Einbinden in die boxes.php

Die neue Box muss nun in der boxes.php eingebunden werden.

Dazu folgende Datei bearbeiten: /templates/dein Template/source/boxes.php

Unter "// immer sichtbar" ab Zeile 29, die Zeile:

require(DIR_WS_BOXES . 'neuebox.php');

einfügen.


Schritt 5: Einbinden in die index.html

Nun den Smarty Tag in die index.html des Templates einfügen.

Bearbeite nun die Datei "index.html" im Verzeichnis:

/templates/dein Template/

Füge {$box_NEUEBOX} entweder in die Linke oder in die Rechte( #col1 oder #col2) Seite ein.

Hier im Beispiel in die rechte Box:

    {* begin: #col2 second float column *}
          <div id="col2">
             <div id="col2_content" class="clearfix">
                {$box_SEARCH}   
                    {$box_CART}
                {$box_LOGIN}
                {$box_NEUEBOX}
                {$box_ADMIN}
                {$box_LIVE_SHOPPING}
                {$box_NEWSLETTER}
                {$box_BESTSELLERS}
                     {$box_INFOBOX}
                {$box_INFORMATION}
                {$box_CURRENCIES}
                {$box_LANGUAGES}
                {$box_MANUFACTURERS_INFO}
                {$box_MANUFACTURERS}
             </div>
          </div>   
          {* end: #col2 *}


Nun den Smarty Tag in die index.html des Templates einfügen.

Bearbeite nun die Datei "index.html" im Verzeichnis:

/templates/dein Template/

Füge {$box_NEUEBOX} entweder in die Linke oder in die Rechte( #col1 oder #col2) Seite ein.

Hier im Beispiel in die rechte Box:

Code: Alles auswählen

   {* begin: #col2 second float column *}
               {$box_SEARCH}   
                   {$box_CART}
               {$box_LOGIN}
               {$box_NEUEBOX}
               {$box_ADMIN}
               {$box_LIVE_SHOPPING}
               {$box_NEWSLETTER}
               {$box_BESTSELLERS}
                    {$box_INFOBOX}
               {$box_INFORMATION}
               {$box_CURRENCIES}
               {$box_LANGUAGES}
               {$box_MANUFACTURERS_INFO}
               {$box_MANUFACTURERS}
         {* end: #col2 *}


Schritt 6: Änderung in der Datenbank

Suche nun in Deiner Datenbank die Tabelle: cm_file_flags und führe folgenden SQL-Befehl aus (nach dem Du eine Sicherung der Datenbank angelegt hast):

    INSERT INTO `cm_file_flags` (
    `file_flag` ,
    `file_flag_name`
    )
    VALUES (
    '2', 'neuebox'
    );

Wenn der Wert 2 für file_flag schon verwendet wird, bitte den nächst höheren Wert verwenden. (s.a. Schritt 2)


Mit "neuebox" bezeichnet, findet sich dann die Box im Content Manager.

Schritt 7: Änderung an der Sprachdatei

Im Verzeichnis:

template/deintemplate/lang/german/


In der Datei: lang_german.conf

Füge im Abschnitt [boxes] folgendes ein:

heading_neuebox = 'Neue Box' (Das wird über der neuen Box stehen.)


Das gleiche für Englisch:

template/deintemplate/lang/english/lang_english.conf

Bitte die Änderungen nicht im Shop Ordner /lang/ vornehmen, da diese bei einem Update überschrieben werden könnten!

Jetzt kannst Du Dich im Admin anmelden und unter Content Manager, "neuer Conten" den Inhalt für die Box erzeugen.


Diese Anleitung wurde von der Foren-Userin Dany erstellt und basiert auf der Anleitung von http://www.suchmaschinen-optimierung-templates.de/xt-commerce-template/eine-neue-box-im-xt-commerce-template-erstellen.html