Kategoriebilder statt Kategorienamen

Hiho zusammen.

Ich versuche derzeit in die Navigation der Kategorien statt der Namen das Bild von der Kategorie anzeigen zu lassen.

Das einzige was ich aber finde zum auslesen vom Namen des Thumbnails ist die Funktion $actCategory->oxcategories__oxthumb->value was mir aber nur den Thumbnail von der aktuellen Kategorie bei der ich drauf bin anzeigt.

Hab schon $oxcat->oxcategories__oxthumb->value probiert, aber das klappt auch nicht, finde aber leider auch nichts weiter wo ich den thumbnail von der aktuellen Kategorie bei der Erstellung der Navigation anzeigen lassen kann.

Ich hoffe ihr könnt mir weiter helfen.

Schonmal vielen Dank im voraus :slight_smile:

Würd mich auch interessieren, die Idee ist nicht schlecht. Könnt ich aktuell nicht verwenden, aber zukünftig bei anderen Projekten!

Also, ich bin auch interessiert! :slight_smile:

Gehe in den Ordner dein-oxid/out/pictures/icon/ also in den ordner icon unter picture.
Dort legst du deine Katergoriebilder ab. Achte dabei darauf das alle die selbe Größe haben. z.b 270x100.
Ist dafür wichtig weil nachher die Breite bestimmt wieviele Katergorien du nebeneinander hast.
Das kann dann noch in der CSS in den Bereich #body .box u.s.w beinflusst werden.

Dann gehst du im Adminbereich unter Katergorien, suchst die passende Kategorie aus und fügst unter[B] icon [/B]legendlich dein Bildnamen ein.
Speichern und fertig.

Achtung bei Oxid Standart geht nur, entweder oder.
Also entweder Bild oder Text.

[QUOTE=Koushirou;9242]
Hab schon $oxcat->oxcategories__oxthumb->value probiert, aber das klappt auch nicht, finde aber leider auch nichts weiter wo ich den thumbnail von der aktuellen Kategorie bei der Erstellung der Navigation anzeigen lassen kann.
[/QUOTE]

Ich geh mal davon aus, dass Du die Kategoriebox meinst. Ansonsten musst Du die Variablen ein wenig anpassen.
Die Variable mit der einzelnen Kategorie heißt bei mir im Template $ocat…
Wie auch immer, die Klasse die ich meine heißt oxCategory.

Um an die Bilder zu kommen musst Du die betreffende Kategorie voll laden.
Diese zwei Zeilen kurz bevor der Link im Kategoriebaum ausgegeben wird.


[{if $ocat->load($catkey)}][{/if}]
<img src="[{$ocat->getPictureUrl()}]0/[{ $ocat->oxcategories__oxthumb->value }]"  />

Das if ist notwendig, da ansonsten der Rückgabewert der Methode (true/false) ausgegeben wird.

Schöne Grüße,
Markus

Hallöchen,

ich hänge momentan auch daran, dass die kategoriebilder in der übersicht nicht geladen werden.

Meine Abfrage sieht so aus:


[{if $category->oxcategories__oxthumb->value }]
<a id="test_MoreSubCatIco_[{$smarty.foreach.MoreSubCat.iteration}]" href="[{ $category->getLink() }]">
<img src="[{$actCategory->getPictureUrl()}]0/[{$category->oxcategories__oxthumb->value }]" height="110" alt="[{ $category->oxcategories__oxtitle->value }]"></a>
[{else}]
<a id="test_MoreSubCatIco_[{$smarty.foreach.MoreSubCat.iteration}]" href="[{ $category->getLink() }]">
<img src="[{ $oViewConf->getImageUrl() }]noimage.gif" height="110" alt="[{ $category->oxcategories__oxtitle->value }]"></a>
[{/if}]

Das Problem ist, dass er die thumbs einfach nicht vorladen will,
wenn ich dann in die kategorie reingehe, sind die bilder da…
mit der [{if $ocat->load($catkey)}][{/if}], bekomm ich nur eine fehlermeldung…
muss man noch irgendwo etwas einstellen, dass die kategorien komplett vorgeladen werden? (also inklusive thumbnail)
in den Performance-Einstellungen ist angegeben, dass der komplette kategoriebaum geladen werden soll…

Grüße

Lars

Wie auch immer, die Klasse die ich meine heißt oxCategory.

Wie heißte denn nun die Klasse von $ocat?


<textarea>[{$ocat|@printr:1}]</textarea>

Steht Dir in der foreach Schleife $catkey zur Verfügung? Ggf. kannst Du den Key aus der $ocat ziehen.

Vielleicht hilft auch der Text der Fehlermeldung und um welche Template-Datei (Original-Template) und welche Zeile Du meinst weiter.

Schöne Grüße,
Markus

Info an den Hoster ist raus.

[email protected]

Kategoriebilder statt Kategorienamen anzuzeigen würde ich auch gerne. Nach dem, was hier zu lesen ist, scheint das aber nicht zu funktionieren. Oder hat das jemand schon in seinem Shop umgesetzt - würde mich sehr interessieren, wo das live zu sehen ist.

lg
toto

Hallo, ich habe nun zumindest eine vorübergehende Lösung gefunden.

Ich hatte die Kategoriebilder schonmal in Version 4.0.0.2 dazu gebracht angezeigt zu werden. Nach langem habe ich dann Version 4.1.5 eingespielt und sie wollten um verderben nicht funktionieren.

Der Trick:

in der Datei [B]core/oxcatergorylist.php[/B] in [B]Zeile 103[/B] wird die Fieldlist erstellt, welche die Daten aus der Datenbank holt. Dort einfach in den String “[B], oxthumb[/B]” [B]einfügen[/B] und die Kategoriebilder werden geladen.

[B]Achtung das ist eine Coredatei vom System, vorher also sichern.[/B]

Ich weiß nicht ob das ein Bug ist, oder so gewollt? Deswegen sollte diese Änderung mit Vorsicht genossen werden.

Zu beachten ist, dass nach einem Update auf eine neue Version, diese Änderung erneut vorgenommen werden muss

Hi,
ich arbeite mit Dreamweaver auf Mac - bei mir werden in dieser core/oxcatergorylist.php nur unverständliche Zeichen angezeigt. Auch mit einem einfachen Texteditor ist es das selbe.
Womit kann ich diese Dateien bearbeiten?

lg
toto

Ich kenne mich mit MAC nicht so aus. Ich arbeite auf Windows.

Mit einem PHP Editor sollte sich die Datei aber denoch lesbar öffnen lassen. Spontan fällt mir jetzt nur “Coda” ein. Der kostet aber. Alternativ könnte ich noch “PDT Eclipse” empfehlen, wobei das vielleicht etwas oversized (134MB) ist um nur mal ein paar zeilen Code anzupassen. Dafür ist es Freeware.

Hab’s jetzt mit einem PHP-Editor (TextWrangler) geöffnet - noch immer diese seltsamen Zeichen:

http://screencast.com/t/QHztCTbnkFvG

[QUOTE=DIATOM;10336]Hallöchen,

ich hänge momentan auch daran, dass die kategoriebilder in der übersicht nicht geladen werden.

Meine Abfrage sieht so aus:


[{if $category->oxcategories__oxthumb->value }]
<a id="test_MoreSubCatIco_[{$smarty.foreach.MoreSubCat.iteration}]" href="[{ $category->getLink() }]">
<img src="[{$actCategory->getPictureUrl()}]0/[{$category->oxcategories__oxthumb->value }]" height="110" alt="[{ $category->oxcategories__oxtitle->value }]"></a>
[{else}]
<a id="test_MoreSubCatIco_[{$smarty.foreach.MoreSubCat.iteration}]" href="[{ $category->getLink() }]">
<img src="[{ $oViewConf->getImageUrl() }]noimage.gif" height="110" alt="[{ $category->oxcategories__oxtitle->value }]"></a>
[{/if}]

Das Problem ist, dass er die thumbs einfach nicht vorladen will,
wenn ich dann in die kategorie reingehe, sind die bilder da…
mit der [{if $ocat->load($catkey)}][{/if}], bekomm ich nur eine fehlermeldung…
muss man noch irgendwo etwas einstellen, dass die kategorien komplett vorgeladen werden? (also inklusive thumbnail)
in den Performance-Einstellungen ist angegeben, dass der komplette kategoriebaum geladen werden soll…

Grüße

Lars[/QUOTE]
Bin beim Stöbern gestern über diesen Artikel gestolpert, hört sich sehr passend an…

http://www.musterdenker.de/tag/oxid/

Hallo toto99,

deinem angehängten Bild nach liegt das am Zend Framework (Guard und/oder Optimizer). Ich hab das noch nie genutzt, kann dir also leider nicht viel dazu sagen. Es ist meines Erachtens aber auf deinem Server expliziet eingerichtet (worden), denn von alleine kommt das nicht ;). Mehr Details findest du sicher unter http://www.zend.com/de/products/guard/ .
So wie die Datei jetzt aussieht, hast du natürlich wirklich keine Möglichkeit diese zu bearbeiten.

@avenger:

Danke für den Link. auf der Seite war ich gestern auch schonmal, aber dieser Artikel ist wohl an mir vorbeigegangen. Das Module macht die Sache natürlich noch um einiges kompfortabler. Und bei gerade mal 30 Kategorien, sollte sich das Performanceproblem auch in Grenzen halten. Werde ich bei gelegenheit gleich mal testen.

Warum aber gerade die Thumbs für die Kategorien aus dem Objekt seitens Oxid rausgelassen wurden, erschließt sich mir bisher dennoch nicht.

[QUOTE=RiggerofRiV;13914]Hallo toto99…[/QUOTE]
Ist das am Ende eine (verschlüsselte) Version 3?

Dann wird das nix mit dem ändern.

Dazu weiß ich jetzt mehr:
Das ist compiliertes php (Zend Compiler). Der Quellcode ist absichtlich verschlüsselt, damit ihn eben nur der Besitzer lesen kann.
Ohne den Zend Compiler kann man den Quelltext nicht lesen. Um die compilierte Version auszuführen benötigt man noch das Zend Modul für den jeweiligen Webserver.

Ich würde gerne wieder diesen Thread beleben, auf der Linkseite von unten find ich aktuell nicht wirklich was zu 4.3.0 und Kategoriebilder statt nur Kategorienamen.

Glaube, dass doch mehr Menschen Interesse haben das mit Bildern statt Namen ( oder besser: Bild + Namen ) anzeigen zu lassen.

Habe hier ein Script was leider noch nicht ganz funktioniert. Bin in der Hauptkategorie, kriege den Aufbau in der list.tpl richtig angezeigt, aber immer noch leider ohne Bilder der Unterkategorien:

[{capture name=list_details}]

    [{if $actCategory-&gt;oxcategories__oxlongdesc-&gt;value }]
        &lt;span id="test_catLongDesc"&gt;[{ $actCategory-&gt;oxcategories__oxlongdesc-&gt;value }]&lt;/span&gt;
        &lt;hr size="1"&gt;
    [{/if}]
    
    [{if $oView-&gt;hasVisibleSubCats()}]
        [{ oxmultilang ident="LIST_SELECTOTHERCATS1" }]&lt;b&gt;[{$actCategory-&gt;oxcategories__oxtitle-&gt;value}]&lt;/b&gt; [{ oxmultilang ident="LIST_SELECTOTHERCATS2" }]
        &lt;hr size="1"&gt;
        [{foreach from=$oView-&gt;getSubCatList() item=category name=MoreSubCat}]
            [{if $category-&gt;getIsVisible()}]
                &lt;div class="left" style="width: 33.3%; height: 160px; text-align: center; margin-bottom: 10px;"&gt;
                	&lt;div style="height: 155px;"&gt;
                    [{if $category-&gt;oxcategories__oxthumb-&gt;value }]
                        &lt;a id="test_MoreSubCatIco_[{$smarty.foreach.MoreSubCat.iteration}]" href="[{ $category-&gt;getLink() }]"&gt;
                            &lt;img src="[{$category-&gt;getPictureUrl()}]/0/[{ $category-&gt;oxcategories__oxthumb-&gt;value }]" alt="[{ $category-&gt;oxcategories__oxtitle-&gt;value }]"&gt;&lt;br&gt;
                        &lt;/a&gt;
                    [{/if}]
                    [{if $category-&gt;oxcategories__oxicon-&gt;value }]
                        &lt;a id="test_MoreSubCatIco_[{$smarty.foreach.MoreSubCat.iteration}]" href="[{ $category-&gt;getLink() }]"&gt;
                            &lt;img src="[{$category-&gt;getIconUrl() }]" alt="[{ $category-&gt;oxcategories__oxtitle-&gt;value }]"&gt;
                        &lt;/a&gt;
                    [{/if}]
                    &lt;/div&gt;
                    &lt;a id="test_MoreSubCat_[{$smarty.foreach.MoreSubCat.iteration}]" href="[{ $category-&gt;getLink() }]"&gt;[{ $category-&gt;oxcategories__oxtitle-&gt;value }]&lt;/a&gt;
                &lt;/div&gt;
            [{/if}]
        [{/foreach}]
    [{/if}]
    &lt;div class="clear_both"&gt;&lt;/div&gt;
[{/capture}]

&lt;div class="box [{if $smarty.capture.list_details|trim ==''}]empty[{/if}]"&gt;
[{$smarty.capture.list_details}]
&lt;/div&gt;

Ich krieg einfach nicht den Pfad der Unterkategorie als Bild darein. Wie habt ihr das denn gelöst?

Find das eig. auch sehr merkwürdig standardmäßig in einem Shop-Template nur Kategorien als Namen anzuzeigen, und nicht als Bilder …

Freue mich über jeden neuen Beitrag :slight_smile:

[QUOTE=Niklas;30196]auf der Linkseite von unten find ich aktuell nicht wirklich was zu 4.3.0 und Kategoriebilder statt nur Kategorienamen.[/QUOTE]Hier nochmal der komplette Link: http://www.musterdenker.de/2009/09/oxid-eshop-enable-lazy-loading-for-categories/

nein nicht gut das in den core zu schreiben leute - haben das erst kürzlich implementiert:

<?php

class ag_categorylist extends ag_categorylist_parent {

protected function _getSqlSelectFieldsForTree($sTable, $aColumns = null)
{
    $sFieldList = parent::_getSqlSelectFieldsForTree($sTable, $aColumns);
    $sFieldList .= " ,$sTable.oxthumb as oxthumb ";
    return $sFieldList;
}

}

Das ganze als Modul ablegen (beispiel wäre /modules/ag_ecomponents/ag_categorylist.php) und im Backend eintragen:

oxcategorylist => ag_ecomponents/ag_categorylist

Hatte das auch erst im Bugtracker eingetragen, ist aber eine gewollte Funktion. Implementiert hier:

http://www.ecomponents.de/Module/

[QUOTE=leofonic;30199]Hier nochmal der komplette Link: http://www.musterdenker.de/2009/09/oxid-eshop-enable-lazy-loading-for-categories/[/QUOTE]

Installiert, ausprobiert und funktioniert nicht. Gibt nur eine weiße Seite aus. Getestet unter 4.3.0

Das Script von mir unten funktioniert ja im 4.0.0.0, da muss sich dann doch offensichtlich was im 4.3.0 geändert haben ?! …