Aktionen in Unterseiten

Hallo zusammen,

ich versuche seit Stunden eine neu von mir angelegte Aktion auf einer Shopunterseite darzustellen.

Situation ist die Folgende:
In der Sidebar des Shops ist ein Button, auf welchem “Alle Superprodukte” steht und der auf eine Seite verlinken soll, auf welcher alle in der Aktion zugewiesenen “Superprodukte” aufgeführt werden sollen.

Dieser Button verlinkt statisch auf www.shopname.de/superprodukte.tpl. Diese Datei wurde als CMS-Seite angelegt und mit einem entsprechenden SEO Link hinterlegt.

Nun würde ich gerne auf dieser superprodukte.tpl Seite meine Aktion anzeigen. Also machte ich das, was ich hier im Forum gefunden habe. Dabei ging es darum auf der Startseite eine Aktion anzuzeigen. Ich stellte in die /tpl/layout/page.tpl folgenden Code ein:



	[{assign var="startaktion" value=$oView->getActionArticleList('[B]3pof3eede83991a06fb897c4807c0904[/B]')}]
	<div id="contentbasket" style="padding-bottom:10px;">
	    <div id="topBox" class="boxtop">
            <h3 class="clear " style="border-bottom:1px solid #5d2884;">
            <a style="color:#5d2884; text-decoration:none; font-size:12px;">Aktion</a>
           </h3>
        	<ul class="js-articleBox featuredList" style="margin:0;">
 			[{foreach from=$startaktion item=actionproduct}]
            [{include file="widget/product/superaktion.tpl" product=$actionproduct}]
			[{/foreach}]
         	</ul>
   		</div>
	</div>


(Die fettmarkierte Zeichenfolge ist dabei der Identifikator der Aktion.)

Funktioniert super auf der Startseite!

Versuche ich nun aber dasselbe auf meiner CMS-Seite, kommt ein Redirect auf die Startseite. Offenbar hat $oView->getActionArticleList keine Wirkung, da das Modul die Funktion “getActionArticleList” nicht hinterlegt hat.

Mein Problem ist nun, dass ich weder weiß auf welches Modul die CMS-Seiten verweisen, noch ist mir klar wie man das sonst noch lösen könnte.

Ich habe diesen sehr informativen Link gefunden http://www.oxid-esales.com/forum/showthread.php?t=6983, allerdings habe ich keine Ahnung was hier das Content Modul sein soll… :confused:

Bin sehr sehr offen für Ideen und Vorschläge…

Hi Hacki,
es sind mehrere Punkte, die noch nicht passen.
Verlinkst du wirklich auf die tpl-Seite? Das kann so nicht funktionieren. Du musst auf den SEO-Link gehen, den du dem Content angegeben hast.

Aber nun zum anderen Problem. Du versucht die Methode getActionArticleList aufzurufen.
Du befindest dich auf der Content-View(content.php). In dieser Klassen gibt es keine Methode namens getActionArticleList, deshalb bekommst du eine Exception und wirst du auf die Startseite redirected.
Du müsstest die Content-View erweitern und dort eine Methode einbauen, die dir die AKtionsartikel lädt.

Weißt du wie das geht?

Grüße

Fabian

Hi Fabian,

vielen Dank für die Antwort und die HIlfe. Mir ist eigentlich das MVC-Prinzip bekannt, aber bei Oxid steige ich an der einen oder anderen Stelle noch gar nicht durch - offenbar ist es mir doch noch nicht so ganz bekannt :wink: Also:

  1. Ich habe unter http://www.oxid-esales.com/forum/showthread.php?t=6983 gelesen. dass es möglich ist neue Module zu erstellen mit eigenen Funktionen, und diese im Admin Tool z.B. an start oder content zu “mappen”. Ob das aber der richtige Weg ist weiß ich nicht. Hier wäre ich Dir dankbar wenn Du mir weiterhelfen könntest.

  2. Woher weiß ich denn, dass die CMS-Inhalte auf die Content-View (Content.php) zugreifen? Steht das irgendwo in einer Doku?

  3. zur .tpl-Geschichte. Hier habe ich eine CMS-Seite namens “Topseller” angelegt und auf dieser würde ich gerne den o.g. Code einbauen und die Funktion aufrufen. Bei der CMS-Seite habe ich im Reiter “SEO” nur die SEO URL: [B]Topseller/[/B] hinterlegt und dann im Template statisch darauf verlinkt. (ich habe das im photoshop mal eben zusammengefriemelt, ich hoffe es ist verständlich)