ich taste mich mit gaaanz langsamen Schritten an die Modulprogrammierung ran und habe wahrscheinlich eine recht triviale eine Frage:
Es geht darum, der details.tpl einen weiteren Inhalt (hier das Logo eines Partners) hinzuzufuegen. Dazu benoetige ich fuer mein Modul (das man mit mehr Wissen sicher wesentlich elegenter schreiben koennte) die OXID oder OXARTNUM des aktuell dargestellten Artikels.
/*
* Variable in Template [{$product-> getAdd2LongDesc()}])
* Modulekonfig oxarticle => or_add2longdesc/or_add2longdesc
*/
class or_add2LongDesc extends or_add2LongDesc_parent{
public function getAdd2LongDesc(){
$myConfig = $this->getConfig();
$sShopUrl = $myConfig->getShopURL();
$sShopId = $myConfig->getShopId();
$oDb = oxDb::getDb();
$sQuery = "SELECT oxmanufacturers.OXTITLE as manufacturer
FROM oxarticles
JOIN oxmanufacturers
ON oxarticles.OXMANUFACTURERID = oxmanufacturers.OXID
WHERE oxarticles.OXARTNUM = '{$sArtNum}'";
//echo $sQuery;
$sManufacturer = $oDb->getOne($sQuery);
$sManufacturer_small = strtolower($sManufacturer);
if($sManufacturer == 'Plantronics' || $sManufacturer == 'Snom'){
return "<img src='{$sShopUrl}out/basic/{$sShopId}/img/logo_partner_{$sManufacturer_small}.jpg' />";
}
}
}
Mir fehlt zum Glueck wirklich nur noch $sArtNum - sonst funktioniert soweit alles.
Wie komme ich da ran?
Vielen dank fuer eure Unterstuetzung.
—SNIP—
Jetzt wo ich gerade so drueber nachdenke, koennte ich das natuerlich das ganze auch im Template loesen…aber trotzdem wuerde ich gern meine Frage aufrecht erhalten…
ich taste mich mit gaaanz langsamen Schritten an die Modulprogrammierung ran und habe wahrscheinlich eine recht triviale eine Frage:
Es geht darum, der details.tpl einen weiteren Inhalt (hier das Logo eines Partners) hinzuzufuegen. Dazu benoetige ich fuer mein Modul (das man mit mehr Wissen sicher wesentlich elegenter schreiben koennte) die OXID oder OXARTNUM des aktuell dargestellten Artikels.
/*
* Variable in Template [{$product-> getAdd2LongDesc()}])
* Modulekonfig oxarticle => or_add2longdesc/or_add2longdesc
*/
class or_add2LongDesc extends or_add2LongDesc_parent{
public function getAdd2LongDesc(){
$myConfig = $this->getConfig();
$sShopUrl = $myConfig->getShopURL();
$sShopId = $myConfig->getShopId();
$oDb = oxDb::getDb();
$sQuery = "SELECT oxmanufacturers.OXTITLE as manufacturer
FROM oxarticles
JOIN oxmanufacturers
ON oxarticles.OXMANUFACTURERID = oxmanufacturers.OXID
WHERE oxarticles.OXARTNUM = '{$sArtNum}'";
//echo $sQuery;
$sManufacturer = $oDb->getOne($sQuery);
$sManufacturer_small = strtolower($sManufacturer);
if($sManufacturer == 'Plantronics' || $sManufacturer == 'Snom'){
return "<img src='{$sShopUrl}out/basic/{$sShopId}/img/logo_partner_{$sManufacturer_small}.jpg' />";
}
}
}
Mir fehlt zum Glueck wirklich nur noch $sArtNum - sonst funktioniert soweit alles.
Wie komme ich da ran?
Vielen dank fuer eure Unterstuetzung.
—SNIP—
Jetzt wo ich gerade so drueber nachdenke, koennte ich das natuerlich das ganze auch im Template loesen…aber trotzdem wuerde ich gern meine Frage aufrecht erhalten…
Lieben Gruss
Oliver[/QUOTE]
Ich denke, dass die an “details.tpl” übergebenen Daten auch das “manufacturer”-Objekt enthalten, so dass man die Information daraus entnehmen kann, ohne ein Modul zu schreiben.
Füge mal
[{debug}]
an den Anfang der “details.tpl” ein, dann gibt Dir Smarty eine Liste aller Objekte und den darin enthaltenen Daten.
vielen Dank fuer den Hinweis - sehr interessant, weil ich jetzt wahrscheinlich ohne MySQL-Abfrage direkt z.B. den Hersteller des aktuell geladenen Artikels bekommen koennte.
Allerdings bleibt meine Frage weiterhin bestehen, weil ich leider wohl die richtigen Schritte noch nicht nachvollziehen kann.
Sorry, ich weiss dass das Forum nicht dazu da ist, mir PHP beizubringen aber ich blicks anscheinend mit der Objektorientierung noch nicht.
Ich hangle mich seit Stunden durch den Code des Shops…von Hoelzchen zu Stoeckchen.
Koennte mir vielleicht jemand die wahrscheinlich zwei Zeilen Code verraten, die dazu fuehren, dass meine Klasse funktioniert?