Gelöst mehrere Kategorieboxen

Thomas Lisson

Administrator
Mitarbeiter
24. März 2006
15.574
299
Köln
AW: mehrere Kategorieboxen

Hi,

Deine Idee ist schon die einzig mögliche und richtige.

und in den Sprachdateien einen neuen Bereich anzulegen
Ja, aber dann musst Du auch sicherstellen, dass dieser Bereich auch geladen wird. Das machst du im Template mit

{config_load file="$lang.conf" section="categories"}

Ansonsten kannst Du die Sprachvariablen nicht in einen eigenen Bereich legen, sondern in global - da die Boxheader von jeder Seite im Shop gebraucht werden, sind sie dort gut aufgehoben.
 

Hifi-Matze

Sehr aktives Mitglied
8. September 2006
1.192
8
AW: mehrere Kategorieboxen

nein, dafür aber eine sidepanel1.tpl und sidepanel2.tpl. Ob es left, right, top oder bottom sein soll, das wird über Stylesheets festgelegt.

Es gibt eine allgemeine Anleitung für Zusatzboxen in der Tpl-Dokumentation: http://shop.modi-art.de/download/modi-art-wai-template-jtlshop2.pdf unter "Eigene Boxen erstellen".
Die Kategoriebox heißt im Modi-Art-WAI Template sidebox_categories.tpl und liegt im Verzeichnis /tpl_inc/sideboxes/
Code für weitere Kategorieboxen:
Code:
{if $KategorielisteHTML_3}
<li class="sidebox categorybox" id="sidebox_categories3">
    <h3><span>weitere Kategorien</span></h3>
        <ul class="boxcontent">
            {$KategorielisteHTML_3}
        </ul><!-- /boxcontent -->
</li><!-- /sidebox_categories3 -->
{/if} {* /if KategorielisteHTML_3 *}
Dabei anpassen/ersetzen:
- Überschrift (<h3><span>weitere Kategorien</span></h3>)
- KategorieBox-Nr (im obigen Beispiel die 3), entspricht dem Attribut KategorieBox, das in der WaWi eingestellt wird

Gruß David

Das funktioniert bei mir einwandfrei, allerdings:
- Funktioniert das nur mit "Hauptkategorien", nicht jedoch mit Unterkategorien (gut, kann man umgehen, indem man die Unterkategorien zu Hauptkategorien macht, aber dies verschärft dann das nächste Problem:)
- Wird die mit dem "KategorieBox"-Attribut versehene Hauptkategorie nachwievor AUCH noch in der normalen Haupt-Kategoriebox angezeigt.
Wie kriege ich diese Kategorie aus der Hauptkategoriebox?
 

modi-art

Moderator
5. Juni 2008
168
0
AW: mehrere Kategorieboxen

- Wird die mit dem "KategorieBox"-Attribut versehene Hauptkategorie nachwievor AUCH noch in der normalen Haupt-Kategoriebox angezeigt.
Wie kriege ich diese Kategorie aus der Hauptkategoriebox?

In der JTL-Shop-Dokumentation steht:
Zitat von JTL-Shop Dokumentation:
Alle Oberkategorien, die dieses Attribut KategorieBox nicht haben, werden in der allgemeine Kategoriebox erscheinen.

Wenn Du separate Kategorieboxen verwenden möchtest, dann solltest Du also jeder Oberkategorie ein Attribut verpassen. Für Deine Oberkategorien, die in der ersten Box stehen sollen, vergibst Du das Attribut KategorieBox=1.
Die Oberkategorien der zweiten Box bekommen dann das Attribut KategorieBox=2.
Für eine dritte Box muss die sidebox_categories.tpl geändert werden und der Code für {KategorielisteHTML_3} ergänzt werden, siehe meine Anleitung oben.

Gruß David
 

Stetto

Sehr aktives Mitglied
2. Juli 2009
4.811
575
AW: mehrere Kategorieboxen

Ich habe folgendes vor:

Jede Ober-Kategorie soll ihr eigenes Design erhalten.

Im Kopfbereich sollen die Ober-Kategorien Waagerecht angezeigt werden. Bei Auswahl einer dieser Ober-Kategorien soll dann im Contentbereich die Box mit den Unter-Kategorien der jeweiligen Ober-Kategorie erscheinen.

Also separat und nicht im Kopfbereich!

Hi,

ich habe sowas in der Art jetzt umgesetzt ..
funktioniert aber noch nicht ganz korrekt.

Zuerst einmal nutze ich angepasstes JTL-Shop2 Template. Aktuellster Shop 2.18.

in der left_container.tpl habe ich es so gelöst:

Code:
{*
                <div id="subbox" style="margin-top:0px;margin-bottom:10px;">
                        <div id="subbox_header_hell">
                                <p class="boxheader">{#categories#}</p>
                        </div>
                        <div id="subbox_content">
    <div style="padding-top:5px;padding-bottom:5px;">
                                <table class="kategorien" cellpadding="0" cellspacing="0" width="100%" style="padding:0px;margin:0px;">
                                {$KategorielisteHTML}
                                </table>
                         </div>
                        </div>
                </div>
*}
{if $KategorielisteHTML_1 && $KATBOX == 1}
                <div id="subbox" style="margin-top:0px;margin-bottom:10px;">
                        <div id="subbox_header_hell">
                                <p class="boxheader">{#KategorieTitle_1#}</p>
                        </div>
                        <div id="subbox_content">
                                <table class="kategorien" cellpadding="0" cellspacing="0" width="100%" style="padding:0px;margin:0px;">
                                {$KategorielisteHTML_1}
                                </table>
                        </div>
                </div>
{/if}
{if $KategorielisteHTML_2 && $KATBOX == 2}
                <div id="subbox" style="margin-top:0px;margin-bottom:10px;">
                        <div id="subbox_header_hell">
                                <p class="boxheader">{#KategorieTitle_2#}</p>
                        </div>
                        <div id="subbox_content">
                                <table class="kategorien" cellpadding="0" cellspacing="0" width="100%" style="padding:0px;margin:0px;">
                                {$KategorielisteHTML_2}
                                </table>
                        </div>
                </div>
{/if}
{if $KategorielisteHTML_3 && $KATBOX == 3}
                <div id="subbox" style="margin-top:0px;margin-bottom:10px;">
                        <div id="subbox_header_hell">
                                <p class="boxheader">{#KategorieTitle_3#}</p>
                        </div>
                        <div id="subbox_content">
                                <table class="kategorien" cellpadding="0" cellspacing="0" width="100%" style="padding:0px;margin:0px;">
                                {$KategorielisteHTML_3}
                                </table>
                        </div>
                </div>
{/if}
{if $KategorielisteHTML_100 && $KATBOX == 100}
                <div id="subbox" style="margin-top:0px;margin-bottom:10px;">
                        <div id="subbox_header_hell">
                                <p class="boxheader">{#KategorieTitle_100#}</p>
                        </div>
                        <div id="subbox_content">
                                <table class="kategorien" cellpadding="0" cellspacing="0" width="100%" style="padding:0px;margin:0px;">
                                {$KategorielisteHTML_100}
                                </table>
                        </div>
                </div>
{/if}
{if $KategorielisteHTML_4 && $KATBOX == 4}
                <div id="subbox" style="margin-top:0px;margin-bottom:10px;">
                        <div id="subbox_header_hell">
                                <p class="boxheader">{#KategorieTitle_4#}</p>
                        </div>
                        <div id="subbox_content">
                                <table class="kategorien" cellpadding="0" cellspacing="0" width="100%" style="padding:0px;margin:0px;">
                                {$KategorielisteHTML_4}
                                </table>
                        </div>
                </div>
{/if}

Also die Hauptbox ausgeblendet. Die Boxen 1-3 für Computer, Musik und Unterhaltung. Soweit so gut und funktioniert.

Die Box 100 soll als default angezeigt werden, was derzeit noch nicht möglich ist, weil die Warengruppen, leer sind, werde das mit permanten Links lösen, wie das horizontale Menü auch.

Unter Service wird ebenfalls eine permanente statische Seite eingebunden werden .. jedenfalls meine derzeitige Überlegung.

Wichtig erstmal die Boxen 1-3 ! Weiter im Text:

Im Template-Ordner habe ich den Ordner "php" darin befindet sich die "functions.php" mit den Anweisungen für die Boxen. Hier habe ich folgendes ergänzt:

Code:
// KATEGORIEBOX SWITCH ANFANG
if(isset($KATBOX))
{
 $_SESSION['katbox'] = $KATBOX;
}
if(isset($_GET['katbox']))
{
 session_start();
 $_SESSION['katbox'] = $_GET['katbox'];
}
$smarty->assign('KATBOX', $_SESSION['katbox']);
// KATEGORIEBOX SWITCH ENDE

Die Menüpunkte verlinken auf

http://www.electro-doll.de/index.php?katbox=1&SID
http://www.electro-doll.de/index.php?katbox=2&SID
http://www.electro-doll.de/index.php?katbox=3&SID

So nun das Problem...

1. Sobald ich etwas in den Warenkorb lege, wird SEO offenbar deaktiviert und alle Links werden um die Session ID ergänzt. In diesem Zustand funktionieren die Menüs und das drum und dran perfekt

Aber da ich als Otto-normal Kunde erst im Shop stöbern möchte, klicke ich mich erst durch die Warengruppen ... die Variable $KATBOX wird aber nicht gespeichert und die session wird scheinbar nicht gestartet. Auch eine SID wird nicht an die Links in der Top Navigation angehängt.

Wie genau funktioniert das Session Handling, damit die Nummer der aktuellen KATBOX gespeichert wird?? Auch bei leerem Warenkorb.


2. Ist es möglich die Top Navigation SEO freundlich zu gestalten? Wie kann ich die SID bei gefüllten Warenkorb mit SEO freundlichen URLs übergeben? Geht das überhaupt? Hab versucht mit htaccess eine ModRewrite zu realisieren, aber hier geht mir auch immer die SID verloren.


Lösung? Erstmals wäre es wichtig das die Kategorien gespichert werden "Computer". "Party", "Unterhaltung" .. als nächstes Wäre es super, wenn keine Kategorie ausgewählt ist .. also unter anderem beim ersten Seitenaufruf, dass die KATBOX 100 bzw. standardmäßig 1 für Computer angezeigt wird.


Hoffe auf hilfreiche Tipps :)


MfG
Stephan Handke
 

conny2540

Sehr aktives Mitglied
23. November 2006
2.310
4
Österreich
AW: mehrere Kategorieboxen

Hallo,

auch wenn die Antwort jetzt nicht mehr sehr aktuell ist: SEO und Warenkorb da gibt es schon jede Menge Threads darüber. SEO wird nicht deaktviert.
sobald Du etwas in Deinem Warenkorb legst, oder Dich in Deinem Account anmeldest, wird eine Session geöffnet. Deshalb werden auch SID's angehängt.

An den SUMA-freundlichen Links ändert sich nichts. Nur Du siehst sie nicht mehr, weil du mit Session fährst. Sobald Du Dich ausloggst oder den Warenkobr löscht, siehst auch Du wieder die SUMA-friendly Links.


Warum willst Du eigentlich ID's an die Sumas übergeben ? Du fabrizierst hier nur DC und fliegst aus dem Index.
LG

Conny
 

ralph

Aktives Mitglied
30. Juni 2009
267
0
AW: mehrere Kategorieboxen

Ich fände es ja schöner, wenn die Session-ID in einem cookie gespeichert würde und die Übergabe im URL nur im Fall der cookie-Verweigerung angewendet würde. Das ist selten genug der Fall. Ich hoffe auf ein überarbeitetes SEO-Modul in der neuen Shop-Version. Mir gefällt diese Lösung einfach nicht, und wenn man mit Alexa-Toolbar unterwegs ist, werden diese Links früher oder später auch in Suchmaschinenergebnissen zu finden sein. OK, auch eher selten der Fall und internen DC gibts laut Google ja nicht.
 

Ähnliche Themen