Gitter got replaced by Slack. Please use following invite link https://slack.shopware.com to rejoin the awesome Shopware community! https://www.shopware.com/en/news/an-introduction-to-the-shopware-community-slack/
shopwareBot on 5.7
SW-25886 - Add a return value f… Merge branch 'sw-25886/5.7/add-… (compare)
Holy shit, this was an annoying bug to find:
So, the other day I asked if anyone ever had similar problems like me: having 12k+ articles and suddenly new keywords not being added to the search index.
After an annoyingly long debugging session, I now know why new words weren't added to the index anymore.
Turns out, the s_search_keywords
table is "updated" with loooooots of INSERT IGNORE
s (about 150k per index refresh in our case).
Fun fact: INSERT IGNORE
increases the AUTO_INCREMENT
counter.
Another fun fact: s_search_keywords.id
is unsigned int(11)
- but the column s_search_index.keywordId
which references this column is a SIGNED int(11)
.
Result: the index refreshing job is trying to add $newword to both tables, but silently fails because it can't reference the ID 4240317481 with only a signed int(11)
$container->addCompilerPass(new EventListenerCompilerPass(), PassConfig::TYPE_BEFORE_REMOVING);
$container->addCompilerPass(new EventSubscriberCompilerPass(), PassConfig::TYPE_BEFORE_REMOVING);
$container->addCompilerPass(new DoctrineEventSubscriberCompilerPass());
$container->addCompilerPass(new FormPass());
$container->addCompilerPass(new AddConstraintValidatorsPass());
$container->addCompilerPass(new StaticResourcesCompilerPass());
$container->addCompilerPass(new AddConsoleCommandPass());
$container->addCompilerPass(new MatcherCompilerPass());
$container->addCompilerPass(new LegacyApiResourcesPass());
$container->addCompilerPass(new ConfigureApiResourcesPass(), PassConfig::TYPE_OPTIMIZE, -500);
$container->addCompilerPass(new RegisterFieldsCompilerPass(), PassConfig::TYPE_BEFORE_OPTIMIZATION, 500);
$container->addCompilerPass(new RegisterDynamicController());
$container->addCompilerPass(new RegisterTypeRepositories());
$container->addCompilerPass(new ControllerCompilerPass());
$container->addCompilerPass(new RegisterControllerArgumentLocatorsPass('argument_resolver.service', 'shopware.controller'));
$container->addCompilerPass(new VersionCompilerPass());
How can I add a compiler pass without having to touch Kernel.php
[27-Jan-2020 09:43:54 Europe/Berlin] PHP Fatal error: Uncaught Error: Call to a member function getCoverId() on null in /home/memodev/kabeldirect.memodev.nu/engine/Shopware/Bundle/StoreFrontBundle/Service/Core/ListProductService.php:242
Hello,
I got a question about custom plugins. Lets say I want to install this plugin into my shopware appliaction:
https://github.com/elkmod/SwagVueStorefront
So I've done the installation process described in this link, but any of the files in git weren't added or changed. Which means if I push the project to remote repo and other developer will checkout it, he won't get the plugin I've installed. Could you explain me what's the idea behind this or how can I install this plugin in the proper way to allow my other team members to get this plugin in their instance of the project?
Hi together.
i made some testplugin for SW5 inside the docker container from shopwarelabs: https://github.com/shopwareLabs/shopware-docker. Installed Shopware 5.6 branch from github inside.
plugin works. all is fine. the only thing is: if i install the plugin packaged as a zip (like in the documentation: the folder of the plugin wrapped inside the zip) the plugin will be uploaded and shopware says the uploade was a success, but the plugin does not show up in the plugin manager. i compared the zip with example plugins from the shopware tutorial pages and did not recognize any differences, but the example plugins do work...
does maybe anyone know some problems that can occure even if all seems fine?
heres the plugin as a zip: https://github.com/daMichl/swplugin-mista-test-plugin/releases/tag/a778e05
The contact and product question form is not working. We are getting an exception. Usually it was solved by creating a new form. However, it worked, but not again. So we stuck with broken forms. Here's the exception:
[2020-01-27 17:14:01] core.ERROR: Doctrine\ORM\ORMInvalidArgumentException: A new entity was found through the relationship 'Shopware\Models\Form\Field#form' that was not configured to cascade persist operations for entity: Shopware\Models\Form\Form@0000000063c8d4be0000000026eed938. To solve this issue: Either explicitly call EntityManager#persist() on this unknown entity or configure cascade persist this association in the mapping for example @ManyToOne(..,cascade={"persist"}). If you cannot find out which entity causes the problem implement 'Shopware\Models\Form\Form#__toString()' to get a clue.
in /var/www/vhosts/example.com/httpdocs/vendor/doctrine/orm/lib/Doctrine/ORM/ORMInvalidArgumentException.php:102 Stack trace:
#0 /var/www/vhosts/example.com/httpdocs/vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php(3443): Doctrine\ORM\ORMInvalidArgumentException::newEntitiesFoundThroughRelationships(Array)
#1 /var/www/vhosts/example.com/httpdocs/vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php(362): Doctrine\ORM\UnitOfWork->assertThatThereAreNoUnintentionallyNonPersistedAssociations()
#2 /var/www/vhosts/example.com/httpdocs/vendor/doctrine/orm/lib/Doctrine/ORM/EntityManager.php(359): Doctrine\ORM\UnitOfWork->commit(NULL)
#3 /var/www/vhosts/example.com/httpdocs/engine/Shopware/Bundle/MailBundle/Service/LogEntryBuilder.php(267): Doctrine\ORM\EntityManager->flush()
#4 /var/www/vhosts/example.com/httpdocs/engine/Shopware/Bundle/MailBundle/Service/LogEntryBuilder.php(240): Shopware\Bundle\MailBundle\Service\LogEntryBuilder->persistContact(Object(Shopware\Models\Mail\Contact))
#5 /var/www/vhosts/example.com/httpdocs/engine/Shopware/Bundle/MailBundle/Service/LogEntryBuilder.php(93): Shopware\Bundle\MailBundle\Service\LogEntryBuilder->assignRecipients(Object(Shopware\Models\Mail\Log), Array)
#6 /var/www/vhosts/example.com/httpdocs/engine/Shopware/Bundle/MailBundle/Service/LogService.php(79): Shopware\Bundle\MailBundle\Service\LogEntryBuilder->build(Object(Enlight_Components_Mail))
#7 /var/www/vhosts/example.com/httpdocs/engine/Shopware/Bundle/MailBundle/DependencyInjection/EventListener/MailSubscriber.php(64): Shopware\Bundle\MailBundle\Service\LogService->log(Object(Enlight_Components_Mail))
#8 /var/www/vhosts/example.com/httpdocs/engine/Library/Enlight/Event/Handler/Default.php(87): Shopware\Bundle\MailBundle\DependencyInjection\EventListener\MailSubscriber->onSendMail(Object(Enlight_Event_EventArgs))
#9 /var/www/vhosts/example.com/httpdocs/engine/Library/Enlight/Event/EventManager.php(214): Enlight_Event_Handler_Default->execute(Object(Enlight_Event_EventArgs))
#10 /var/www/vhosts/example.com/httpdocs/engine/Library/Enlight/Components/Mail.php(386): Enlight_Event_EventManager->notify('Enlight_Compone...', Object(Enlight_Event_EventArgs))
#11 /var/www/vhosts/example.com/httpdocs/engine/Shopware/Controllers/Frontend/Forms.php(134): Enlight_Components_Mail->send()
#12 /var/www/vhosts/example.com/httpdocs/engine/Shopware/Controllers/Frontend/Forms.php(658): Shopware_Controllers_Frontend_Forms->commitForm()
#13 /var/www/vhosts/example.com/httpdocs/engine/Shopware/Controllers/Frontend/Forms.php(86): Shopware_Controllers_Frontend_Forms->handleFormPost('23')
#14 /var/www/vhosts/example.com/httpdocs/engine/Library/Enlight/Controller/Action.php(192): Shopware_Controllers_Frontend_Forms->indexAction()
#15 /var/www/vhosts/example.com/httpdocs/engine/Library/Enlight/Controller/Dispatcher/Default.php(478): Enlight_Controller_Action->dispatch('indexAction')
#16 /var/www/vhosts/example.com/httpdocs/engine/Library/Enlight/Controller/Front.php(228): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp))
(and much more, till #27)
Any help would be great. This is a bit urgent