Kategorielisten gestalten

Hi, ich möchte ähnlich wie beim Produktlisten gestalten http://www.oxid-esales.com/de/resources/help-faq/eshop-manual/beispiel-templateanpassung-mit-der-incproducttpl-produktlisten-gesta Kategorielisten darstellen:
d.h. ich will Kategorieansichten darstellen, die nicht die Produkte sondern die die Inhalte der untergeordneten Kategorien enthalten.

Wie stelle ich das an?

Hi,

die die Inhalte der untergeordneten Kategorien enthalten

Inhalte = Produkte?

Gruß

Nein, nicht Produkte - damit meine ich Kategorieinhalte, also ein allgemeines Bild und eine Beschreibung der Kategorie(en), was ja im shopAdmin eingegeben werden kann.
Also zB wie hier: http://dialog.sdsolutions.de/Binden/
Klickt man die Kategorie “Binden” an, würde ich die Subkategorien
o SteelBinding
o DrahtBindung
o MySteelBindung
o SpiralBindung
o Finishing
auflisten, aber eben nicht die Artikel dieser Kategorien sondern die Kategoriebeschreibungen. Klickt man dann in eine dieser Kategorien, werden die entsprechenden Produkte aufgelistet oder sofern eine weitere Subkategorie vorkommt, wieder die Auflistumg der Kategorie.

Liebe Grüße
Hubert

Hallo Hubert,

ich fürchte, ich verstehe das Ziel nicht. Das was Du beschreibst, ist doch das, was der Shop standardmäßig macht…

Gruß

Ich versuch noch einmal, es zu beschreiben:
ich will nicht die Artikel auflisten - wie in diesem Beispiel http://dialog.sdsolutions.de/Binden/ - sondern jeweils eine Beschreibung der enthaltenen Subkategorien (SteelBinding, DrahtBindung, MySteelBindung …) an Stelle der Artikel.

Liebe Grüße
Hubert

Verstehe ich es so richtig…?
Du willst in der Kategorienübersicht alle Subkategorien mit Titel und einem Kurzbeschrieb der jeweiligen Subkategorie eingeblendet haben? Falls es das ist, was du willst, dann gibt es in den Kategorien die Felder Kurzbeschreibung und Langtext. Im Template list.tpl musst du diese Felder (welches du auch immer brauchst) einblenden.

Die Kurzbeschreibung solltest du mit

[{$actCategory->oxcategories__oxdesc->value}]

aufrufen können. Den Langtext mit

[{$actCategory->oxcategories__oxlongdesc->value}]

.
Habe dies so jedoch noch nicht getestet.

Das funktioniert - im Prinzip. Damit kann ich Titel und Kurzbeschreibung der aufgerufenen Kategorie anzeigen. Aber eigentlich will ich Titel und Kurzbeschreibung der darin enthaltenen Subkategorien auflisten. Wie könnte das funktionieren?
http://dialog.sdsolutions.de/Binden/

Liebe Grüße

Musst mal im Template list.tpl nach “[{if $oView->hasVisibleSubCats()}]” suchen. In diesem “if-Bereich” findest du die Auflistung der Subkategorien. Um zusätzlich zu den Titeln nun noch die Kurzbeschreibung einzufügen, musst du die entsprechende Variable ausgeben ([{$category->oxcategories__oxdesc->value}]).
Wiederum nicht getestet.

Ja, das funktioniert - das krieg ich hin.
Vielen Dank!

Funktioniert doch nicht so klaglos.
Hab jetzt versucht, die Kategorien nach dem selben Schema aufzulisten, wie die Artikel:
Also im list.tpl hol ich mir die SubCatList:

    [{foreach from=$oView->getSubCatList() item=actionproduct name=test_articleList}]
            [{include file="inc/cat_test.tpl" size="big" product=$actionproduct testid="action_"|cat:$actionproduct->oxcategories__oxid->value test_Cntr=$smarty.foreach.test_articleList.iteration}]
    [{/foreach}]

um sie dann im cat_test.tpl (ähnlich dem product.tpl) auszugeben:

    <strong class="h3">
        <a id="test_title_[{$testid}]" href="[{ $product->getLink()}]"[{if $oView->noIndex() }] rel="nofollow"[{/if}]>[{ $category->oxcategories__oxtitle->value }] </a> [{ $category->getContentCats()}] [{ $category->oxcategories__oxtitle->value }]
        <tt id="test_no_[{$testid}]">[{ oxmultilang ident="INC_PRODUCTITEM_ARTNOMBER2" }] [{ $product->oxarticles__oxartnum->value }]</tt>
        [{if $size=='thin' || $size=='thinest'}]
        
        [{/if}]
    </strong>

Beispiel:
http://dialog.sdsolutions.de/Transferdruck/

Nur schaff ich es nicht, die verschiedenen Bezeichnungen der Subkatekorien auszugeben (es steht immer “Zubehör”), obwohl die Links dahinter schon unterschiedlich sind und auf die verschiedenen Subkategorien verweisen.

Will ich auch noch mal mein Senf dazugeben.

soll das in etwas so aussehen?

dann waer der CODE für dich interessant:

[{if $oView->hasVisibleSubCats()}]
<ul id="tobisubcatlist">
    [{foreach from=$oView->getSubCatList() item=category name=MoreSubCat}]
    [{if $category->getContentCats() }]
        [{foreach from=$category->getContentCats() item=ocont name=MoreCms}]
            <li><a id="MoreSubCms_[{$smarty.foreach.MoreSubCat.iteration}]_[{$smarty.foreach.MoreCms.iteration}]" href="[{$ocont->getLink()}]">[{ $ocont->oxcontents__oxtitle->value }]</a></li>
        [{/foreach}]
    [{/if}]
    [{if $category->getIsVisible()}]
        <li>
        [{if $category->oxcategories__oxicon->value }]
        <a id="MoreSubCatIco_[{$smarty.foreach.MoreSubCat.iteration}]" href="[{ $category->getLink() }]">
        <img src="[{$category->getIconUrl() }]" alt="[{ $category->oxcategories__oxtitle->value }]" />
        </a>
        [{/if}]
        <h3><a id="MoreSubCatIco_[{$smarty.foreach.MoreSubCat.iteration}]" href="[{ $category->getLink() }]">[{ $category->oxcategories__oxtitle->value }][{ if $category->getNrOfArticles() > 0 }] ([{ $category->getNrOfArticles() }])[{/if}]</a></h3>
        
        <p>[{ $category->oxcategories__oxdesc->value }]</p>

        </li>
    [{/if}]
    [{/foreach}]
</ul>
[{/if}]

in der [B]list.tpl[/B] einfügen so bei Zeile 64 einfügen.

das CSS dazu

#tobisubcatlist
{
    margin            : 0;
    padding            : 0;
    list-style        : none;
}

        
#tobisubcatlist li
{
    float            : left;
    width            : 650px;
    height            : 130px;
    border            : 1px solid #f00;
}

#tobisubcatlist li h3
{
    float            : left;
    width            : 500px;
    margin            : 0 0 20px 0;
}

#tobisubcatlist li p
{
    float            : left;
    width            : 500px;
}

#tobisubcatlist li a
{
    float            : left;
    display            : block;
    padding            : 0px 20px;
    border            : 2px solid #fff;
    background-color    : transparent;    
    color            : #333;
    text-decoration        : none;
}


muss natürlich noch angepasst werden

1 Like

Das ist guter Senf. Das würde so auch funktionieren.
Allerdings möchte ich auch eine Anpassung der Spalten über die Parameter “big, small, thin, thinest usw.” vornehmen, aber darauf reagiert die Liste nicht.
Sollte doch funktionieren - oder?

Hallo,

ich versuche gerade vergeblich die Thumbs der Unterkategorien anzeigen zu lassen :mad:

Wie komme ich an

[{ $category->oxcategories__oxthumb->value }]

ran ?

Für die aktuelle Kategorie ist das ja kein Problem. Das kann der Shop ja schon.
Allerdings ist für die SubCats da nie ein Wert angegeben auch wenn in der DB etwas drin steht.

Ratlos… plz help!

Zu toto99:

[QUOTE=toto99;12090]Das ist guter Senf. Das würde so auch funktionieren.
Allerdings möchte ich auch eine Anpassung der Spalten über die Parameter “big, small, thin, thinest usw.” vornehmen, aber darauf reagiert die Liste nicht.
Sollte doch funktionieren - oder?[/QUOTE]

Das ist möglich und falls noch jemand daran interessiert ist:

Ich habe ein zusätzliches Feld in oxcategories angelegt in welches ich für jede Kategorie eine andere Darstellungsart speichern kann.

Backend combobox anlegen wo mann die Darstellungsformen wählen kann.
Und dann eben in der list.tpl die Value aus dem neuen Feld in $size speichern.

Sollte nen aufwand von unter 15 min sein.

Gruß,

[QUOTE=toto99;12090]Das ist guter Senf. Das würde so auch funktionieren.
Allerdings möchte ich auch eine Anpassung der Spalten über die Parameter “big, small, thin, thinest usw.” vornehmen, aber darauf reagiert die Liste nicht.
Sollte doch funktionieren - oder?[/QUOTE]

Das ist möglich und falls noch jemand daran interessiert ist:

Ich habe ein zusätzliches Feld in oxcategories angelegt in welches ich für jede Kategorie eine andere Darstellungsart speichern kann.

Backend combobox anlegen wo mann die Darstellungsformen wählen kann.
Und dann eben in der list.tpl die Value aus dem neuen Feld in $size speichern.

Sollte nen aufwand von unter 15 min sein.

Gruß,

Das Problem mit den Kategorien-Thumbs habe ich leider auch und bisher noch keine Lösung gefunden.

Hallo,
die Darstellung der Thumbs der Unterkategorien muss doch möglich sein - wer weiß wie es geht?

[QUOTE=MaGro;12869]Hallo,

Zu toto99:

Das ist möglich und falls noch jemand daran interessiert ist:

Ich habe ein zusätzliches Feld in oxcategories angelegt in welches ich für jede Kategorie eine andere Darstellungsart speichern kann.

Backend combobox anlegen wo mann die Darstellungsformen wählen kann.
Und dann eben in der list.tpl die Value aus dem neuen Feld in $size speichern.

Sollte nen aufwand von unter 15 min sein.

Gruß,[/QUOTE]

Hallo,
was ist die “combobox”?

Hallo toto,

[QUOTE=toto99;13018]Hallo,
was ist die “combobox”?[/QUOTE]

Tut mir leid ich hab in letzter Zeit mehr C(++) Programmiert… kommt wohl daher.
Mit ComboBox mein ich ein select:


{ multilanggedöns ="Darstellung auswählen" }
<select name="">
<option></option>
<option value="thin">winzig</option>
<option value="small">klein</option>
<option value="...">normal</option>
<option value="...">groß</option>
</select>

Ist echt easy da die Werte über ein Post übergeben werden und der key vom array einfach
oxcateogries__tabellenfeldname ist.

PS: Ich hab in einem anderen Thread etwas gelesen von Kategorien vollständig laden über die funktion load. Hat das schonmal jemand gemacht?
Habs nur kurz probiert und wusst schon garnicht was ich da für Parameter übergeben muss, dann hab ichs gelassen.

Wäre schön wenn Marco uns bei diesem Thema auf die Sprünge helfen könnte.

Gruß,

Hallo MaGro,
wenn ich das recht verstehe kann des Shop-Kunde mit deiner Lösung dann die unterschiedlichen Darstellungsformen (winzig, klein, …) über die Selectbox auswählen.

Ich wollte eigentlich diese im Template vorgeben, wie hier beschrieben:
http://www.oxid-esales.com/de/resources/help-faq/eshop-manual/beispiel-templateanpassung-mit-der-incproducttpl-produktlisten-gesta

Aber eben nicht zur Darstellung der Artikel, sondern der Kategorien.

lg
toto

Hallo Toto,

nein die selectBox wird im Template vom Backend angelegt. Dann kannst du beim erstellen bzw. bearbeiten einer Kategorie festlegen wie die Artikel in der Kategoriedarstellung angezeigt werden.

Da ich grade gut drauf bin heute Freitag ist post ich dir sogar die änderungen die ich gemacht hab :cool:

Ein neues Feld für oxcategories anlegen habe es mgtemplateartsize genannt.

in der out/basic/tpl/list.tpl in der foreach schleife mit den Artikeln:


[{include file="inc/product.tpl" size=$actCategory->oxcategories__mgtemplateartsize product=$actionproduct testid="action_"|cat:$actionproduct->oxarticles__oxid->value test_Cntr=$smarty.foreach.test_articleList.iteration}]

in der out/admin/tpl/category_main.tpl


        <tr>
            <td class="edittext">
            Artikeldarstellung:
            </td>
            <td class="edittext" colspan="2">
            <select name="editval[oxcategories__mgtemplateartsize]" class="editinput">
        [{ if $oxid != "-1"}]
            <option value="small"[{ if $edit->oxcategories__mgtemplateartsize == "small" }] SELECTED[{/if}]>Standart</option>
            <option value="thinest"[{ if $edit->oxcategories__mgtemplateartsize == "thinest" }] SELECTED[{/if}]>ganz klein</option>
            <option value="thin"[{ if $edit->oxcategories__mgtemplateartsize == "thin" }] SELECTED[{/if}]>klein</option>
            <option value="big"[{ if $edit->oxcategories__mgtemplateartsize == "big" }] SELECTED[{/if}]>gross</option>
        [{ else }]
            <option value="small">Standart</option>
            <option value="thinest">ganz klein</option>
            <option value="thin">klein</option>
            <option value="big">gross</option>
        [{ /if }]
            </select>
            </td>
        </tr>

Das wars dann auch schon… easy oder ?

Natürlich könnte man diese SelectBox auch auf die list.tpl selber stellen und den Kunden selbst auswählen lassen wie er es dargestellt haben möchte.