Contao-Camp 2024
Ergebnis 1 bis 15 von 15

Thema: Attempted to load class "news" from the global namespace. Did you forget a "use" stat

  1. #1
    Contao-Nutzer
    Registriert seit
    24.01.2015.
    Ort
    Tönisvorst
    Beiträge
    31

    Standard Attempted to load class "news" from the global namespace. Did you forget a "use" stat

    Hallo Zusammen,

    um es kurz zu fassen. Ich wollte das News Modul um ein paar Felder erweitern, in der Plugin.php ist folgendes gesetzt:
    PHP-Code:
    ->setLoadAfter(['Contao\NewsBundle\ContaoNewsBundle']) 
    Die Datenbankfelder werden auch problemlos angelegt, wenn ich jedoch einen neuen Newseintrag anlegen will, kommt dieser Fehler.
    Es wird nur die Datenbanktabelle erweitert und die entsprechende Übersetzung, mehr nicht, keinerlei Funktionen oder sonst etwas.

    Ich bin echt überfragt, weil auch das Logfile keinen Aufschluss darüber gibt, wo der Fehler ist.

    Danke vorab für eure Hilfe.

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

    Standard

    Nutze den Debug-Modus und poste den Stack Trace.
    » sponsor me via GitHub or PayPal or Revolut

  3. #3
    Contao-Nutzer
    Registriert seit
    24.01.2015.
    Ort
    Tönisvorst
    Beiträge
    31

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Nutze den Debug-Modus und poste den Stack Trace.
    Da wird der Fehler gar nicht mehr angezeigt und kann ganz normal arbeiten, aber auch meine Änderungen sind nicht zu sehen?!

    Ich kann den Fehler aber eingrenzen, der liegt beim einfügen der Felder:
    PHP-Code:
    $GLOBALS['TL_DCA']['tl_news']['palettes']['default'] = str_replace('{title_legend},''{title_legend},contentcategory,'$GLOBALS['TL_DCA']['tl_news']['palettes']['default']); 
    Ohne dies, klappt alles ohne Fehlermeldung.

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

    Standard

    Zitat Zitat von Armour Beitrag anzeigen
    Da wird der Fehler gar nicht mehr angezeigt und kann ganz normal arbeiten, aber auch meine Änderungen sind nicht zu sehen?!
    Führe mal ein composer install aus.



    Zitat Zitat von Armour Beitrag anzeigen
    Ich kann den Fehler aber eingrenzen, der liegt beim einfügen der Felder:
    PHP-Code:
    $GLOBALS['TL_DCA']['tl_news']['palettes']['default'] = str_replace('{title_legend},''{title_legend},contentcategory,'$GLOBALS['TL_DCA']['tl_news']['palettes']['default']); 
    Ohne dies, klappt alles ohne Fehlermeldung.
    Ich denke nicht, dass der Fehler direkt davon ausgelöst wird. Unabhängig davon solltest du Paletten aber mit dem PaletteManipulator ändern, nicht mit str_replace (das ist fehleranfälliger).
    » sponsor me via GitHub or PayPal or Revolut

  5. #5
    Contao-Nutzer
    Registriert seit
    24.01.2015.
    Ort
    Tönisvorst
    Beiträge
    31

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Führe mal ein composer install aus.



    Ich denke nicht, dass der Fehler direkt davon ausgelöst wird. Unabhängig davon solltest du Paletten aber mit dem PaletteManipulator ändern, nicht mit str_replace (das ist fehleranfälliger).
    Kannte den Manipulator noch nicht, aber weder Install noch:
    PHP-Code:
    use Contao\CoreBundle\DataContainer\PaletteManipulator;
    PaletteManipulator::create()    // apply the field "custom_field" after the field "username"    ->addField('contentcategory', 'author')
        // now the field is registered in the PaletteManipulator    // but it still has to be registered in the globals array:    ->applyToPalette('default', 'tl_news') ; 
    Hat geholfen, verstehe es einfach nicht, aber auch der Contao-Manager lässt sich nur noch im abgesicherten Modus starten, da scheint viel mehr im argen zu sein...
    Auch mit app_dev.php werden mir keine Fehler angezeigt und eben auch nicht die Felder.

  6. #6
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.060
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Also mit dem PaletteManipulator kenne ich mich noch nicht aus, aber dass das str_replace wie hier zu sehen Probleme verursachen kann ist mir klar. Ich bin mir jetzt zwar nicht sicher ob das immer noch so ist wie zu guten alten Contao 3 Zeiten, aber zumindest damals wurde das zweimal aufgerufen und somit hätte man im Endeffekt das hier in der globalen Variable stehen

    PHP-Code:
    '{title_legend},{title_legend},contentcategory,' 
    Und das kann eigentlich nicht gesund sein.

  7. #7
    Contao-Nutzer
    Registriert seit
    24.01.2015.
    Ort
    Tönisvorst
    Beiträge
    31

    Standard

    Zitat Zitat von tab Beitrag anzeigen
    Also mit dem PaletteManipulator kenne ich mich noch nicht aus, aber dass das str_replace wie hier zu sehen Probleme verursachen kann ist mir klar. Ich bin mir jetzt zwar nicht sicher ob das immer noch so ist wie zu guten alten Contao 3 Zeiten, aber zumindest damals wurde das zweimal aufgerufen und somit hätte man im Endeffekt das hier in der globalen Variable stehen

    PHP-Code:
    '{title_legend},{title_legend},contentcategory,' 
    Und das kann eigentlich nicht gesund sein.

    Auch andere Positionen habe ich schon probiert, leider ohne Erfolg. Der Fehler kommt nur, wenn ich versuche mein Feld in die pallettes zu schieben, hier mal der komplette code:
    PHP-Code:
    <?php/*use Contao\CoreBundle\DataContainer\PaletteManipulator;
    PaletteManipulator::create()    ->addField('contentcategory', 'featured')    ->applyToPalette('default', 'tl_news') ;*/$GLOBALS['TL_DCA']['tl_news']['palettes']['default'] = str_replace(',featured', ',featured,contentcategory', $GLOBALS['TL_DCA']['tl_news']['palettes']['default']);$GLOBALS['TL_DCA']['tl_news']['fields']['contentcategory'] = array(    'label'                   => $GLOBALS['TL_LANG']['tl_news']['contentcategory'],    'exclude'                 => true,    'filter'                  => true,    'inputType'               => 'radio',    'options_callback'        => array('news', 'angebot', 'service'),    'reference'               => $GLOBALS['TL_LANG']['tl_news']['contentcategory'],    'eval'                    => array('mandatory'=>true),    'sql'                     => "varchar(20) NOT NULL default ''");
    ich versuche beide wege abwechselnd.

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

    Standard

    Der komplette Code kann das ja wohl nicht sein? Hast du dein Bundle öffentlich verfügbar?
    » sponsor me via GitHub or PayPal or Revolut

  9. #9
    Contao-Nutzer
    Registriert seit
    24.01.2015.
    Ort
    Tönisvorst
    Beiträge
    31

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Der komplette Code kann das ja wohl nicht sein? Hast du dein Bundle öffentlich verfügbar?
    mehr steht im DCA nicht, sonst gibt es nur noch das languages File. Öffentlich ist es nicht, sorry. Es ist keine klasse oder sonstetwas definiert, es geht nur darum ein Radio hinzuzufügen, mehr momentan noch nicht, der Rest würde im Modul stattfinden, aber soweit bin ich ja noch nicht.

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

    Standard

    Zitat Zitat von Armour Beitrag anzeigen
    mehr steht im DCA nicht
    Also du siehst doch hier im Forum, dass das unmöglich stimmen kann. Das wäre ja überhaupt kein korrekter PHP Code. Aber vielleicht ist das nur ein Copy & Paste Fehler? Zeige mal einen Screenshot, irgendwas stimmt hier nicht.



    Zitat Zitat von Armour Beitrag anzeigen
    sonst gibt es nur noch das languages File.
    Du hast hier auch noch ein Contao Manager Plugin erwähnt. Also dein Bundle muss zwangsläufig zumindest zusätzlich noch eine Bundle Klasse und ein Contao Manager Plugin haben.
    » sponsor me via GitHub or PayPal or Revolut

  11. #11
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.060
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von tab Beitrag anzeigen
    Also mit dem PaletteManipulator kenne ich mich noch nicht aus, aber dass das str_replace wie hier zu sehen Probleme verursachen kann ist mir klar. Ich bin mir jetzt zwar nicht sicher ob das immer noch so ist wie zu guten alten Contao 3 Zeiten, aber zumindest damals wurde das zweimal aufgerufen und somit hätte man im Endeffekt das hier in der globalen Variable stehen

    PHP-Code:
    '{title_legend},{title_legend},contentcategory,' 
    Und das kann eigentlich nicht gesund sein.
    Ist auch falsch, es würde dann eher so aussehen:

    PHP-Code:
    '{title_legend},contentcategory,contentcategory,' 
    Mit jedem Lauf des Codes eine 'contentcategory,' mehr. Wenn es nur einmal durchlaufen wird ist es ok, ansonsten müsste man bei der str_replace-Methode noch den ursprünglichen Wert danach, also nach '{title_legend},' in das str_replace mit reinnehmen. Dann würde sicher nur einmal ersetzt, zumindest an der Stelle.

  12. #12
    Contao-Nutzer
    Registriert seit
    24.01.2015.
    Ort
    Tönisvorst
    Beiträge
    31

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Also du siehst doch hier im Forum, dass das unmöglich stimmen kann. Das wäre ja überhaupt kein korrekter PHP Code. Aber vielleicht ist das nur ein Copy & Paste Fehler? Zeige mal einen Screenshot, irgendwas stimmt hier nicht.



    Du hast hier auch noch ein Contao Manager Plugin erwähnt. Also dein Bundle muss zwangsläufig zumindest zusätzlich noch eine Bundle Klasse und ein Contao Manager Plugin haben.
    Ich würde gerne ein komplettes zip zur vefügung stellen, wie gesagt, da ist nicht viel drin, kann hier kein Zip hochladen. Spooky, wenn du ne Mail hast, kann ich dir das senden.

  13. #13
    Contao-Nutzer
    Registriert seit
    24.01.2015.
    Ort
    Tönisvorst
    Beiträge
    31

    Standard

    Zitat Zitat von Armour Beitrag anzeigen
    Ich würde gerne ein komplettes zip zur vefügung stellen, wie gesagt, da ist nicht viel drin, kann hier kein Zip hochladen. Spooky, wenn du ne Mail hast, kann ich dir das senden.
    Geht doch
    Geändert von Armour (02.04.2021 um 09:29 Uhr)

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

    Standard

    Du hast options_callback statt options in deinem DCA geschrieben
    » sponsor me via GitHub or PayPal or Revolut

  15. #15
    Contao-Nutzer
    Registriert seit
    24.01.2015.
    Ort
    Tönisvorst
    Beiträge
    31

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Du hast options_callback statt options in deinem DCA geschrieben
    Oh man, das war es wirklich, ich danke dir.

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
  •