cooltronicpl / Craft-document-helpers

Craft CMS 3 and 4, 5 alpha, beta plugin enabling PDF document generation from template Twig files, code blocks and URLs
Other
12 stars 6 forks source link

[yii\base\InvalidCallException] Setting read-only property: cooltronicpl\documenthelpers\classes\ExtendedAsset::cpEditUrl #26

Open masiorama opened 9 hours ago

masiorama commented 9 hours ago

Hello I'm having issue with the plugin on Craft CMS 5.3.5 and this plugin 2.3.2

When trying to dinamically generate a pdf I get the following error. I guess the plugin is not compatible with one of the recent Craft version? I'm pretty sure that this worked till a few months ago, already on Craft 5).

2024-09-23 10:01:56 [web.ERROR] [yii\base\InvalidCallException] Setting read-only property: cooltronicpl\documenthelpers\classes\ExtendedAsset::cpEditUrl {"trace":["#0 /home/customer/www/sale.colombomilano1911.com/vendor/craftcms/cms/src/base/Element.php(2352): yii\\base\\Component->__set('cpEditUrl', 'https://sale.co...')","#1 /home/customer/www/sale.colombomilano1911.com/vendor/cooltronicpl/document-helpers/src/variables/DocumentHelperVariable.php(197): craft\\base\\Element->__set('cpEditUrl', 'https://sale.co...')","#2 /home/customer/www/sale.colombomilano1911.com/vendor/twig/twig/src/Extension/CoreExtension.php(1635): cooltronicpl\\documenthelpers\\variables\\DocumentHelperVariable->pdfAsset('shop/_pdf/docum...', '/home/customer/...', Object(craft\\elements\\Entry), Array, 'catalogPdf')","#3 /home/customer/www/sale.colombomilano1911.com/vendor/craftcms/cms/src/helpers/Template.php(148): twig_get_attribute(Object(craft\\web\\twig\\Environment), Object(Twig\\Source), Object(cooltronicpl\\documenthelpers\\variables\\DocumentHelperVariable), 'pdfAsset', Array, 'method', false, false, false, 34)","#4 /home/customer/www/sale.colombomilano1911.com/storage/runtime/compiled_templates/8b/8b582701444c6baacac36d645a3f7215.php(80): craft\\helpers\\Template::attribute(Object(craft\\web\\twig\\Environment), Object(Twig\\Source), Object(cooltronicpl\\documenthelpers\\variables\\DocumentHelperVariable), 'pdfAsset', Array, 'method', false, false, false, 34)","#5 /home/customer/www/sale.colombomilano1911.com/vendor/twig/twig/src/Template.php(394): __TwigTemplate_5fd2894967d6610db587025c3d22769d->doDisplay(Array, Array)","#6 /home/customer/www/sale.colombomilano1911.com/vendor/twig/twig/src/Template.php(367): Twig\\Template->displayWithErrorHandling(Array, Array)","#7 /home/customer/www/sale.colombomilano1911.com/vendor/twig/twig/src/Template.php(379): Twig\\Template->display(Array)","#8 /home/customer/www/sale.colombomilano1911.com/vendor/twig/twig/src/TemplateWrapper.php(38): Twig\\Template->render(Array)","#9 /home/customer/www/sale.colombomilano1911.com/vendor/twig/twig/src/Environment.php(280): Twig\\TemplateWrapper->render(Array)","#10 /home/customer/www/sale.colombomilano1911.com/vendor/craftcms/cms/src/web/View.php(501): Twig\\Environment->render('shop/_pdf/index...', Array)","#11 /home/customer/www/sale.colombomilano1911.com/vendor/craftcms/cms/src/web/View.php(554): craft\\web\\View->renderTemplate('shop/_pdf/index...', Array)","#12 /home/customer/www/sale.colombomilano1911.com/vendor/craftcms/cms/src/web/TemplateResponseFormatter.php(57): craft\\web\\View->renderPageTemplate('shop/_pdf/index...', Array, 'site')","#13 /home/customer/www/sale.colombomilano1911.com/vendor/yiisoft/yii2/web/Response.php(1109): craft\\web\\TemplateResponseFormatter->format(Object(craft\\web\\Response))","#14 /home/customer/www/sale.colombomilano1911.com/vendor/craftcms/cms/src/web/Response.php(338): yii\\web\\Response->prepare()","#15 /home/customer/www/sale.colombomilano1911.com/vendor/yiisoft/yii2/web/Response.php(340): craft\\web\\Response->prepare()","#16 /home/customer/www/sale.colombomilano1911.com/vendor/yiisoft/yii2/base/Application.php(390): yii\\web\\Response->send()","#17 /home/customer/www/sale.colombomilano1911.com/public_html/index.php(12): yii\\base\\Application->run()","#18 {main}"],"memory":38850592,"exception":"[object] (yii\\base\\InvalidCallException(code: 0): Setting read-only property: cooltronicpl\\documenthelpers\\classes\\ExtendedAsset::cpEditUrl at /home/customer/www/sale.colombomilano1911.com/vendor/yiisoft/yii2/base/Component.php:214)"} 
Invalid Call – [yii\base\InvalidCallException](https://www.yiiframework.com/doc-2.0/yii-base-invalidcallexception.html)
Setting read-only property: cooltronicpl\documenthelpers\classes\ExtendedAsset::cpEditUrl

3. in /shared/httpd/sale-colombomilano/vendor/cooltronicpl/document-helpers/src/variables/DocumentHelperVariable.php at line 197– craft\base\Element::__set('cpEditUrl', 'https://sale-colombomilano.dvl.t...')
191192193194195196197198199200201202203        } elseif (version_compare($craftVersion, '5.0', '>=')) {
            $extendedAsset = new ExtendedAsset();
        } elseif (version_compare($craftVersion, '3.0', '>=')) {
            $extendedAsset = new ExtendedAssetv3();
        }
        foreach ($asset->getAttributes() as $name => $value) {
            $extendedAsset->$name = $value; <------- THE error
        }
        if (isset($settings['assetThumb'])) {
            $extendedAsset->assetThumb = $assetThumb;
        }

        if (isset($settings['assetDelete'])) {

edit: if I skip the key cpEditUrl inside the cicle that sets $extedendAsset->$name than it seems to work. Is that necessary to set that variable? What's its purpose? Thanks in advance.