craftcms / digital-products

Sell digital products with Craft Commerce.
https://plugins.craftcms.com/digital-products
MIT License
18 stars 9 forks source link

Live Preview Not Working #84

Closed levinelson closed 1 year ago

levinelson commented 1 year ago

Description

Upgraded to Craft 4 a month or so ago, and just realize Live Preview does not seem to work when editing Digital Products. Live Preview is working when editing other vanilla Craft entries.

Steps to reproduce

  1. Open a digital product entry page in CP
  2. Click "Live Preview"
  3. In the console, I see a Failed to load resource: the server responded with a status of 500 () for something like https://path-to-entry?token=-h7B4f57cIfo_IHiWnP6l54NGNYsept8.
  4. Going to that URL above also says Bad Request Post request required.

Additional info

levinelson commented 1 year ago

Contents of log that might be relevant:

2023-02-09 01:47:47 [web.ERROR] [TypeError] Cannot assign null to property craft\base\Element::$enabled of type bool
{
  "trace":[
    "#0 /srv/users/serverpilot/apps/happy-toolbox/vendor/craftcms/digital-products/src/controllers/ProductsController.php(244): craft\\digitalproducts\\controllers\\ProductsController->_buildProductFromPost()",
    "#1 [internal function]: craft\\digitalproducts\\controllers\\ProductsController->actionPreviewProduct()",
    "#2 /srv/users/serverpilot/apps/happy-toolbox/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array(Array, Array)",
    "#3 /srv/users/serverpilot/apps/happy-toolbox/vendor/yiisoft/yii2/base/Controller.php(178): yii\\base\\InlineAction->runWithParams(Array)",
    "#4 /srv/users/serverpilot/apps/happy-toolbox/vendor/yiisoft/yii2/base/Module.php(552): yii\\base\\Controller->runAction('preview-product', Array)",
    "#5 /srv/users/serverpilot/apps/happy-toolbox/vendor/craftcms/cms/src/web/Application.php(301): yii\\base\\Module->runAction('digital-product...', Array)",
    "#6 /srv/users/serverpilot/apps/happy-toolbox/vendor/craftcms/cms/src/controllers/LivePreviewController.php(117): craft\\web\\Application->runAction('digital-product...')",
    "#7 [internal function]: craft\\controllers\\LivePreviewController->actionPreview('digital-product...', 1)",
    "#8 /srv/users/serverpilot/apps/happy-toolbox/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array(Array, Array)",
    "#9 /srv/users/serverpilot/apps/happy-toolbox/vendor/yiisoft/yii2/base/Controller.php(178): yii\\base\\InlineAction->runWithParams(Array)",
    "#10 /srv/users/serverpilot/apps/happy-toolbox/vendor/yiisoft/yii2/base/Module.php(552): yii\\base\\Controller->runAction('preview', Array)",
    "#11 /srv/users/serverpilot/apps/happy-toolbox/vendor/craftcms/cms/src/web/Application.php(301): yii\\base\\Module->runAction('live-preview/pr...', Array)",
    "#12 /srv/users/serverpilot/apps/happy-toolbox/vendor/yiisoft/yii2/web/Application.php(103): craft\\web\\Application->runAction('live-preview/pr...', Array)",
    "#13 /srv/users/serverpilot/apps/happy-toolbox/vendor/craftcms/cms/src/web/Application.php(286): yii\\web\\Application->handleRequest(Object(craft\\web\\Request))",
    "#14 /srv/users/serverpilot/apps/happy-toolbox/vendor/yiisoft/yii2/base/Application.php(384): craft\\web\\Application->handleRequest(Object(craft\\web\\Request))",
    "#15 /srv/users/serverpilot/apps/happy-toolbox/public/index.php(21): yii\\base\\Application->run()",
    "#16 {main}"
  ],
  "memory":6929160,
  "exception":"[object] (TypeError(code: 0): Cannot assign null to property craft\\base\\Element::$enabled of type bool at /srv/users/serverpilot/apps/happy-toolbox/vendor/craftcms/digital-products/src/controllers/ProductsController.php:509)"
}
lukeholder commented 1 year ago

This was fixed in 3.2.1 Thanks.

levinelson commented 1 year ago

Hi, I'm still seeing this same error using 3.2.1 when trying to live preview a digital product.

2023-03-20 13:45:45 [web.ERROR] [TypeError] Cannot assign null to property craft\base\Element::$enabled of type bool {"trace":["#0 /srv/users/serverpilot/apps/happy-toolbox/vendor/craftcms/digital-products/src/controllers/ProductsController.php(244): craft\\digitalproducts\\controllers\\ProductsController->_buildProductFromPost()","#1 [internal function]: craft\\digitalproducts\\controllers\\ProductsController->actionPreviewProduct()","#2 /srv/users/serverpilot/apps/happy-toolbox/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array(Array, Array)","#3 /srv/users/serverpilot/apps/happy-toolbox/vendor/yiisoft/yii2/base/Controller.php(178): yii\\base\\InlineAction->runWithParams(Array)","#4 /srv/users/serverpilot/apps/happy-toolbox/vendor/yiisoft/yii2/base/Module.php(552): yii\\base\\Controller->runAction('preview-product', Array)","#5 /srv/users/serverpilot/apps/happy-toolbox/vendor/craftcms/cms/src/web/Application.php(302): yii\\base\\Module->runAction('digital-product...', Array)","#6 /srv/users/serverpilot/apps/happy-toolbox/vendor/craftcms/cms/src/controllers/LivePreviewController.php(117): craft\\web\\Application->runAction('digital-product...')","#7 [internal function]: craft\\controllers\\LivePreviewController->actionPreview('digital-product...', 1)","#8 /srv/users/serverpilot/apps/happy-toolbox/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array(Array, Array)","#9 /srv/users/serverpilot/apps/happy-toolbox/vendor/yiisoft/yii2/base/Controller.php(178): yii\\base\\InlineAction->runWithParams(Array)","#10 /srv/users/serverpilot/apps/happy-toolbox/vendor/yiisoft/yii2/base/Module.php(552): yii\\base\\Controller->runAction('preview', Array)","#11 /srv/users/serverpilot/apps/happy-toolbox/vendor/craftcms/cms/src/web/Application.php(302): yii\\base\\Module->runAction('live-preview/pr...', Array)","#12 /srv/users/serverpilot/apps/happy-toolbox/vendor/yiisoft/yii2/web/Application.php(103): craft\\web\\Application->runAction('live-preview/pr...', Array)","#13 /srv/users/serverpilot/apps/happy-toolbox/vendor/craftcms/cms/src/web/Application.php(287): yii\\web\\Application->handleRequest(Object(craft\\web\\Request))","#14 /srv/users/serverpilot/apps/happy-toolbox/vendor/yiisoft/yii2/base/Application.php(384): craft\\web\\Application->handleRequest(Object(craft\\web\\Request))","#15 /srv/users/serverpilot/apps/happy-toolbox/public/index.php(21): yii\\base\\Application->run()","#16 {main}"],"memory":7001888,"exception":"[object] (TypeError(code: 0): Cannot assign null to property craft\\base\\Element::$enabled of type bool at /srv/users/serverpilot/apps/happy-toolbox/vendor/craftcms/digital-products/src/controllers/ProductsController.php:509)"}