View im Widget nicht verfügbar

Hi zusammen,

soeben habe ich festgestellt, dass innerhalb in einem Widget inkludierten Template der Currency View nicht verfügbar ist:

[{assign var="currency" value=$oView->getActCurrency() }]  

Das Widget wird so aufgerufen:

[{oxid_include_widget cl="oxwCategoryTree" cnid=$oView->getCategoryId() sWidgetType="header" _parent=$oView->getClassName() nocookie=1 oxwtemplate="widget/categorylist.tpl"}]

Innerhalb des Widgets werden weitere Templates nach dem Muster geladen:

[{include file="inc/categorytop_list.tpl" list=$oViewConf->getActionArticleList("oxwomen") altproduct=$product test_Type=women}]

Und dort ist dann der besagte View, also das Currency Sign nicht mehr verfügbar.

Hat jemand nen Plan, weshalb das so ist?

Abgesehen davon erschließt sich mir der Sinn nicht, weshalb man hier ein Widget anstatt eines einfachen Includes verwenden sollte…

[QUOTE=coarsy;131511]Hat jemand nen Plan, weshalb das so ist?[/QUOTE]

Nein. Das klingt nach einem Bug.

Gruß

Das heißt, das

[{assign var="currency" value=$oView->getActCurrency() }] 

eigentlich in einem in einem View includeten Template zur Verfügung stehen müsste?

Dennoch ist mir der Nutzen von Widgets noch schleierhaft…

Sinn von widgets ist m.E. primär dass sie eigene controller haben. Das currency sign ist nicht da weil im widget die Komponente nicht geladen wird, also in oxwcategorytree.php:


    protected $_aComponentNames = array( 'oxcmp_categories' => 1,  'oxcmp_cur' => 1  );

dann geht es.

Hi Frank,

dacht mir schon, dasses iwas mit Komponenten zu tun haben muss. Aber kann man dem Widget Include nicht mitgeben, welche Komponenten geladen werden sollen? Sonst isses ja net Updatesicher auch nicht so flexibel, wies doch eigentlich sein soll…

Ah, hier noch eine nette Fehlermeldung:


 Faulty component --> oethemeswitcherwpaymentlist
---------------------------------------------
oxSystemComponentException-oxException (time: 2013-09-16 12:32:59): [0]: EXCEPTION_SYSTEMCOMPONENT_CLASSNOTFOUND 
 Stack Trace: #0 /html/oxid/core/oxutilsobject.php(190): oxUtilsObject->_getObject('oxsystemcompone...', 0, Array)
#1 /html/oxid/core/oxfunctions.php(383): oxUtilsObject->oxNew('oxSystemCompone...')
#2 /html/oxid/core/oxutilsobject.php(180): oxNew()
#3 /html/oxid/core/oxfunctions.php(383): oxUtilsObject->oxNew(Array, Array)
#4 /html/oxid/core/oxshopcontrol.php(439): oxNew()
#5 /html/oxid/core/oxwidgetcontrol.php(148): oxShopControl->_initializeViewObject('oxSystemCompone...')
#6 /html/oxid/core/oxshopcontrol.php(387): oxWidgetControl->_initializeViewObject('oethemeswitcher...')
#7 /html/oxid/core/oxshopcontrol.php(156): oxShopControl->_process(Array, Array)
#8 /html/oxid/core/oxwidgetcontrol.php(76): oxShopControl->start('oethemeswitcher...')
#9 /html/oxid/core/smarty/plugins/function.oxid_include_widget.php(57): oxWidgetControl->start('oethemeswitcher...', NULL, Array)
#10 /html/oxid/tmp/smarty/386daf9709b6c08d078927e7e243a494^%%6A^6A6^6A6537CA%%footer.tpl.php(41): smarty_function_oxid_include_widget()
#11 /html/oxid/core/smarty/Smarty.class.php(1869): include('/html/oxid/tmp/...')
#12 /html/oxid/tmp/smarty/386daf9709b6c08d078927e7e243a494^%%36^366^366ECF91%%page.tpl.php(34): Smarty->_smarty_include('oethemeswitcher...', NULL, Array, NULL)
#13 /html/oxid/core/smarty/Smarty.class.php(1869): include('/html/oxid/tmp/...')
#14 /html/oxid/tmp/smarty/386daf9709b6c08d078927e7e243a494^%%40^405^405277AF%%start.tpl.php(10): Smarty->_smarty_include('oethemeswitcher...', NULL, Array, NULL)
#15 /html/oxid/core/smarty/Smarty.class.php(1263): include('/html/oxid/tmp/...')
#16 /html/oxid/core/oxshopcontrol.php(528): Smarty->fetch('oethemeswitcher...', NULL, Array, NULL)
#17 /html/oxid/core/oxshopcontrol.php(396): oxShopControl->_render('oethemeswitcher...', NULL, Array, NULL)
#18 /html/oxid/core/oxshopcontrol.php(156): oxShopControl->_process(Array, Object(Smarty))
#19 /html/oxid/modules/su/su_shopcontrol.php(18): oxShopControl->start(Array)
#20 /html/oxid/core/oxid.php(40): su_shopcontrol->start(Array)
#21 /html/oxid/index.php(28): Oxid::run('page/shop/start...', 'ox|0|0|1|0')
#22 {main}

 Faulty component --> oethemeswitcherwpaymentlist
---------------------------------------------

Jemand ne Idee, was nun hier fehlt?

Du könntest für das widget ein Modul schreiben.

@coarsy:

Ah, hier noch eine nette Fehlermeldung…

Hi, dasselbe Problem habe ich auch gerade beim Testen des neuen mobile-Themes. Das ist zwar eigentlich OT, aber du hast ja selbst damit angefangen! :wink:
Bei mir äußert es sich so, dass dieser Fehler meistens gleich 4 mal auftritt, sobald ich in “mobile” irgendwas anklicke. Egal was, es gibt immer nur einen redirect auf Start. Komisch ist aber, dass ich eben NICHT den themeswitcher nutze, sondern das mobile-Theme direkt aktiviert habe. Ich hatte den Switcher einmal kurz an, nütze mir aber nichts (bin noch smartphone-los, ähem), also wieder deaktiviert das Modul. Trotzdem steht im exception_log nun dauernd dieses:

Faulty component --> oethemeswitcherwpaymentlist

Wenn ich wieder Azure aktiviere, ist alles paletti. Hm, blöd, wie teste ich denn nun das neue Theme, bzw. ist dieser Fehler echt sonst keinem bekannt?

bg

Hi,

das Mobiletheme kannst du einfach testen, indem du einmalig [B]?themeType=mobile[/B] an die URL anhängst. Das Mobiletheme funktioniert standardmäßig nicht ohne den Themeswitcher.

Ach so, fein, danke für den Tipp! Man kann ja so auch wieder zurückswitchen, coole Sache… :slight_smile:

Ja, zum Zurück-switchen kann man aber auch einfach auf den Link im Footer klicken, das geht schneller.

Ja klar, aber für Testbookmarks o.ä. trotzdem nützlich. Es stellt sich aber (fast) die Frage, warum in Azure nicht auch ein “mobile”-Button existiert. Der UA zur Unterscheidung ist ja nun nicht immer 100% zuverlässig und leicht fälschbar. Aber es mag fraglich sein, ob es Sinn macht, diese Art Debatte hier fortzuführen? Mir ging es erstmal nur um den o.g. Fehler, und der ist ja nun weg. :slight_smile: