Keine Farbänderung im Theme Manager / identifier id is missing TEMPLATE

Wir können keine Farben im Theme Manager für das Responsive Theme ändern. Es sind derzeit keine anderen Themes angelegt, außer natürlich dem Bare-Theme. Beim Versuch, Änderungen durchzuführen erhalten wir keine (Popup-) Fehlermeldung, sondern nur Fehler im System-Log. Der neu eingegebene Farbcode (z.B. für brand-primary) wird nicht übernommen.

Es werden insgesamt drei Fehlermeldungen erzeugt. Der Inhalt:

Zwei Mal: Kanal: Core, Level: Critical

Meldung: 

The identifier id is missing for a query of Shopware\Models\Shop\Template

und ein Mal: Kanal: Core, Level: Error

Meldung:

Doctrine\ORM\ORMException: The identifier id is missing for a query of Shopware\Models\Shop\Template in /vendor/doctrine/orm/lib/Doctrine/ORM/ORMException.php:294 Stack trace:
#0 /vendor/doctrine/orm/lib/Doctrine/ORM/EntityManager.php(403): Doctrine\ORM\ORMException::missingIdentifierField('Shopware\\Models...', 'id')
#1 /vendor/doctrine/orm/lib/Doctrine/ORM/EntityRepository.php(154): Doctrine\ORM\EntityManager->find('Shopware\\Models...', Array, NULL, NULL)
#2 /engine/Shopware/Controllers/Backend/Theme.php(224): Doctrine\ORM\EntityRepository->find(NULL)
#3 /engine/Shopware/Controllers/Backend/Application.php(262): Shopware_Controllers_Backend_Theme->save(Array)
#4 /engine/Library/Enlight/Controller/Action.php(193): Shopware_Controllers_Backend_Application->updateAction()
#5 /engine/Library/Enlight/Controller/Dispatcher/Default.php(548): Enlight_Controller_Action->dispatch('updateAction')
#6 /engine/Library/Enlight/Controller/Front.php(222): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp))
#7 /engine/Shopware/Kernel.php(202): Enlight_Controller_Front->dispatch()
#8 /vendor/symfony/http-kernel/HttpCache/SubRequestHandler.php(102): Shopware\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#9 /vendor/symfony/http-kernel/HttpCache/HttpCache.php(448): Symfony\Component\HttpKernel\HttpCache\SubRequestHandler::handle(Object(Shopware\Kernel), Object(Symfony\Component\HttpFoundation\Request), 1, true)
#10 /engine/Shopware/Components/HttpCache/AppCache.php(268): Symfony\Component\HttpKernel\HttpCache\HttpCache->forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL)
#11 /vendor/symfony/http-kernel/HttpCache/HttpCache.php(238): Shopware\Components\HttpCache\AppCache->forward(Object(Symfony\Component\HttpFoundation\Request), true)
#12 /engine/Shopware/Components/HttpCache/AppCache.php(105): Symfony\Component\HttpKernel\HttpCache\HttpCache->pass(Object(Symfony\Component\HttpFoundation\Request), true)
#13 /pfad/zum/shop/shopware.php(122): Shopware\Components\HttpCache\AppCache->handle(Object(Symfony\Component\HttpFoundation\Request))
#14 {main}

 

In der Datenbank direkt kann der Wert natürlich problemlos eingesetzt werden. Wie bekommen wir nun den richtigen Identifier wieder auf den Weg?

Besten Dank für eure Hilfe!

Das Problem scheint beim Hoster zu liegen. Das Problem tritt ebenfalls bei einer frischen Installation auf, auch bei „älteren“ Versionen als 5.5.2 (5.5 / 5.5.1). Wir haben Domainfactory als Hoster.

Bei einer Testinstallation auf einem Strato-Webspace gab es das Problem nicht.

Wir vermuten ein Dateirechte- oder php.ini-Problem.

Hat jemand eine Idee, an welcher Stelle wir ansetzen können?

Hat wirklich niemand einen Ansatz? Domainfactory konnte diesbezüglich leider nicht helfen…

Ok, ich weiß zwar nicht mehr, ob der Fehler hinzukam oder die ganze Zeit da war, aber ich habe diese Fehlermeldung

An exception occurred while executing 'INSERT INTO s_core_config_values (element_id, shop_id, value) VALUES ( (SELECT id FROM s_core_config_elements WHERE name LIKE 'trackingUniqueId' LIMIT 1), 1, ? )' with params

so lösen können:

https://forum.shopware.com/discussion/44225/db-fehler-in-update-plugin

Und das eigentliche Problem mit den Farbanpassungen im Theme-Manager betraf gleichzeitig den Upload über den Media Manager, welcher nicht funktionierte.

Die Lösung für Domainfactory-Kunden:

In der PHP.ini muss der Pfad für temporäre Dateien so angepasst werden, daß er im eigenen Webspace liegt, da der voreingestellte Domainfactory-Pfad nicht benutzt werden darf, also z.B.

  sys_temp_dir = „/kunden/08154711/pfad/zum/tmp“

Das war es bei mir.

Siehe auch https://www.df.eu/de/support/df-faq/webhosting/skriptsprachen/php/