When viewing the CP edit page for an entry type that is used by a matrix field and contains a product relations field, I'm getting an InvalidConfigException. The entry type was migrated from a Craft 4 matrix block and automatically configured to use the product relations field as a card attribute. Other entry types that do not use a product relations field as a card attribute do not encounter this exception. Stack trace for the exception:
yii\base\InvalidConfigException: Product is missing its product type ID in /var/www/html/vendor/craftcms/commerce/src/elements/Product.php:1088
Stack trace:
#0 /var/www/html/vendor/craftcms/commerce/src/elements/Product.php(1063): craft\commerce\elements\Product->getType()
#1 /var/www/html/vendor/craftcms/cms/src/base/Element.php(3564): craft\commerce\elements\Product->uiLabel()
#2 /var/www/html/vendor/craftcms/cms/src/helpers/Cp.php(434): craft\base\Element->getUiLabel()
#3 /var/www/html/vendor/craftcms/cms/src/fields/BaseRelationField.php(1069): craft\helpers\Cp::chipHtml(Object(craft\commerce\elements\Product))
#4 /var/www/html/vendor/craftcms/cms/src/models/FieldLayout.php(1295): craft\fields\BaseRelationField->previewPlaceholderHtml(NULL, NULL)
#5 /var/www/html/vendor/craftcms/cms/src/models/FieldLayout.php(1270): craft\models\FieldLayout->cardHtmlForLayoutElement('layoutElement:2...', NULL)
#6 /var/www/html/vendor/craftcms/cms/src/models/FieldLayout.php(1250): craft\models\FieldLayout->getCardBodyHtmlForElement('layoutElement:2...', NULL)
#7 /var/www/html/vendor/craftcms/cms/src/helpers/Cp.php(3082): craft\models\FieldLayout->getCardBodyElements()
#8 /var/www/html/vendor/craftcms/cms/src/helpers/Cp.php(2802): craft\helpers\Cp::cardPreviewHtml(Object(craft\models\FieldLayout), Array, true)
#9 /var/www/html/storage/runtime/compiled_templates/ea/ea6af40b21bce65a282970117250f360.php(47): craft\helpers\Cp::cardViewDesignerHtml(Object(craft\models\FieldLayout), Array)
#10 /var/www/html/vendor/twig/twig/src/Template.php(402): __TwigTemplate_a5699dc2b7e7c663a57efe72d50d579f->doDisplay(Array, Array)
#11 /var/www/html/storage/runtime/compiled_templates/13/133974758eb6bd7a45e1bf0624f42bc4.php(2165): Twig\Template->yield(Array)
#12 /var/www/html/vendor/twig/twig/src/Extension/CoreExtension.php(2106): __TwigTemplate_1ea9fa1b0e33dc109f81ee1cd16963db->{closure}()
#13 /var/www/html/storage/runtime/compiled_templates/13/133974758eb6bd7a45e1bf0624f42bc4.php(2130): Twig\Extension\CoreExtension::captureOutput(Object(Generator))
#14 /var/www/html/storage/runtime/compiled_templates/b7/b7b1f7b148484259c2d56b584c5f23da.php(219): __TwigTemplate_1ea9fa1b0e33dc109f81ee1cd16963db->macro_fieldLayoutDesignerField(Array)
#15 /var/www/html/vendor/twig/twig/src/Template.php(402): __TwigTemplate_027e98f212a23c1aa6007cffd4bc4e8c->doDisplay(Array, Array)
#16 /var/www/html/vendor/twig/twig/src/Template.php(358): Twig\Template->yield(Array, Array)
#17 /var/www/html/vendor/twig/twig/src/Template.php(373): Twig\Template->display(Array)
#18 /var/www/html/vendor/twig/twig/src/TemplateWrapper.php(51): Twig\Template->render(Array)
#19 /var/www/html/vendor/twig/twig/src/Environment.php(333): Twig\TemplateWrapper->render(Array)
#20 /var/www/html/vendor/craftcms/cms/src/web/View.php(590): Twig\Environment->render('settings/entry-...', Array)
#21 /var/www/html/vendor/craftcms/cms/src/web/CpScreenResponseBehavior.php(658): craft\web\View->renderTemplate('settings/entry-...', Array, 'cp')
#22 [internal function]: craft\web\CpScreenResponseBehavior->craft\web\{closure}()
#23 /var/www/html/vendor/craftcms/cms/src/web/CpScreenResponseFormatter.php(136): call_user_func(Object(Closure))
#24 /var/www/html/vendor/craftcms/cms/src/web/CpScreenResponseFormatter.php(50): craft\web\CpScreenResponseFormatter->_formatTemplate(Object(craft\web\Response), Object(craft\web\CpScreenResponseBehavior))
#25 /var/www/html/vendor/yiisoft/yii2/web/Response.php(1111): craft\web\CpScreenResponseFormatter->format(Object(craft\web\Response))
#26 /var/www/html/vendor/craftcms/cms/src/web/Response.php(358): yii\web\Response->prepare()
#27 /var/www/html/vendor/yiisoft/yii2/web/Response.php(339): craft\web\Response->prepare()
#28 /var/www/html/vendor/yiisoft/yii2/base/Application.php(397): yii\web\Response->send()
#29 /var/www/html/web/index.php(65): yii\base\Application->run()
#30 {main}
What happened?
Description
When viewing the CP edit page for an entry type that is used by a matrix field and contains a product relations field, I'm getting an
InvalidConfigException. The entry type was migrated from a Craft 4 matrix block and automatically configured to use the product relations field as a card attribute. Other entry types that do not use a product relations field as a card attribute do not encounter this exception. Stack trace for the exception:Craft CMS version
5.9.20
Craft Commerce version
5.6.2
PHP version
8.2.30
Operating system and version
Linux 6.12.76-linuxkit
Database type and version
PostgreSQL 14.20
Image driver and version
Imagick 3.8.1 (ImageMagick 7.1.1-43)
Installed plugins and versions
No response