Ergebnis 1 bis 6 von 6

Thema: 404 bei mehreren Artikel auf einer Seite

  1. #1
    Contao-Nutzer
    Registriert seit
    19.05.2010.
    Beiträge
    170

    Standard 404 bei mehreren Artikel auf einer Seite

    Ich habe ein komisches Problem, welches ich nicht beheben kann.
    (Die Seite ist in dev daher kann ich sie nicht teilen)

    Auf einer Seite bekomme ich einen 404er, wenn 6 oder mehr Artikel auf der Seite eingebunden sind. Alle anderen Seiten funktionieren normal.
    Wird ein Artikel ausgeblendet, so dass es nur noch 5 Artikel sind, kann man die Seite normal aufrufen. Die Artikel müssen auch keine Elemente beinhalten, damit der 404er angezeigt wird.

    Was ich noch bemerkt habe ist, wenn man sich einloggt kann man die Seite, trotz 6 oder mehr Artikel, aufrufen.
    Ist man ausgeloggt wird ein 404er angezeigt.

    error.log
    Code:
    [error] 944#944: *1341 open() "/usr/share/nginx/html/50x.html" failed (2: No such file or directory), client: ***.***.***.***, server: www.test-seite.de, request: "HEAD /de/kontakt HTTP/2.0", upstream: "fastcgi://unix:/run/php/php7.4-fpm.sock", host: "test-seite.de"

  2. #2
    Contao-Fan Avatar von Ainschy
    Registriert seit
    24.06.2009.
    Ort
    Wenden
    Beiträge
    796
    Partner-ID
    5666
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ich konnte das von dir beschriebene Verhalten in der Contao-Demo nicht nachstellen.

    Dazu brauchen wir wohl mehr Infos

  3. #3
    Contao-Nutzer
    Registriert seit
    19.05.2010.
    Beiträge
    170

    Standard

    Zitat Zitat von Ainschy Beitrag anzeigen
    Dazu brauchen wir wohl mehr Infos
    Welche wären das?

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

    Standard

    Nutze den Debug-Modus und poste die Stack Traces.

  5. #5
    Contao-Nutzer
    Registriert seit
    19.05.2010.
    Beiträge
    170

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Nutze den Debug-Modus und poste die Stack Traces.
    super, danke! Daran hab ich jetzt nicht gedacht.

    Stack Trace
    Code:
    ErrorException:
    Warning: Invalid argument supplied for foreach()
    
      at vendor/mybundle/articleext/src/Resources/contao/classes/ArticleExt.php:36
      at MyBundle\ElementsBundle\ArticleExtension\Resources\contao\classes\ArticleExt->insertExt()
         (vendor/contao/core-bundle/src/Resources/contao/modules/ModuleArticle.php:261)
      at Contao\ModuleArticle->compile()
         (vendor/contao/core-bundle/src/Resources/contao/modules/Module.php:209)
      at Contao\Module->generate()
         (vendor/contao/core-bundle/src/Resources/contao/modules/ModuleArticle.php:74)
      at Contao\ModuleArticle->generate()
         (vendor/contao/core-bundle/src/Resources/contao/library/Contao/Controller.php:510)
      at Contao\Controller::getArticle()
         (vendor/contao/core-bundle/src/Resources/contao/library/Contao/Controller.php:372)
      at Contao\Controller::getFrontendModule()
         (vendor/contao/core-bundle/src/Resources/contao/pages/PageRegular.php:172)
      at Contao\PageRegular->prepare()
         (vendor/contao/core-bundle/src/Resources/contao/pages/PageRegular.php:48)
      at Contao\PageRegular->getResponse()
         (vendor/contao/core-bundle/src/Resources/contao/controllers/FrontendIndex.php:339)
      at Contao\FrontendIndex->renderPage()
         (vendor/symfony/http-kernel/HttpKernel.php:158)
      at Symfony\Component\HttpKernel\HttpKernel->handleRaw()
         (vendor/symfony/http-kernel/HttpKernel.php:80)
      at Symfony\Component\HttpKernel\HttpKernel->handle()
         (vendor/symfony/http-kernel/Kernel.php:201)
      at Symfony\Component\HttpKernel\Kernel->handle()
         (web/index.php:31)
      at require('/var/www/html/web/index.php')
         (web/app.php:4)
    Ich habe die Artikel erweitert mit Feldern

    dca:
    PHP-Code:
    $GLOBALS['TL_DCA']['tl_article']['fields']['article_ext'] = array (
        
    'label'     => &$GLOBALS['TL_LANG']['tl_article']['article_ext'],
        
    'inputType' => 'select',
        
    'options'   => array(
            
    'class-1',
            
    'class-2'
        
    ),
        
    'reference' => &$GLOBALS['TL_LANG']['tl_article']['article_class_values'],
        
    'eval'      => array(
            
    'includeBlankOption' => true,
            
    'mandatory' => false,
            
    'maxlength' => 255,
            
    'tl_class' => 'w50',
            
    'multiple' => true,
            
    'chosen' => true
        
    ),
        
    'sql'       => "varchar(255) NOT NULL default ''"
    ); 
    insertExt: (Zeile 36)
    PHP-Code:
    foreach(unserialize($tpl->article_ext) as $value) {
        
    $article_class .= ' '.$value;

    wenn ich das ganze jetzt so ändere:
    PHP-Code:
    if($tpl->article_ext) {
        foreach(
    unserialize($tpl->article_ext) as $value) {
          
    $article_class .= ' '.$value;
      }

    dann wird kein 404er mehr angezeigt.

    Was ich dann aber nicht ganz verstehe ist, dass die anderen Seiten bisher funktioniert haben

    -EDIT-
    Schreibfehler

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

    Standard

    Du solltest nicht unserialize() verwenden, sondern \Contao\StringUtil::deserialize(…, true);

    Außerdem gibt es für sowas ja schon Extensions, wie zB: https://extensions.contao.org/?q=css...elector-bundle

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
  •