4.5.x - Neues Template auf Basis von list.tpl erstellen

Guten Abend zusammen,

ich möchte gerne eine abgewandelte Version der list.tpl Datei nutzen, welches ich anschließend über eine fixe Seo Url aufrufe.

Dazu habe ich einfach die Datei kopiert und entsprechend umbenannt und einen eigenen View angelegt. Jedoch bekomme ich jetzt folgende Fehlermeldung:

oxSystemComponentException-oxException (time: 2011-10-16 19:49:11): [0]: Function 'hasVisibleSubCats' does not exist or is not accessible! (Tpl)

Ich habe 1:1 den alist.php View übernommen und die Klasse sowie die Datei umbenannt und dort auf mein Template verwiesen

protected $_sThisTemplate = 'page/list/test.tpl';

Muss ich diesen View noch irgendwo deklarieren oder übersehe ich etwas anderes?
Bin für jede Antwort dankbar!

Grüße,

Marcel

Tja, also das klingt zumindest mal nach nicht “OXID konformem” Umgehen :

neuen view angelegt ?

Wo, wie angelegt, wie aufgerufen ?

entsprechendes gilt für das tpl, das wird nämlich nach einer langen Kaskade inkludiert …

view angelegt :

Hieße für mich, einen ganz neuen view mit Aufruf wie : meinshop.url/index.php?cl=neuer_view

Gemeint ist aber wohl eher view erweitern, also ein Modul, welches einem vorhanden view neue Funktion u.a gibt ?

Hallo,

danke für Dein Feedback. Ich habe mich an diesen Artikel gehalten:

http://www.oxid-esales.com/en/resources/help-faq/eshop-manual/ein-neues-template-in-den-eshop-einbinden

jedoch, habe ich bemerkt, dass ich keinen Zugriff auf die Funktion habe (siehe erster Eintrag) und bin davon ausgegangen, dass ich nun noch einen View für das Template benötige.

Aber ja Du hast, ich möchte das Template erweitern, aber es soll an zwei Stellen für unterschiedliche Darstellungen sorgen - daher wollte ich ein komplett neues erstellen.

Gibt es eine aktuelle Doku / ein Tutorial für dieses Thema?
Ich habe leider nichts gefunden.

Grüße,

Marcel

Hallo,

ok gehen wir mal vom view alist.php aus, dort soll ein anderes $_sThisTemplate ausgegeben werden, und das bearbeitet und auch neue Funktionen aufrufen , richtig ?

gut dann in modules/ sowas wie meine_alist.php anlegen

dort :

<?php
class meine_alist extends meine_alist_parent{
    $_sThisTemplate = 'page/list/test.tpl'; # es hiess a test.tpl das neue, so ich entsinne
    public function neuefunktion1(){
        #was auch immer
        return $WASAUCHIMMER;
    }
    public function neuefunktion2(){
        #was auch immer
        return $WASAUCHIMMER;
    }
}
?>

diesen erweiterten view alist nun dem System bekannt machen im Admin->System->Modules:
alist => meine_alist

[QUOTE=xthesoberx;70934]
Muss ich diesen View noch irgendwo deklarieren oder übersehe ich etwas anderes?
[/QUOTE]
Du kannst einen eigenen View mit dem Parameter “cl” in der Url aufrufen. Allerdings funktioniert list.tpl sowieso nicht ohne Kategorie, also würde ich einfach eine versteckte Kategorie anlegen und bei dieser unter “alternatives Template” dein Template eintragen.