danke dir, zonky.
dieser thread hier, ist schon mal sehr gut:
https://community.contao.org/de/show...ore-Funktionen
laut dem thread, sieht mein kleine erweiterung (hook basierend auf processFormData) nun so aus:
PHP-Code:
$userId = ($arrData['user']);
$vorname = ($arrData['vorname']);
$container = $GLOBALS['container']['metamodels-service-container'];
$factory = $container->getFactory();
$MMObject = $factory->byTableName('mm_metamodel');
// Neues Item Objekt erstellen
$ObjItem = new \MetaModels\Item($MMObject, array());
$ObjItem->set('user', $user);
$ObjItem->set('vorname', $vorname);
// Speichern
$ObjItem->save();
funktioniert auch, aber, 2 probleme:
1. alias wird nach wie vor nicht erstellt
2. "user" ist ein select-feld greift auf die mitglieder-table zu schreibt die ID ins MM. hier bekomme ich eine fehlermeldung:
Code:
Deprecated notice: MetaModels\Factory::byTableName is deprecated and will get removed. Use method MetaModels\Factory::getMetaModel() instead. in system/modules/metamodels/classes/src/MetaModels/Factory.php on line 188
#0 [internal function]: __error(16384, 'MetaModels\\Fact...', '/var/virtual/ha...', 188, Array)
#1 system/modules/metamodels/classes/src/MetaModels/Factory.php(188): trigger_error('MetaModels\\Fact...', 16384)
#2 system/modules/hfoxProcessFormData/hfoxProcessFormData.php(82): MetaModels\Factory::byTableName('mm_rezepte')
#3 system/modules/core/forms/Form.php(544): hfoxProcessFormData->hfoxProcess(Array, Array, Array, Array, Object(Contao\Form))
#4 system/modules/core/forms/Form.php(255): Contao\Form->processFormData(Array, Array, Array)
#5 system/modules/core/classes/Hybrid.php(239): Contao\Form->compile()
#6 system/modules/core/forms/Form.php(90): Contao\Hybrid->generate()
#7 system/modules/core/library/Contao/Controller.php(484): Contao\Form->generate()
#8 system/modules/core/modules/ModuleArticle.php(213): Contao\Controller::getContentElement(Object(Contao\ContentModel), 'main')
#9 system/modules/tags/modules/ModuleArticle.php(26): Contao\ModuleArticle->compile()
#10 system/modules/core/modules/Module.php(287): Aurealis\ModuleArticle->compile()
#11 system/modules/core/modules/ModuleArticle.php(67): Contao\Module->generate()
#12 system/modules/core/library/Contao/Controller.php(417): Contao\ModuleArticle->generate(false)
#13 system/modules/core/library/Contao/Controller.php(277): Contao\Controller::getArticle(Object(Contao\ArticleModel), false, false, 'main')
#14 system/modules/core/pages/PageRegular.php(133): Contao\Controller::getFrontendModule('0', 'main')
#15 system/modules/core/controllers/FrontendIndex.php(285): Contao\PageRegular->generate(Object(Contao\PageModel), true)
#16 index.php(20): Contao\FrontendIndex->run()
#17 {main}
Warning: Illegal string offset 'id' in system/modules/metamodelsattribute_select/classes/src/MetaModels/Attribute/Select/Select.php on line 325
#0 system/modules/metamodelsattribute_select/classes/src/MetaModels/Attribute/Select/Select.php(325): __error(2, 'Illegal string ...', '/var/virtual/ha...', 325, Array)
#1 system/modules/metamodels/classes/src/MetaModels/MetaModel.php(906): MetaModels\Attribute\Select\Select->setDataFor(Array)
#2 system/modules/metamodels/classes/src/MetaModels/MetaModel.php(944): MetaModels\MetaModel->saveAttribute(Object(MetaModels\Attribute\Select\Select), Array, '30', NULL)
#3 system/modules/metamodels/classes/src/MetaModels/MetaModel.php(1026): MetaModels\MetaModel->updateVariants(Object(MetaModels\Item), NULL, Array, true)
#4 system/modules/metamodels/classes/src/MetaModels/Item.php(323): MetaModels\MetaModel->saveItem(Object(MetaModels\Item))
#5 system/modules/hfoxProcessFormData/hfoxProcessFormData.php(107): MetaModels\Item->save()
#6 system/modules/core/forms/Form.php(544): hfoxProcessFormData->hfoxProcess(Array, Array, Array, Array, Object(Contao\Form))
#7 system/modules/core/forms/Form.php(255): Contao\Form->processFormData(Array, Array, Array)
#8 system/modules/core/classes/Hybrid.php(239): Contao\Form->compile()
#9 system/modules/core/forms/Form.php(90): Contao\Hybrid->generate()
#10 system/modules/core/library/Contao/Controller.php(484): Contao\Form->generate()
#11 system/modules/core/modules/ModuleArticle.php(213): Contao\Controller::getContentElement(Object(Contao\ContentModel), 'main')
#12 system/modules/tags/modules/ModuleArticle.php(26): Contao\ModuleArticle->compile()
#13 system/modules/core/modules/Module.php(287): Aurealis\ModuleArticle->compile()
#14 system/modules/core/modules/ModuleArticle.php(67): Contao\Module->generate()
#15 system/modules/core/library/Contao/Controller.php(417): Contao\ModuleArticle->generate(false)
#16 system/modules/core/library/Contao/Controller.php(277): Contao\Controller::getArticle(Object(Contao\ArticleModel), false, false, 'main')
#17 system/modules/core/pages/PageRegular.php(133): Contao\Controller::getFrontendModule('0', 'main')
#18 system/modules/core/controllers/FrontendIndex.php(285): Contao\PageRegular->generate(Object(Contao\PageModel), true)
#19 index.php(20): Contao\FrontendIndex->run()
#20 {main}
hast du ne idee, zonky?
Lesezeichen