Eigene Aktionen abfragen / anzeigen

Hi Vanilla Thunder,

vielen Dank für Deine Antwort, leider führt das zu nem Redirect. Also
oxviewconfig => ext_start
führt zu nem Fehler.

Eventuell muss man die Klasse anderst definieren, also dann nicht mehr ext_start
sondern ext_oxviewconfig? Vielleicht hast Du mir noch einen Tipp :slight_smile:

der Name der Klasse an sich ist egal, ich denke nur keine 2 Klassen sollten den selben Namen haben.
Hast du auch den Aufruf im Template geändert? => [{ $oViewConf->deineFunction() }]

Hi Vanilla,

die Klasse an sich sieht folgendermaßen aus:


class ownbenefits extends ownbenefits_parent {

    public function getActionArticleList($actionid)
    {
        $oArtList = oxNew( 'oxarticlelist' );
        $oArtList->loadAktionArticles( $actionid );
        return $oArtList;
    }
} 

Der Aufruf dann wie folgt:

oxviewconfig => ownbenefits/ownbenefits

Dann natürlich im Template:


´                    [{*DAMEN*}]
                    [{if $osubcat->oxcategories__oxparentid->value == "c21c2d4f5a1ed54ed792915a5886f70b"}]
                          [{if $oViewConf->getActionArticleList("oxwomen")}]
                    				[{include file="inc/categorytop_list.tpl" list=$oViewConf->getActionArticleList("oxwomen") altproduct=$product test_Type=women}]
                    			[{/if}]
                    [{/if}] 

Sollte doch eigentlich tun, oder?

Tut auch :slight_smile: Ich danke Dir vielmals für Deinen Hinweis! Noch nen schönen Sonntag wünsche ich!

:smiley: danke, gleichfalls

…also ich teste gerade die Oxid 4.7.3 er und dort bekomme ich auch die Fehlermeldung:
Warning: Cannot modify header information - headers already sent by (output started at /XXX/modules/ext_start.php:1) in /XXX/core/oxutils.php on line 1156

Da der Thread schon älter ist frag ich mal nach, ob jemand dafür eine Lösung parat hat…ich wäre ihm sehr dankbar!

Vielen Dank, hat bei mir prima geklappt, ich habe das Ganze ein wenig abgeändert

[{if $oView->getActionArticleList('aktionID') |@count > 0}]
	[{include file="widget/product/list.tpl" type=grid head="AKTION_TITLE"|oxmultilangassign listId="topItems" products=$oView->getActionArticleList('aktionID') showMainLink=true}]
[{/if}]

jetzt können für die einzelnen Aktionen alle Ansichten bequem ausgewählt werden.

aktionID = Die ID der entsprechenden Aktion, z.B. oxfirststart
type = die gewünschte Ansicht (grid, infogrid oder line)
head = Name für die Aktion
listId = ID für die Aktion

soweit so gut - leider bekomme ich es überhaupt nicht hin, den Namen der entsprechenden Aktion aus der DB (oxactions_oxtitle) auszulesen. Vielleicht kann jemand mich hier in die richtige Richtung stupsen …

schon jetzt vielen Dank für Eure Hilfe und Tipps

Edu

<?php
class cf_aktionen extends cf_aktionen_parent {

    public function getActionArticleList($actionid)
    {
        $oArtList = oxNew( 'oxarticlelist' );
        $oArtList-&gt;loadAktionArticles( $actionid );
        return $oArtList;
    } 
	public function getActionTitle($actionid)
	{
    		$Sql  = "select oxtitle from oxactions ";
    		$Sql .= "where oxid = '".$actionid."' ";

    		$oDB = oxDB::getDb();
    		$aRes = $oDB-&gt;Execute($Sql);

    	if($aRes-&gt;fields && count($aRes-&gt;fields) &gt; 0){
        return $aRes-&gt;fields[0];
    }

   		return false;
	}
}

?>

[{if $oView->getActionArticleList(‘oxfirststart’) |@count > 0}]
[{assign var=“oxfirststart” value=$oView->getActionArticleList(“oxfirststart”) }]
[{assign var=“oxfirststart_title” value=$oView->getActionTitle(“oxfirststart”) }]
[{ $oxfirststart_title->oxactions__oxtitle->value }]
[{include file=“widget/product/list.tpl” type=grid head=$oxfirststart_title listId=“firststart” products=$oView->getActionArticleList(‘oxfirststart’) showMainLink=true}]
[{/if}]

Bitte schön, durch basteln drauf gekommen

Ich muss das jetzt mal pushen hier.

Kann mal jemand der hier richtig durchblickt ne Zusammenfassung dazu schreiben wie man das den jetzt zum beispiel in ein Oxid 4.7 Template einbaut?

Ich denke mal das ist eigentlich einer sehr wichtige Funktion die man mal ausführlich dokumentieren sollte da ich bestimmt nicht der einzige bin der da nicht so ganz durchblickt.

… in dem Zusammenhang ist vlt. auch dieses Modul/Workaround ganz hilfreich -> http://www.shoptimax.de/blog/oxid-module/smxactions-widget-fur-4-75-0/