Hallo, iwie kann ich in einer überaldenen Klasse einde Smarty Variable definieren? ich habe eine Klasse MyProductInfoContentView erstellt und bekomme eine Fehlermeldung : (Link nur für registrierte Nutzer sichtbar.) Wie muß ich die Variable korrekt definieren? Vielen Dank im Voraus. Andi ------------------------------------------------------------------------------------------- PHP: class MyProductInfoContentView extends ProductInfoContentView{ public function __construct($template = 'default') { parent::__construct(); } public function _assignQuantity() { parent::_assignQuantity(); $smarty = MainFactory::create('Smarty'); $smarty->assign('IS_RING', '1'); }}
Hi, es reicht in der eigenen Klasse einfach PHP: $this->set_content_data('MEINE_VARIABLE', '1'); zu setzen, dann kann in der HTML mit {$MEINE_VARIABLE} in Smarty darauf zugeriffen werden. Die folgenden Zeilen werden nicht benötigt: PS: Smarty Variablen werden immer mit $ geschrieben ohne dies ist es eine Smarty Funktion.
Guten Tag, ich habe ein ähnliches Problem. Unter GXUserComponents/overloads/ habe ich einen CheckoutSuccessExtender angelegt. Ich habe mit dem Code von oben versucht eine Smarty Variable anzulegen, bekomme jedoch die Fehlermeldung: FATAL ERROR(1): "Call to undefined method MyExtenderCheckoutSuccessExtender::set_content_data()" Ist die Variable aus diesem Verzeichnes anders zu setzen? MfG
Hallo, schau mal hier GXUserComponents\overloads\_extender_samples\CheckoutSuccessExtenderComponent da ist eine Beispiel Datei, wie es richtig sein muss, die kannst du als Basis nehmen, der Rest steht dann hier https://developers.gambio.de//tutorials.html?v=3.5.1.0&p=das-extender-system und hier https://developers.gambio.de//tutorials.html?v=3.5.1.0&p=class-overloading
Guten Tag, ich würde hier gern nochmal einhaken. wie kann ich in einer Klasse unter GX_Modules eine Variable festlegen? In der Datei mytest_ApplicationBottomExtender.inc.php a) Mit $this->set_content_data('foo', $this->createMyHtml()); erhalte ich den gleichen Fehler wie icue. b) Mit $this->v_output_buffer['foo'] = $this->createMyHtml(); erscheint der Inhalt ganz am Ende der Seite und nicht bei {$foo} -- Vielleicht missverstehe ich das auch. Der Hinweis von Kai hat mir nicht weitergeholfen - da wird nicht direkt eine Variable zugewiesen. Was ich erreichen möchte ist folgendes: Ich möchte an einer Stelle im Shop Content ausgeben (dabei CSS, und JS includen) und PHP ausführen (in der Klasse). Ich wollte das anhand eines Beispiels machen - hier einen Instagram-Feed einfügen im Footerbereich des Shops. Das wird auch eingefügt, aber eben nur am Ende. Ich möchte in den Templatefiles {$foo} angeben und genau dort meinen Output haben. Was könnte ich hier falsch machen? Vielen Dank