d_sturm Posted February 27, 2009 Report Share Posted February 27, 2009 Hallo, ich versuche gerade über ein Plugin im Warenkorb die Summe aller Produkte in Netto ausgeben zu lassen, da bisher der _otax Wert nur als float und nicht formatiert mitgegeben wird. Um die Formatierung von Netto-Preisen allg. zu steuern, wollte ich nun über den Hook "class.price.php:_Format_data" eine weiter Art einbinden. <code> <hook>class.price.php:_FormatType_data</hook> <phpcode><![CDATA[ case 'price-otax': $price_otax = (float) "{$data['price']}"; $Fprice_otax= $this->_StyleFormat($price_otax); $tpl_data = array( 'PRICE_OTAX' => array('formated' => $Fprice_otax, 'plain' => $price_otax) ); $tpl = 'price_otax.html'; break; ]]></phpcode> <order>1</order> <active>1</active> </code> Nur anscheinend wird hier im switch nichts hinzugefügt. Durch ein var_dump() an line 307 in class.price.php wird mir ein "NULL" als plugincode zurückgegeben. Auch ein mehrmaliges Neueinspielen des Plugins half bisher nicht. Weiss jemand, woran es liegen kann? Oder hat jemand generell schon einmal versucht hier den Hook zu nutzen? Gruß, Daniel Link to comment Share on other sites More sharing options...
mzanier Posted February 27, 2009 Report Share Posted February 27, 2009 nen case auf diese art einzubauen geht nicht, da macht das eval nicht mit. das müsstest du mit einem if statt dem case auf dem gleichen hook. Link to comment Share on other sites More sharing options...
d_sturm Posted February 27, 2009 Author Report Share Posted February 27, 2009 Ok, das hab ich nun leider auch erfahren müssen; aber eine if-condition in einer switch-Abfrage hat wiederum doch auch keine Auswirkung. Von daher ist dieser Hookpoint dann doch unnütz, oder sehe ich das falsch?! Ich habe stattdessen den Hook "class.price.php:_Format_data" mit dem o.g case in einer eigenständigen select-Abfrage genutzt. <code> <hook>class.price.php:_Format_data</hook> <phpcode><![CDATA[ switch ($data['format_type']) { case 'price-otax': $price_otax = (float) "{$data['price_otax']}"; $Fprice_otax = $this->_StyleFormat($price_otax); $tpl_data = array( 'PRICE_OTAX' => array('formated' => $Fprice_otax, 'plain' => $price_otax) ); $tpl = 'price_otax.html'; break; }; // switch ]]></phpcode> <order>1</order> <active>1</active> </code> Gruß, Daniel Gruß, Daniel Link to comment Share on other sites More sharing options...
mzanier Posted February 27, 2009 Report Share Posted February 27, 2009 doch, wenn du unter dem default case das machst, hat auch eine if eine auswirkung. if ($data['format_type']=='price-otax') { ..... } Link to comment Share on other sites More sharing options...
d_sturm Posted February 28, 2009 Author Report Share Posted February 28, 2009 Ok, das macht Sinn. Nur, der default case ist derzeit nicht in der class.price.php (4.0.0.10) vorhanden, und diesen kann man dann ja auch nicht über das Plugin hinzufügen. Ich habe also nun in der Klasse ein "default:" vor den Aufruf des PluginCodes gesetzt damit es funktioniert. Gruß, Daniel Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.