Wir haben die Website eines Kunden von Contao 3.5.40 auf Contao 4.7.7 aktualisiert. Dabei haben wir auch alle Eclipse Theme Files (assets, templates und pct_ modules) aktualisiert.
Bei (zumindest einem) bestimmten Custom Element kommt es aber nun zu folgendem Fehler:
Das customelement_teambox_foo Template unterscheidet sich nicht wesentlich vom Original, es wurden nur ein paar Dinge entfernt:
Wenn ich zum Test ein neues Custom Element konfiguriere, als Inhaltselement erzeuge und einfüge, dann funktioniert jedoch alles. Kann mir momentan nicht erklären, warum es gerade nur bei bestimmten Element nicht funktionieren sollte. Auch in der Custom Element Konfiguration selbst ist nichts auffällig.
Wollte es auch schon ein wenig im Modul selbst debuggen, habe aber auf die Schnelle nicht die Stelle gefunden, wo diese callables im Template gesetzt werden.
Bei (zumindest einem) bestimmten Custom Element kommt es aber nun zu folgendem Fehler:
Code:
InvalidArgumentException: field is not set or not a callable at vendor/contao/core-bundle/src/Resources/contao/library/Contao/Template.php:147 at Contao\Template->__call('field', array('schema')) (templates/layout/customelement_teambox_foo.html5:1) at include('.../templates/layout/customelement_teambox_foo.html5') (vendor/contao/core-bundle/src/Resources/contao/library/Contao/TemplateInheritance.php:96) at Contao\Template->inherit() (vendor/contao/core-bundle/src/Resources/contao/library/Contao/Template.php:268) at Contao\Template->parse() (vendor/contao/core-bundle/src/Resources/contao/classes/FrontendTemplate.php:45) at Contao\FrontendTemplate->parse() (vendor/contao/core-bundle/src/Resources/contao/elements/ContentElement.php:284) at Contao\ContentElement->generate() (vendor/contao/core-bundle/src/Resources/contao/elements/ContentImage.php:55) at Contao\ContentImage->generate() (system/modules/pct_customelements/PCT/CustomElements/Attributes/Image/Image.php:255) at PCT\CustomElements\Attributes\Image->renderCallback('r9skt27vp1hot6h', '536a9cd4-23b3-11e8-a23b-02420a80ff02', object(FrontendTemplate), object(Image)) (system/modules/pct_customelements/PCT/CustomElements/Core/Attribute.php:1245) at PCT\CustomElements\Core\Attribute->render() (system/modules/pct_customelements/PCT/CustomElements/Core/TemplateAttribute.php:137) at PCT\CustomElements\Core\TemplateAttribute->render('') (system/modules/pct_customelements/PCT/CustomElements/Core/TemplateAttribute.php:147) at PCT\CustomElements\Core\TemplateAttribute->html() (templates/layout/customelement_teambox_foo.html5:11) at include('.../templates/layout/customelement_teambox_foo.html5') (vendor/contao/core-bundle/src/Resources/contao/library/Contao/TemplateInheritance.php:96) at Contao\Template->inherit() (vendor/contao/core-bundle/src/Resources/contao/library/Contao/Template.php:268) at Contao\Template->parse() (vendor/contao/core-bundle/src/Resources/contao/classes/FrontendTemplate.php:45) at Contao\FrontendTemplate->parse() (vendor/contao/core-bundle/src/Resources/contao/elements/ContentElement.php:284) at Contao\ContentElement->generate() (system/modules/pct_customelements/PCT/CustomElements/Frontend/ContentCustomElement.php:122) at PCT\CustomElements\Frontend\ContentCustomElement->generate() (vendor/contao/core-bundle/src/Resources/contao/library/Contao/Controller.php:474) at Contao\Controller::getContentElement(object(ContentModel), 'main') (vendor/contao/core-bundle/src/Resources/contao/modules/ModuleArticle.php:193) at Contao\ModuleArticle->compile() (vendor/contao/core-bundle/src/Resources/contao/modules/Module.php:215) at Contao\Module->generate() (vendor/contao/core-bundle/src/Resources/contao/modules/ModuleArticle.php:75) at Contao\ModuleArticle->generate(false) (vendor/contao/core-bundle/src/Resources/contao/library/Contao/Controller.php:414) at Contao\Controller::getArticle(object(ArticleModel), true, false, 'main') (vendor/contao/core-bundle/src/Resources/contao/library/Contao/Controller.php:273) at Contao\Controller::getFrontendModule('0', 'main') (vendor/contao/core-bundle/src/Resources/contao/pages/PageRegular.php:176) at Contao\PageRegular->prepare(object(PageModel)) (vendor/contao/core-bundle/src/Resources/contao/pages/PageRegular.php:49) at Contao\PageRegular->getResponse(object(PageModel), true) (vendor/contao/core-bundle/src/Resources/contao/controllers/FrontendIndex.php:351) at Contao\FrontendIndex->renderPage(object(PageModel)) (vendor/symfony/http-kernel/HttpKernel.php:150) at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request), 1) (vendor/symfony/http-kernel/HttpKernel.php:67) at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), 1, true) (vendor/symfony/http-kernel/Kernel.php:198) at Symfony\Component\HttpKernel\Kernel->handle(object(Request)) (web/app_dev.php:83)
PHP-Code:
<div class="<?php echo $this->class; ?> block <?php echo $this->field('schema')->value(); ?><?php if($this->field('margin_top')->value()): ?> <?php echo $this->field('margin_top')->value(); ?><?php endif; ?><?php if($this->field('margin_bottom')->value()): ?> <?php echo $this->field('margin_bottom')->value(); ?><?php endif; ?><?php if($this->field('margin_top_mobile')->value()): ?> <?php echo $this->field('margin_top_mobile')->value(); ?><?php endif; ?><?php if($this->field('margin_bottom_mobile')->value()): ?> <?php echo $this->field('margin_bottom_mobile')->value(); ?><?php endif; ?>" <?php echo $this->cssID; ?><?php if ($this->style): ?> style="<?php echo $this->style; ?>"<?php endif; ?>>
<?php if($this->field('schema')->value() != 'hover_image'): ?>
<div class="teambox_inside">
<div class="image">
<?php if($this->field('email')->value()): ?>
<a href="mailto:<?= $this->replaceInsertTags('{{email_url::'.$this->field('email')->value().'}}'); ?>">
<?php endif; ?>
<?php echo $this->field('image')->html(); ?>
<?php if($this->field('email')->value()): ?>
<span class="overlay"><i class="fa fa-envelope"></i></span>
</a>
<?php endif; ?>
</div>
<div class="teambox_content">
<?php if($this->field('name')->value()): ?>
<h5 class="name"><?php echo $this->field('name')->value(); ?></h5>
<?php endif; ?>
<?php if($this->field('function')->value()): ?>
<div class="function"><?php echo $this->field('function')->value(); ?></div>
<?php endif; ?>
</div>
</div>
<?php endif; ?>
<?php if($this->field('schema')->value() == 'hover_image'): ?>
<div class="team-content">
<?php echo $this->field('image')->html(); ?>
<div class="team-content-hover">
<div class="team-content-valign">
<?php if($this->field('name')->value()): ?>
<h5 class="name"><?php echo $this->field('name')->value(); ?></h5>
<?php endif; ?>
<?php if($this->field('function')->value()): ?>
<div class="function"><?php echo $this->field('function')->value(); ?></div>
<?php endif; ?>
</div>
</div>
</div>
<?php endif; ?>
</div>
Wenn ich zum Test ein neues Custom Element konfiguriere, als Inhaltselement erzeuge und einfüge, dann funktioniert jedoch alles. Kann mir momentan nicht erklären, warum es gerade nur bei bestimmten Element nicht funktionieren sollte. Auch in der Custom Element Konfiguration selbst ist nichts auffällig.
Wollte es auch schon ein wenig im Modul selbst debuggen, habe aber auf die Schnelle nicht die Stelle gefunden, wo diese callables im Template gesetzt werden.
Kommentar