craftcms / commerce

Fully integrated ecommerce for Craft CMS.
https://craftcms.com/commerce
Other
215 stars 169 forks source link

[5.x]: Unsupported operand types: craft\commerce\elements\Product - string #3508

Closed TheFunkyMonk closed 1 month ago

TheFunkyMonk commented 1 month ago

What happened?

Description

When attempting to create a variant for a new product in a specific product type, I'm unable to do so and getting the following error:

2024-05-21 11:36:50 [web.ERROR] [TypeError] TypeError: Unsupported operand types: craft\commerce\elements\Product - string in /var/www/html/storage/runtime/compiled_templates/27/27abf1cc0c1e5d19075c688f181c8400.php:39
Stack trace:
#0 /var/www/html/vendor/twig/twig/src/Template.php(394): __TwigTemplate_de76e86c52e9ae39f3d41c04a1748c36->doDisplay(Array, Array)
#1 /var/www/html/vendor/twig/twig/src/Template.php(367): Twig\Template->displayWithErrorHandling(Array, Array)
#2 /var/www/html/vendor/twig/twig/src/Template.php(379): Twig\Template->display(Array)
#3 /var/www/html/vendor/twig/twig/src/TemplateWrapper.php(38): Twig\Template->render(Array)
#4 /var/www/html/vendor/craftcms/cms/src/web/View.php(665): Twig\TemplateWrapper->render(Array)
#5 /var/www/html/vendor/craftcms/commerce/src/elements/Variant.php(586): craft\web\View->renderObjectTemplate('{{ (_variables....', Object(craft\commerce\elements\Variant))
#6 /var/www/html/vendor/craftcms/commerce/src/elements/Variant.php(975): craft\commerce\elements\Variant->updateSku(Object(craft\commerce\elements\Product))
#7 /var/www/html/vendor/craftcms/cms/src/services/Elements.php(3429): craft\commerce\elements\Variant->beforeSave(true)
#8 /var/www/html/vendor/craftcms/cms/src/services/Elements.php(1250): craft\services\Elements->_saveElementInternal(Object(craft\commerce\elements\Variant), true, false, NULL, NULL, false, false, true)
#9 /var/www/html/vendor/craftcms/cms/src/services/Drafts.php(259): craft\services\Elements->saveElement(Object(craft\commerce\elements\Variant))
#10 /var/www/html/vendor/craftcms/cms/src/controllers/ElementsController.php(199): craft\services\Drafts->saveElementAsDraft(Object(craft\commerce\elements\Variant), 1, 'First draft', NULL, false)
#11 [internal function]: craft\controllers\ElementsController->actionCreate()
#12 /var/www/html/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array(Array, Array)
#13 /var/www/html/vendor/yiisoft/yii2/base/Controller.php(178): yii\base\InlineAction->runWithParams(Array)
#14 /var/www/html/vendor/yiisoft/yii2/base/Module.php(552): yii\base\Controller->runAction('create', Array)
#15 /var/www/html/vendor/craftcms/cms/src/web/Application.php(349): yii\base\Module->runAction('elements/create', Array)
#16 /var/www/html/vendor/craftcms/cms/src/web/Application.php(650): craft\web\Application->runAction('elements/create', Array)
#17 /var/www/html/vendor/craftcms/cms/src/web/Application.php(311): craft\web\Application->_processActionRequest(Object(craft\web\Request))
#18 /var/www/html/vendor/yiisoft/yii2/base/Application.php(384): craft\web\Application->handleRequest(Object(craft\web\Request))
#19 /var/www/html/web/index.php(12): yii\base\Application->run()
#20 {main} {"memory":5339088,"exception":"[object] (TypeError(code: 0): Unsupported operand types: craft\\commerce\\elements\\Product - string at /var/www/html/storage/runtime/compiled_templates/27/27abf1cc0c1e5d19075c688f181c8400.php:39)"} 

It only seems to be happening for a specific product type, which I believe is configured the same as the others, so I unfortunately can't provide generic repro steps. I will email a DB backup/composer files to support@craftcms.com with repro instructions.

Craft CMS version

5.1.4

Craft Commerce version

5.0.6

PHP version

8.2.19

Operating system and version

Linux 6.5.0-15-generic

Database type and version

MySQL 8.0.33

Image driver and version

Imagick 3.7.0 (ImageMagick 6.9.11-60)

Installed plugins and versions

CKEditor 4.0.6 Colour Swatches 5.0.0 Control Panel CSS 3.0.0 Craft Commerce 5.0.6 Default Dashboard 3.0.0 Field Manager 4.0.0 Guide 4.0.0-beta.1 ImageOptimize 5.0.1 Image Resizer 4.0.0 Neo 5.0.0-beta.10 PayPal Checkout for Craft Commerce 3.0.0 Redirects 5.0.0 Retcon 3.0.0 SEO 5.0.3 Servd Assets and Helpers 4.0.3 Sprig 3.0.1 Stripe for Craft Commerce 5.0.1

linear[bot] commented 1 month ago

PT-1746 [5.x]: Unsupported operand types: craft\commerce\elements\Product - string

nfourtythree commented 1 month ago

Hi @TheFunkyMonk

Thank you for sending your data across.

We were able to determine that this was an issue with data in the project rather than a bug in Commerce and have resolved this via support.

Thanks!