Update 4.3 nach Backend Login, Fehler, Backend lädt nicht

Hallo, wenn ich mich erfolgreich im Backend anmelde, bekomme ich danach den Shopware Fehler Reporter zu Gesicht. Dieser gibt mir folgenden Fehler aus: Fehlerinformationen Modul: Shopware.apps.Index Pfad: /backend/Index/load/ HTTP-Fehlermeldung: Service Unavailable HTTP-Statuscode: 503 / GET [code]

Ups! Ein Fehler ist aufgetreten!

Die nachfolgenden Hinweise sollten Ihnen weiterhelfen.

Unable to load template snippet ‘backend/index/view/widgets/desktop.js’ in ‘snippet:string:{include file=“backend/index/model/widget.js”} {include file=“backend/index/model/turnover.js”} {include file=“backend/index/model/batch.js”} {include file=“backend/index/model/customers.js”} {include file=“backend/index/model/visitors.js”} {include file=“backend/index/model/orders.js”} {include file=“backend/index/model/merchant.js”} {include file=“backend/index/model/merchant_mail.js”} {include file=“backend/index/view/main.js”} {include file=“backend/index/view/menu.js”} {include file=“backend/index/view/footer.js”} {include file=“backend/index/view/search.js”} {include file=“backend/index/view/widgets/desktop.js”} {include file=“backend/index/view/widgets/sales.js”} {include file=“backend/index/view/widgets/upload.js”} {include file=“backend/index/view/widgets/visitors.js”} {include file=“backend/index/view/widgets/orders.js”} {include file=“backend/index/view/widgets/notice.js”} {include file=“backend/index/view/widgets/merchant.js”} {include file=“backend/index/view/widgets/base.js”} {include file=“backend/index/view/merchant/window.js”} {include file=“backend/index/controller/main.js”} {include file=“backend/index/controller/widgets.js”} {include file=“backend/index/controller/error_reporter.js”}|backend/index/view/swag_update_menu.js’ in Smarty/sysplugins/smarty_internal_templatebase.php on line 127

Stack trace:

#0 Smarty/sysplugins/smarty\_internal\_template.php(286): Smarty\_Internal\_TemplateBase-\>fetch(NULL, NULL, NULL, NULL, false, false, true) #1 cache/templates/backend\_de\_DE\_78449/c6/f7/97/c6f7971c322a54708f023f73d40ae30ebc005202.snippet.swag\_update\_menu.js.php(52): Smarty\_Internal\_Template-\>getSubTemplate('backend/index/v...', NULL, 'backend\_de\_DE\_7...', NULL, NULL, Array, 0) #2 Smarty/sysplugins/smarty\_internal\_templatebase.php(180): content\_53b67d1d029425\_71657189(Object(Enlight\_Template\_Default)) #3 Enlight/View/Default.php(273): Smarty\_Internal\_TemplateBase-\>fetch() #4 Enlight/Controller/Plugins/ViewRenderer/Bootstrap.php(212): Enlight\_View\_Default-\>render(Object(Enlight\_Template\_Default)) #5 Enlight/Controller/Plugins/ViewRenderer/Bootstrap.php(238): Enlight\_Controller\_Plugins\_ViewRenderer\_Bootstrap-\>renderTemplate(Object(Enlight\_Template\_Default)) #6 Enlight/Controller/Plugins/ViewRenderer/Bootstrap.php(136): Enlight\_Controller\_Plugins\_ViewRenderer\_Bootstrap-\>render() #7 [internal function]: Enlight\_Controller\_Plugins\_ViewRenderer\_Bootstrap-\>onPostDispatch(Object(Enlight\_Controller\_ActionEventArgs)) #8 Enlight/Event/Handler/Default.php(91): call\_user\_func(Array, Object(Enlight\_Controller\_ActionEventArgs)) #9 Enlight/Event/EventManager.php(211): Enlight\_Event\_Handler\_Default-\>execute(Object(Enlight\_Controller\_ActionEventArgs)) #10 Enlight/Controller/Action.php(202): Enlight\_Event\_EventManager-\>notify('Enlight\_Control...', Object(Enlight\_Controller\_ActionEventArgs)) #11 Enlight/Controller/Dispatcher/Default.php(528): Enlight\_Controller\_Action-\>dispatch('loadAction') #12 Enlight/Controller/Front.php(228): Enlight\_Controller\_Dispatcher\_Default-\>dispatch(Object(Enlight\_Controller\_Request\_RequestHttp), Object(Enlight\_Controller\_Response\_ResponseHttp)) #13 Shopware/Kernel.php(141): Enlight\_Controller\_Front-\>dispatch() #14 vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/HttpCache.php(472): Shopware\Kernel-\>handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #15 Shopware/Components/HttpCache/AppCache.php(256): Symfony\Component\HttpKernel\HttpCache\HttpCache-\>forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL) #16 vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/HttpCache.php(243): Shopware\Components\HttpCache\AppCache-\>forward(Object(Symfony\Component\HttpFoundation\Request), true) #17 Shopware/Components/HttpCache/AppCache.php(102): Symfony\Component\HttpKernel\HttpCache\HttpCache-\>pass(Object(Symfony\Component\HttpFoundation\Request), true) #18 shopware.php(109): Shopware\Components\HttpCache\AppCache-\>handle(Object(Symfony\Component\HttpFoundation\Request)) #19 {main}

 
[/code]

Willkommen im Club. :frowning: Cache löschen hat leider auch nichts gebracht.

Es fehlt also eine Datei, die Desktop.js Diese lag mal unter /template/_default/backend/index/view/widgets/desktop.js Ok… warum diese nun in der Cleanup.php gelöscht wird, weiß ich nicht. Da müsste Shopware die Information geben. Jedoch wenn man diese wieder in das Verzeichnis legt, klappt es sich wieder einzuloggen: Es geht aber dann später weiter, das wieder js Dateien fehlen. z.b. [code]

Unable to load template snippet ‘backend/config/store/form/widget.js’ in Smarty/sysplugins/smarty_internal_templatebase.php on line 127

[/code] Eine Datei erstellen desktop.js Mit dem Inhalt : /\*\* \* Shopware 4.0 \* Copyright © 2012 shopware AG \* \* According to our dual licensing model, this program can be used either \* under the terms of the GNU Affero General Public License, version 3, \* or under a proprietary license. \* \* The texts of the GNU Affero General Public License with an additional \* permission and of our proprietary license can be found at and \* in the LICENSE file you have received along with this program. \* \* This program is distributed in the hope that it will be useful, \* but WITHOUT ANY WARRANTY; without even the implied warranty of \* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the \* GNU Affero General Public License for more details. \* \* "Shopware" is a registered trademark of shopware AG. \* The licensing of the program under the AGPLv3 does not imply a \* trademark license. Therefore any rights, title and interest in \* our trademarks remain entirely with us. \* \* @category Shopware \* @package Index \* @subpackage View \* @copyright Copyright (c) 2012, shopware AG (http://www.shopware.de) \* @version $Id$ \* @author shopware AG \*/ /\*\* \* Shopware UI - Widgets Desktop Container \* \* This file holds off the widgets container where \* all widgets are included. \*/ Ext.define('Shopware.apps.Index.view.widgets.Desktop', { extend: 'Ext.container.Container', alias: 'widget.widgets-container', margin: 10, cls: Ext.baseCSSPrefix + 'widget-container', /\*\* \* Collection which holds off all widget container columns. \* @default null \* @Ext.util.MixedCollection \*/ containerCollection: null, /\*\* \* Default layout for the widget desktop. \* @object \*/ layout: { type: 'hbox', pack: 'start', align: 'stretch' }, /\*\* \* Component class name for the widget holder containers. \* @string \*/ containerComponent: 'Ext.container.Container', /\*\* \* Initializes the component and adds all necessary icons. \* \* @public \* @return void \*/ initComponent: function() { var me = this, j = me.widgetStore.getCount(); me.items = []; me.containerCollection = Ext.create('Ext.util.MixedCollection'); // Create the container first... for(var i = 0; i \< me.columnCount; i++) { me.items.push(me.createWidgetContainer(i)); } me.addEvents( 'savePosition' ); //... render the component me.callParent(arguments); // ... and create the widgets while(j--) { var data = me.widgetStore.getAt(j); me.createWidget(data); } }, /\*\* \* Helper method which renders the widget holder containers. \* \* @public \* @return void \*/ createWidgetContainer: function(column) { var me = this, container, defaults = { flex: 1, // We want same sized columns, so we could use flex padding: '10', cls: Ext.baseCSSPrefix + 'widget-column-container', columnId: column, listeners: { render: me.createContainerDropZone, scope: me } }; container = Ext.create(me.containerComponent, defaults); me.containerCollection.add(container); return container; }, /\*\* \* Creates the user widgets based on the \* passed data object. \* \* @public \* @param [object] data - widget data \*/ createWidget: function(data) { var me = this, view = data.getViewData(), name = data.get('name'), config, widget, holder; config = view || {}; if(!name) { return false; } // Bind stores config.turnoverStore = me.turnoverStore; config.visitorsStore = me.visitorsStore; config.ordersStore = me.ordersStore; config.merchantStore = me.merchantStore; config.subApplication = me.subApplication; if(config && !Ext.isEmpty(config)) { config = me.refactorWidgetConfiguration(config); holder = me.containerCollection.getAt(config.position.columnId); // If we're having no container for the column, get the last one from the container collection if(!holder) { holder = me.containerCollection.getAt(me.containerCollection.getCount() - 1); } } widget = Ext.widget(name, config); holder.insert(config.position.rowId, widget); return [widget, holder]; }, /\*\* \* Initialzes the drop zone to allow dropping widgets \* into the container. \* \* @public \* @param [object] container - Ext.container.Container \* @return void \*/ createContainerDropZone: function(container) { var me = this, dropProxyEl; dropProxyEl = Ext.create('Ext.Component', { cls: Ext.baseCSSPrefix + 'widget-proxy-element', hidden: true }); container.add(dropProxyEl); container.dropZone = Ext.create('Ext.dd.DropZone', container.getEl(), { ddGroup: 'widget-container', getTargetFromEvent: function() { return container; }, onNodeEnter: function(target, dd) { var pnl = dd.panel, height = pnl.height; target.addCls(Ext.baseCSSPrefix + 'widget-droppable'); // Always move the drop proxy element to the end of the container target.move(target.items.indexOf(dropProxyEl), target.items.getCount() - 1); dropProxyEl.show(); dropProxyEl.addCls('active'); dropProxyEl.setHeight(height); }, onNodeOut: function(target) { target.removeCls(Ext.baseCSSPrefix + 'widget-droppable'); dropProxyEl.removeCls('active'); dropProxyEl.hide(); }, onNodeOver: function() { return Ext.dd.DropZone.prototype.dropAllowed; }, onNodeDrop: function(target, dd, e, data) { try { var droppedPanel = dd.panel, panel = droppedPanel.cloneConfig(); target.removeCls(Ext.baseCSSPrefix + 'widget-droppable'); target.add(panel); // We need to timeout the panel destroying due ExtJS needs the dragged element on drop window.setTimeout(function() { droppedPanel.destroy(); }, 2); } catch(err) { } // Get new position var newColumn = me.containerCollection.getAt(target.columnId), newRow = newColumn.items.getCount() - 2; panel.position.rowId = newRow; // Fire event which saves the new position me.fireEvent('savePosition', target.columnId, newRow, panel.widgetId, panel.authId, panel.$initialId); return true; } }); }, /\*\* \* Helper method which refactors the widget configuration. \* \* @private \* @param [object] config \*/ refactorWidgetConfiguration: function(config) { config.title = config.label || ''; config.height = 220; config.margin = '0 0 20'; config.$initialId = config.id; config.position = { columnId: config.column, rowId: config.position }; config.draggable = { ddGroup: 'widget-container' }; config.widgetId = config.id; delete config.label; delete config.id; return config; } }); und das Backend funktioniert wieder.

[quote=“kadis”]Es fehlt also eine Datei, die Desktop.js Diese lag mal unter /template/_default/backend/index/view/widgets/desktop.js Ok… warum diese nun in der Cleanup.php gelöscht wird, weiß ich nicht. Da müsste Shopware die Information geben. Jedoch wenn man diese wieder in das Verzeichnis legt, klappt es sich wieder einzuloggen: Es geht aber dann später weiter, das wieder js Dateien fehlen. z.b. [code]

Unable to load template snippet ‘backend/config/store/form/widget.js’ in Smarty/sysplugins/smarty_internal_templatebase.php on line 127

[/code] Eine Datei erstellen desktop.js Mit dem Inhalt : /\*\* \* Shopware 4.0 \* Copyright © 2012 shopware AG \* \* According to our dual licensing model, this program can be used either \* under the terms of the GNU Affero General Public License, version 3, \* or under a proprietary license. \* \* The texts of the GNU Affero General Public License with an additional \* permission and of our proprietary license can be found at and \* in the LICENSE file you have received along with this program. \* \* This program is distributed in the hope that it will be useful, \* but WITHOUT ANY WARRANTY; without even the implied warranty of \* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the \* GNU Affero General Public License for more details. \* \* "Shopware" is a registered trademark of shopware AG. \* The licensing of the program under the AGPLv3 does not imply a \* trademark license. Therefore any rights, title and interest in \* our trademarks remain entirely with us. \* \* @category Shopware \* @package Index \* @subpackage View \* @copyright Copyright (c) 2012, shopware AG (http://www.shopware.de) \* @version $Id$ \* @author shopware AG \*/ /\*\* \* Shopware UI - Widgets Desktop Container \* \* This file holds off the widgets container where \* all widgets are included. \*/ Ext.define('Shopware.apps.Index.view.widgets.Desktop', { extend: 'Ext.container.Container', alias: 'widget.widgets-container', margin: 10, cls: Ext.baseCSSPrefix + 'widget-container', /\*\* \* Collection which holds off all widget container columns. \* @default null \* @Ext.util.MixedCollection \*/ containerCollection: null, /\*\* \* Default layout for the widget desktop. \* @object \*/ layout: { type: 'hbox', pack: 'start', align: 'stretch' }, /\*\* \* Component class name for the widget holder containers. \* @string \*/ containerComponent: 'Ext.container.Container', /\*\* \* Initializes the component and adds all necessary icons. \* \* @public \* @return void \*/ initComponent: function() { var me = this, j = me.widgetStore.getCount(); me.items = []; me.containerCollection = Ext.create('Ext.util.MixedCollection'); // Create the container first... for(var i = 0; i \< me.columnCount; i++) { me.items.push(me.createWidgetContainer(i)); } me.addEvents( 'savePosition' ); //... render the component me.callParent(arguments); // ... and create the widgets while(j--) { var data = me.widgetStore.getAt(j); me.createWidget(data); } }, /\*\* \* Helper method which renders the widget holder containers. \* \* @public \* @return void \*/ createWidgetContainer: function(column) { var me = this, container, defaults = { flex: 1, // We want same sized columns, so we could use flex padding: '10', cls: Ext.baseCSSPrefix + 'widget-column-container', columnId: column, listeners: { render: me.createContainerDropZone, scope: me } }; container = Ext.create(me.containerComponent, defaults); me.containerCollection.add(container); return container; }, /\*\* \* Creates the user widgets based on the \* passed data object. \* \* @public \* @param [object] data - widget data \*/ createWidget: function(data) { var me = this, view = data.getViewData(), name = data.get('name'), config, widget, holder; config = view || {}; if(!name) { return false; } // Bind stores config.turnoverStore = me.turnoverStore; config.visitorsStore = me.visitorsStore; config.ordersStore = me.ordersStore; config.merchantStore = me.merchantStore; config.subApplication = me.subApplication; if(config && !Ext.isEmpty(config)) { config = me.refactorWidgetConfiguration(config); holder = me.containerCollection.getAt(config.position.columnId); // If we're having no container for the column, get the last one from the container collection if(!holder) { holder = me.containerCollection.getAt(me.containerCollection.getCount() - 1); } } widget = Ext.widget(name, config); holder.insert(config.position.rowId, widget); return [widget, holder]; }, /\*\* \* Initialzes the drop zone to allow dropping widgets \* into the container. \* \* @public \* @param [object] container - Ext.container.Container \* @return void \*/ createContainerDropZone: function(container) { var me = this, dropProxyEl; dropProxyEl = Ext.create('Ext.Component', { cls: Ext.baseCSSPrefix + 'widget-proxy-element', hidden: true }); container.add(dropProxyEl); container.dropZone = Ext.create('Ext.dd.DropZone', container.getEl(), { ddGroup: 'widget-container', getTargetFromEvent: function() { return container; }, onNodeEnter: function(target, dd) { var pnl = dd.panel, height = pnl.height; target.addCls(Ext.baseCSSPrefix + 'widget-droppable'); // Always move the drop proxy element to the end of the container target.move(target.items.indexOf(dropProxyEl), target.items.getCount() - 1); dropProxyEl.show(); dropProxyEl.addCls('active'); dropProxyEl.setHeight(height); }, onNodeOut: function(target) { target.removeCls(Ext.baseCSSPrefix + 'widget-droppable'); dropProxyEl.removeCls('active'); dropProxyEl.hide(); }, onNodeOver: function() { return Ext.dd.DropZone.prototype.dropAllowed; }, onNodeDrop: function(target, dd, e, data) { try { var droppedPanel = dd.panel, panel = droppedPanel.cloneConfig(); target.removeCls(Ext.baseCSSPrefix + 'widget-droppable'); target.add(panel); // We need to timeout the panel destroying due ExtJS needs the dragged element on drop window.setTimeout(function() { droppedPanel.destroy(); }, 2); } catch(err) { } // Get new position var newColumn = me.containerCollection.getAt(target.columnId), newRow = newColumn.items.getCount() - 2; panel.position.rowId = newRow; // Fire event which saves the new position me.fireEvent('savePosition', target.columnId, newRow, panel.widgetId, panel.authId, panel.$initialId); return true; } }); }, /\*\* \* Helper method which refactors the widget configuration. \* \* @private \* @param [object] config \*/ refactorWidgetConfiguration: function(config) { config.title = config.label || ''; config.height = 220; config.margin = '0 0 20'; config.$initialId = config.id; config.position = { columnId: config.column, rowId: config.position }; config.draggable = { ddGroup: 'widget-container' }; config.widgetId = config.id; delete config.label; delete config.id; return config; } }); und das Backend funktioniert wieder.[/quote] Hi, hatte den gleichen Fehler, der Hinweis hat bei mir aber nichts genützt. Ich bekomme immer noch: [code]

Ups! Ein Fehler ist aufgetreten!

Die nachfolgenden Hinweise sollten Ihnen weiterhelfen.

Unable to load template snippet ‘string:{include file=“backend/index/model/widget.js”} {include file=“backend/index/model/widget_settings.js”} {include file=“backend/index/model/turnover.js”} {include file=“backend/index/model/batch.js”} {include file=“backend/index/model/customers.js”} {include file=“backend/index/model/visitors.js”} {include file=“backend/index/model/orders.js”} {include file=“backend/index/model/merchant.js”} {include file=“backend/index/model/merchant_mail.js”} {include file=“backend/index/view/main.js”} {include file=“backend/index/view/menu.js”} {include file=“backend/index/view/footer.js”} {include file=“backend/index/view/search.js”} {include file=“backend/index/view/widgets/window.js”} {include file=“backend/index/view/widgets/sales.js”} {include file=“backend/index/view/widgets/upload.js”} {include file=“backend/index/view/widgets/visitors.js”} {include file=“backend/index/view/widgets/orders.js”} {include file=“backend/index/view/widgets/notice.js”} {include file=“backend/index/view/widgets/merchant.js”} {include file=“backend/index/view/widgets/base.js”} {include file=“backend/index/view/merchant/window.js”} {include file=“backend/index/store/widget.js”} {include file=“backend/index/store/widget_settings.js”} {include file=“backend/index/controller/main.js”} {include file=“backend/index/controller/widgets.js”} {include file=“backend/index/controller/error_reporter.js”}|backend/index/license.tpl|backend/index/view/swag_update_menu.js’ in Smarty/sysplugins/smarty_internal_templatebase.php on line 127

Stack trace:

#0 Enlight/View/Default.php(273): Smarty\_Internal\_TemplateBase-\>fetch() #1 Enlight/Controller/Plugins/ViewRenderer/Bootstrap.php(212): Enlight\_View\_Default-\>render(Object(Enlight\_Template\_Default)) #2 Enlight/Controller/Plugins/ViewRenderer/Bootstrap.php(238): Enlight\_Controller\_Plugins\_ViewRenderer\_Bootstrap-\>renderTemplate(Object(Enlight\_Template\_Default)) #3 Enlight/Controller/Plugins/ViewRenderer/Bootstrap.php(136): Enlight\_Controller\_Plugins\_ViewRenderer\_Bootstrap-\>render() #4 [internal function]: Enlight\_Controller\_Plugins\_ViewRenderer\_Bootstrap-\>onPostDispatch(Object(Enlight\_Controller\_ActionEventArgs)) #5 Enlight/Event/Handler/Default.php(91): call\_user\_func(Array, Object(Enlight\_Controller\_ActionEventArgs)) #6 Enlight/Event/EventManager.php(211): Enlight\_Event\_Handler\_Default-\>execute(Object(Enlight\_Controller\_ActionEventArgs)) #7 Enlight/Controller/Action.php(202): Enlight\_Event\_EventManager-\>notify('Enlight\_Control...', Object(Enlight\_Controller\_ActionEventArgs)) #8 Enlight/Controller/Dispatcher/Default.php(528): Enlight\_Controller\_Action-\>dispatch('loadAction') #9 Enlight/Controller/Front.php(228): Enlight\_Controller\_Dispatcher\_Default-\>dispatch(Object(Enlight\_Controller\_Request\_RequestHttp), Object(Enlight\_Controller\_Response\_ResponseHttp)) #10 Shopware/Kernel.php(141): Enlight\_Controller\_Front-\>dispatch() #11 vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/HttpCache.php(472): Shopware\Kernel-\>handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #12 Shopware/Components/HttpCache/AppCache.php(256): Symfony\Component\HttpKernel\HttpCache\HttpCache-\>forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL) #13 vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/HttpCache.php(243): Shopware\Components\HttpCache\AppCache-\>forward(Object(Symfony\Component\HttpFoundation\Request), true) #14 Shopware/Components/HttpCache/AppCache.php(102): Symfony\Component\HttpKernel\HttpCache\HttpCache-\>pass(Object(Symfony\Component\HttpFoundation\Request), true) #15 shopware.php(109): Shopware\Components\HttpCache\AppCache-\>handle(Object(Symfony\Component\HttpFoundation\Request)) #16 {main}

 
[/code]

Hy, Template Ordner mit kopieren. Falls geänderte Dateien vorhanden sind, diese vorab sichern und später drüber kopieren oder die Änderungen manuell wieder einspielen. Dann klappt es.

1 „Gefällt mir“

Guten Abend und vielen Dank für die Hilfe den ersten Fehler hat es mir ebenfalls direkt korregiert. desktop.js war zuvor vorhanden… dann der cleanup… vermutlich wurde auch eine bzgl. der Widgets gelöscht denn ich habe nun das Problem (neuste Version 4.3.2 erst heute von 4.2.3 update erstellt) das ich zu den Einstellungen möchte und er mir folgendes ausspuckt: Fehlerinformationen Modul: Shopware.apps.Config Pfad der Anforderung: /shop/backend/Config/load/ HTTP Statuscode: 503 / GET Klassenname:Shopware.apps.Config.store.form.Widgets Pfad: store/form/Widget Typ: Store Soweit funktioniert das Backend nur habe ich direkt bemerkt das meine Widgets nicht angezeigt werden. Also erstmal in den Einstellungen suchen und dann taucht der Fehler auch schon auf. Alles andere funktioniert nach ersten Tests… zumindest das aufrufen und paar kleine Änderungen gehe also auch davon aus das wieder eine Datei fehlt nur weis ich nicht welche… :wtf: Ggf. hat jemand das selbe Problem. Das mit den “Templates kopieren” letzer Beitrag habe ich leider nicht verstanden. desktop.js habe ich auch wie erwähnt anlegen müssen. Sollte ich eine Lösung finden, wird Sie eingetragen.