Alle Artikel einer bestimmten Kategorie in details.tpl anzeigen

Hallo zusammen,

ich versuche nun schon seit einiger zeit, eine Kombination aus den Templates list.tpl und details.tpl zu erstellen. Leider ohne Erfolg. Ich möchte die Details zu einem bestimmten Artikel (Preis, Bilder etc.), sowie alle Artikel der selben Kategorie auf einer Seite anzeigen.

Beim Aufruf des folgenden Codes erhalte ich die Fehlermeldung “Function ‘getArticleList’ does not exist or is not accessible! (Details)”


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

[{/foreach}]

Ich hoffe, dass mir jemand bei dem Problem weiterhelfen kann. Danke!

Du musst mit einem Modul die Liste in den Details verfügbar machen.

[QUOTE=rubbercut;44377]Du musst mit einem Modul die Liste in den Details verfügbar machen.[/QUOTE]

Danke für die Info. Leider bin ich mit dem Thema (Module) nicht vertraut. Gibt es dazu ein Tutorial oder Beispielcode?

Hallo,

[QUOTE=Hans Peter Mauer;44381]Danke für die Info. Leider bin ich mit dem Thema (Module) nicht vertraut. Gibt es dazu ein Tutorial oder Beispielcode?[/QUOTE]
Ja, mehrere. Zum einen in den Handbüchern unter “Entwicklerinformaitonen” und zum anderen auf der OXIDforge im Bereich Tutorials.

Viel Erfolg!

Dein Code funktioniert, wenn du im details.php

class Details extends oxUBase

änderst in

class Details extends alist

Hallo,

ich möchte diesen Thread nochmal ausgraben, da es hier genau um mein Anliegen geht. Ich habe im Artikel einen Slider eingebaut, in dem alle Artikel angezeigt werden, die außerdem noch in der Kategorie sind.
Leider sind es eben nur 10 Artikel, die angezeigt werden. So wie es eben in der normalen Kategorie Anzeige auch ist, da kann man ja dann umstellen dass man zBsp. 20 oder 50 Artikel auf der Seite angezeigt bekommt.
In diesem Slider kann man die Anzahl der angezeigten Artikel natürlich nicht ändern. Gibt es eine Möglichkeit dies in der View für die Liste anzupassen. Das global alle Artikel angezeigt werden gänge für den Slider natürlich auch, aber dannhat man ja in der normalen Kategorieansicht wieder alle Artikel angezeigt, was auch nicht Sinn der Sache ist.

Ich hoffe ich konnte mich halbwegs verständlich ausdrücken :slight_smile:

Vielen Dank schon mal,

Thomas

Hallo Thomas,

ich hab jetzt spontan keine Lösung für Dein Problem im Kopf, aber was mir spontan dazu einfällt ist, dass Du damit Deinen Server gnaz schön stressen würdest.
Wenn der Shop für jede Detailseite alle Artikel aus der Kategorie zusammenbauen muss, erhöhst Du damit den Recourcenverbrauch immens. Dein Traffic würde sich sicher erheblich vergrößern, die Seitenladezeit wird merklich länger und die Last auf der Datenbank und dem gesamten System würde ziemlich steigen.

Hier ist natürlich relvant, wie viele Artikel in Deinen Kategorien drin sind, wie viele Besucher Du hast, wie viel Speicher Dein Shop benutzen darf (PHP Memory-Limit) und wie leistungsstark Dein Hosting ist.

Noch eine Überlegung: wie viele Artikel meinst Du denn, dass sich Deine Besucher wohl auf einer Artikelseite ansehen? 2, 3 … vielleicht 4. Wenn Du einen gaaaanz besooooonders geduldigen Zeitgenossen hast, kommst Du vielleicht auf 6 oder 8, aber dann ist auch Sense. Von daher wäre vielleicht ein Crossselling, das Du in den Slider schiebst die bessere Variante.

Schönen Gruß aus dem Süden der Republik,

Kai

Hallo,

vielen Dank für die Rückmeldung. Wir haben schon relativ viel (max. 300) Artikel in einer Kategorie, da wir aller Artikel einer Sparte in einer Kategorie haben, und der Kunde dann über Filter sich die für Ihn in Frage kommenden Artikel heraussuchen kann.
Performancetechnisch geb ich dir recht, unser Server kommt aber gut damit klar.

Als Überlegung interessant wäre noch nur die angenommen 20 Artikel zu laden, welche in der Kategorie links und rechts des aktuellen Artikels stehen.

Aber da habe ich leider keine Ahnung ob das möglich ist.

Viele Grüße Thomas