Ergebnis 1 bis 5 von 5

Thema: PHP Exception bei Nutzung der Großansicht für Bilder // ResizeConfiguration::MODE_

  1. #1
    Contao-Fan Avatar von ph!L
    Registriert seit
    04.11.2009.
    Ort
    Internet
    Beiträge
    402

    Standard PHP Exception bei Nutzung der Großansicht für Bilder // ResizeConfiguration::MODE_

    Ich habe lokal eine frische Contao 4.13 Installation ohne ein einziges lokales Template, aber mit ersten installierten Extensions.
    Wenn ich in einem Bild-Element oder einer Galerie die Option "Großansicht/Neues Fenster" aktiviere, lässt sich die betroffene Seite nicht mehr Anzeigen (Contao Fehlerseite) und es erscheint im Log folgender Eintrag:

    Code:
    [2024-01-04T10:44:17.474549+00:00] request.CRITICAL: Uncaught PHP Exception Contao\Image\Exception\InvalidArgumentException: "Mode must be one of the Contao\Image\ResizeConfiguration::MODE_* constants" at /Users/philipp/httpdocs/xxx/vendor/contao/image/src/ResizeConfiguration.php line 101 {"exception":"[object] (Contao\\Image\\Exception\\InvalidArgumentException(code: 0): Mode must be one of the Contao\\Image\\ResizeConfiguration::MODE_* constants at /Users/philipp/httpdocs/xxx/vendor/contao/image/src/ResizeConfiguration.php:101)"} []
    Es wird also offentlich für ein für die Bilderstellung benötigter Parameter nicht übergeben. Das ist kurios, da die Option zur Vergrößerung des Bildes ja eigentlich nur <a> Tags um das eigentliche Bild setzt.
    Da ich mir nicht vorstellen kann, dass dieser Fehler in Contao selbst unentdeckt blieb, stellt sich die Frage, wie ich das jetzt so debugge, dass ich eine evtl. schuldige Extension identifizieren kann.

    Hier noch der StrackTrace aus dem Debug Mode, der mir aber auch keinen Hinweis darauf gibt, welches Template schuld ist:
    Code:
    Contao\Image\Exception\InvalidArgumentException:
    Mode must be one of the Contao\Image\ResizeConfiguration::MODE_* constants
    
      at vendor/contao/image/src/ResizeConfiguration.php:101
      at Contao\Image\ResizeConfiguration->setMode('_proportional_large')
         (vendor/contao/core-bundle/src/Image/PictureFactory.php:251)
      at Contao\CoreBundle\Image\PictureFactory->createConfig(array('', '', '_proportional_large'))
         (vendor/contao/core-bundle/src/Image/PictureFactory.php:106)
      at Contao\CoreBundle\Image\PictureFactory->create('/Users/philipp/httpdocs/gch.devel/files/contaodemo/media/content-images/DSC_5276.jpg', array('', '', '_proportional_large'))
         (vendor/contao/core-bundle/src/Image/Studio/ImageResult.php:108)
      at Contao\CoreBundle\Image\Studio\ImageResult->getPicture()
         (vendor/contao/core-bundle/src/Image/Studio/ImageResult.php:124)
      at Contao\CoreBundle\Image\Studio\ImageResult->getImg()
         (vendor/contao/core-bundle/src/Image/Studio/ImageResult.php:140)
      at Contao\CoreBundle\Image\Studio\ImageResult->getImageSrc()
         (vendor/contao/core-bundle/src/Image/Studio/LightboxResult.php:84)
      at Contao\CoreBundle\Image\Studio\LightboxResult->getLinkHref()
         (vendor/contao/core-bundle/src/Image/Studio/Figure.php:168)
      at Contao\CoreBundle\Image\Studio\Figure->Contao\CoreBundle\Image\Studio\{closure}()
         (vendor/contao/core-bundle/src/Image/Studio/Figure.php:177)
      at Contao\CoreBundle\Image\Studio\Figure->getLinkAttributes()
         (vendor/contao/core-bundle/src/Image/Studio/Figure.php:281)
      at Contao\CoreBundle\Image\Studio\Figure->getLegacyTemplateData('a:5:{s:6:"bottom";s:0:"";s:4:"left";s:0:"";s:5:"right";s:0:"";s:3:"top";s:0:"";s:4:"unit";s:0:"";}', null, true)
         (vendor/contao/core-bundle/src/Image/Studio/Figure.php:377)
      at Contao\CoreBundle\Image\Studio\Figure->applyLegacyTemplateData(object(FrontendTemplate), 'a:5:{s:6:"bottom";s:0:"";s:4:"left";s:0:"";s:5:"right";s:0:"";s:3:"top";s:0:"";s:4:"unit";s:0:"";}')
         (vendor/contao/core-bundle/src/Resources/contao/elements/ContentImage.php:71)
      at Contao\ContentImage->compile()
         (vendor/contao/core-bundle/src/Resources/contao/elements/ContentElement.php:246)
      at Contao\ContentElement->generate()
         (vendor/contao/core-bundle/src/Resources/contao/elements/ContentImage.php:52)
      at Contao\ContentImage->generate()
         (vendor/contao/core-bundle/src/Resources/contao/library/Contao/Controller.php:622)
      at Contao\Controller::getContentElement(object(ContentModel), 'main-above')
         (vendor/contao/core-bundle/src/Resources/contao/modules/ModuleArticle.php:197)
      at Contao\ModuleArticle->compile()
         (vendor/contao/core-bundle/src/Resources/contao/modules/Module.php:214)
      at Contao\Module->generate()
         (vendor/contao/core-bundle/src/Resources/contao/modules/ModuleArticle.php:70)
      at Contao\ModuleArticle->generate(false)
         (vendor/contao/core-bundle/src/Resources/contao/library/Contao/Controller.php:550)
      at Contao\Controller::getArticle(object(ArticleModel), false, false, 'main-above')
         (vendor/contao/core-bundle/src/Resources/contao/library/Contao/Controller.php:392)
      at Contao\Controller::getFrontendModule('0', 'main-above')
         (vendor/contao/core-bundle/src/Resources/contao/pages/PageRegular.php:199)
      at Contao\PageRegular->prepare(object(PageModel))
         (vendor/contao/core-bundle/src/Resources/contao/pages/PageRegular.php:60)
      at Contao\PageRegular->getResponse(object(PageModel), true)
         (vendor/contao/core-bundle/src/Resources/contao/controllers/FrontendIndex.php:320)
      at Contao\FrontendIndex->renderPage(object(PageModel))
         (vendor/symfony/http-kernel/HttpKernel.php:163)
      at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request), 1)
         (vendor/symfony/http-kernel/HttpKernel.php:75)
      at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), 1, true)
         (vendor/symfony/http-kernel/Kernel.php:202)
      at Symfony\Component\HttpKernel\Kernel->handle(object(Request))
         (web/index.php:44)
    Folgende Einträge besitzt meine composer.json:
    Code:
    "require": {
            "contao/calendar-bundle": "4.13.*",
            "contao/comments-bundle": "4.13.*",
            "contao/conflicts": "*@dev",
            "contao/faq-bundle": "4.13.*",
            "contao/listing-bundle": "4.13.*",
            "contao/manager-bundle": "4.13.*",
            "contao/news-bundle": "4.13.*",
            "contao/newsletter-bundle": "4.13.*",
            "heimrichhannot/contao-tiny-slider-bundle": "^1.21",
            "madeyourday/contao-rocksolid-custom-elements": "^2.4",
            "madeyourday/contao-rocksolid-icon-picker": "^2.1",
            "tastaturberuf/contao-image-copyright-bundle": "^1.2",
            "terminal42/contao-changelanguage": "^3.6",
            "terminal42/contao-conditionalformfields": "^3.1",
            "terminal42/contao-easy_themes": "^3.1",
            "terminal42/contao-folderpage": "^3.1",
            "terminal42/contao-node": "^1.5"
        },
    Eine Google Suche brachte nicht wirklich eine Erkenntnis.

    Besten Dank im Voraus!

  2. #2
    Contao-Fan Avatar von ph!L
    Registriert seit
    04.11.2009.
    Ort
    Internet
    Beiträge
    402

    Standard

    Nachtrag: Wenn ich die Option deaktiviere und wieder eine Frontend-Ausgabe erhalte, sagt der Debug Mode mir, dass alle Templates aus dem Contao Core ausgeliefert werden:

    Angehängte Grafiken Angehängte Grafiken

  3. #3
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.719
    User beschenken
    Wunschliste

    Standard

    soweit ich das sehe, kommt die Meldung von

    PHP-Code:
    // vendor/contao/image/src/ResizeConfiguration.php
            
    if (!\in_array($mode, [self::MODE_CROPself::MODE_BOXself::MODE_PROPORTIONAL], true)) {
                throw new 
    InvalidArgumentException('Mode must be one of the '.self::class.'::MODE_* constants');
            } 
    und die sind definiert als

    PHP-Code:
        public const MODE_CROP 'crop';
        public const 
    MODE_BOX 'box';

        
    /**
         * @deprecated Deprecated since version 1.2, to be removed in version 2.0.
         */
        
    public const MODE_PROPORTIONAL 'proportional'
    wo kommt Dein "proportional_large" her?

  4. #4
    Contao-Fan Avatar von ph!L
    Registriert seit
    04.11.2009.
    Ort
    Internet
    Beiträge
    402

    Standard

    Das ist eine sehr gute Frage.
    Da ich die Strukturen der Contao Demo (Showcase von CEs und Modulen) nachbauen wollte, hatte ich DB Einträge aus der Demo in meine Installation übernommen.

    Die Suche nach "proportional_large" ergab in der DB null Treffer, aber im dev-Cache wurde was gefunden:

    PHP-Code:
            $instance->setPredefinedSizes(['_4_5_crop_small' => ['width' => 600'height' => 750'resizeMode' => 'crop''lazyLoading' => true'densities' => '1x''formats' => ['jpg' => [=> 'webp'=> 'jpg'], 'webp' => [=> 'webp'=> 'jpg'], 'png' => [=> 'webp'=> 'png']], 'items' => []], '_4_5_crop_medium' => ['width' => 800'height' => 1000'resizeMode' => 'crop''lazyLoading' => true'densities' => '1x''formats' => ['jpg' => [=> 'webp'=> 'jpg'], 'webp' => [=> 'webp'=> 'jpg'], 'png' => [=> 'webp'=> 'png']], 'items' => []], '_4_5_crop_large' => ['width' => 1280'height' => 1600'resizeMode' => 'crop''lazyLoading' => true'densities' => '1x''formats' => ['jpg' => [=> 'webp'=> 'jpg'], 'webp' => [=> 'webp'=> 'jpg'], 'png' => [=> 'webp'=> 'png']], 'items' => [=> ['media' => '(max-width: 599px)''width' => 600'height' => 750]]], '_1_1_crop_small' => ['width' => 600'height' => 600'resizeMode' => 'crop''lazyLoading' => true'densities' => '1x''formats' => ['jpg' => [=> 'webp'=> 'jpg'], 'webp' => [=> 'webp'=> 'jpg'], 'png' => [=> 'webp'=> 'png']], 'items' => []], '_1_1_crop_medium' => ['width' => 800'height' => 800'resizeMode' => 'crop''lazyLoading' => true'densities' => '1x''formats' => ['jpg' => [=> 'webp'=> 'jpg'], 'webp' => [=> 'webp'=> 'jpg'], 'png' => [=> 'webp'=> 'png']], 'items' => []], '_1_1_crop_large' => ['width' => 1280'height' => 1280'resizeMode' => 'crop''lazyLoading' => true'densities' => '1x''formats' => ['jpg' => [=> 'webp'=> 'jpg'], 'webp' => [=> 'webp'=> 'jpg'], 'png' => [=> 'webp'=> 'png']], 'items' => [=> ['media' => '(max-width: 599px)''width' => 600'height' => 600]]], '_4_3_crop_small' => ['width' => 600'height' => 450'resizeMode' => 'crop''lazyLoading' => true'densities' => '1x''formats' => ['jpg' => [=> 'webp'=> 'jpg'], 'webp' => [=> 'webp'=> 'jpg'], 'png' => [=> 'webp'=> 'png']], 'items' => []], '_4_3_crop_medium' => ['width' => 800'height' => 600'resizeMode' => 'crop''lazyLoading' => true'densities' => '1x''formats' => ['jpg' => [=> 'webp'=> 'jpg'], 'webp' => [=> 'webp'=> 'jpg'], 'png' => [=> 'webp'=> 'png']], 'items' => []], '_4_3_crop_large' => ['width' => 1280'height' => 960'resizeMode' => 'crop''lazyLoading' => true'densities' => '1x''formats' => ['jpg' => [=> 'webp'=> 'jpg'], 'webp' => [=> 'webp'=> 'jpg'], 'png' => [=> 'webp'=> 'png']], 'items' => [=> ['media' => '(max-width: 599px)''width' => 600'height' => 450]]], '_3_2_crop_small' => ['width' => 600'height' => 400'resizeMode' => 'crop''lazyLoading' => true'densities' => '1x''formats' => ['jpg' => [=> 'webp'=> 'jpg'], 'webp' => [=> 'webp'=> 'jpg'], 'png' => [=> 'webp'=> 'png']], 'items' => []], '_3_2_crop_medium' => ['width' => 800'height' => 533'resizeMode' => 'crop''lazyLoading' => true'densities' => '1x''formats' => ['jpg' => [=> 'webp'=> 'jpg'], 'webp' => [=> 'webp'=> 'jpg'], 'png' => [=> 'webp'=> 'png']], 'items' => []], '_3_2_crop_large' => ['width' => 1280'height' => 853'resizeMode' => 'crop''lazyLoading' => true'densities' => '1x''formats' => ['jpg' => [=> 'webp'=> 'jpg'], 'webp' => [=> 'webp'=> 'jpg'], 'png' => [=> 'webp'=> 'png']], 'items' => [=> ['media' => '(max-width: 599px)''width' => 600'height' => 400]]], '_16_10_crop_small' => ['width' => 600'height' => 375'resizeMode' => 'crop''lazyLoading' => true'densities' => '1x''formats' => ['jpg' => [=> 'webp'=> 'jpg'], 'webp' => [=> 'webp'=> 'jpg'], 'png' => [=> 'webp'=> 'png']], 'items' => []], '_16_10_crop_medium' => ['width' => 800'height' => 500'resizeMode' => 'crop''lazyLoading' => true'densities' => '1x''formats' => ['jpg' => [=> 'webp'=> 'jpg'], 'webp' => [=> 'webp'=> 'jpg'], 'png' => [=> 'webp'=> 'png']], 'items' => []], '_16_10_crop_large' => ['width' => 1280'height' => 800'resizeMode' => 'crop''lazyLoading' => true'densities' => '1x''formats' => ['jpg' => [=> 'webp'=> 'jpg'], 'webp' => [=> 'webp'=> 'jpg'], 'png' => [=> 'webp'=> 'png']], 'items' => [=> ['media' => '(max-width: 599px)''width' => 600'height' => 375]]], '_16_9_crop_small' => ['width' => 600'height' => 338'resizeMode' => 'crop''lazyLoading' => true'densities' => '1x''formats' => ['jpg' => [=> 'webp'=> 'jpg'], 'webp' => [=> 'webp'=> 'jpg'], 'png' => [=> 'webp'=> 'png']], 'items' => []], '_16_9_crop_medium' => ['width' => 800'height' => 450'resizeMode' => 'crop''lazyLoading' => true'densities' => '1x''formats' => ['jpg' => [=> 'webp'=> 'jpg'], 'webp' => [=> 'webp'=> 'jpg'], 'png' => [=> 'webp'=> 'png']], 'items' => []], '_16_9_crop_large' => ['width' => 1280'height' => 720'resizeMode' => 'crop''lazyLoading' => true'densities' => '1x''formats' => ['jpg' => [=> 'webp'=> 'jpg'], 'webp' => [=> 'webp'=> 'jpg'], 'png' => [=> 'webp'=> 'png']], 'items' => [=> ['media' => '(max-width: 599px)''width' => 600'height' => 338]]], '_proportional_extra_small' => ['width' => 480'resizeMode' => 'proportional''lazyLoading' => true'densities' => '1x''formats' => ['jpg' => [=> 'webp'=> 'jpg'], 'webp' => [=> 'webp'=> 'jpg'], 'png' => [=> 'webp'=> 'png']], 'items' => []], '_proportional_small' => ['width' => 600'resizeMode' => 'proportional''lazyLoading' => true'densities' => '1x''formats' => ['jpg' => [=> 'webp'=> 'jpg'], 'webp' => [=> 'webp'=> 'jpg'], 'png' => [=> 'webp'=> 'png']], 'items' => []], '_proportional_medium' => ['width' => 800'resizeMode' => 'proportional''lazyLoading' => true'densities' => '1x''formats' => ['jpg' => [=> 'webp'=> 'jpg'], 'webp' => [=> 'webp'=> 'jpg'], 'png' => [=> 'webp'=> 'png']], 'items' => []], '_proportional_large' => ['width' => 1280'resizeMode' => 'proportional''lazyLoading' => true'densities' => '1x''formats' => ['jpg' => [=> 'webp'=> 'jpg'], 'webp' => [=> 'webp'=> 'jpg'], 'png' => [=> 'webp'=> 'png']], 'items' => [=> ['media' => '(max-width: 599px)''width' => 600]]], '_proportional_extra_large' => ['width' => 1920'resizeMode' => 'proportional''lazyLoading' => true'densities' => '1x''formats' => ['jpg' => [=> 'webp'=> 'jpg'], 'webp' => [=> 'webp'=> 'jpg'], 'png' => [=> 'webp'=> 'png']], 'items' => [=> ['media' => '(max-width: 599px)''width' => 600], => ['media' => '(max-width: 1263px)''width' => 1280]]], '_lazyloading_active' => ['lazyLoading' => true'resizeMode' => 'proportional''densities' => '1x''formats' => [], 'items' => []]]); 
    Da hab ich mir also scheinbar entsprechende Bildgrößen aus der Demo eingeschleust ohne es zu merken, würde ich sagen.
    Nach einem löschen des Prod Cache ist das Phänomen auch verschwunden.

    DANKE!

  5. #5
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.109
    Partner-ID
    10107

    Standard

    Laut der Fehlermeldung hast du in deinem Seitenlayout eine vordefinierte Bildgröße namens "proportional_large" für die Lightbox-Bildgröße eingestellt, welche jedoch nicht (mehr) existiert.
    » sponsor me via GitHub or PayPal or Revolut

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •