Ergebnis 1 bis 11 von 11

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

  1. #1
    Contao-Nutzer
    Registriert seit
    23.10.2017.
    Beiträge
    114

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

    Hallo,

    ich habe versucht, das Modul zad_sendnews um einen automatischen Teaser zu erweitern. Dabei habe ich folgende Zeilen gefunden (https://community.contao.org/en/show...-news-by-email):
    PHP-Code:
    // add default auto-teaser at first full stop or 80 chars
    $this->import('String');
    $pos max(300, (strpos($this->text'.')+1));
    $this->news['teaser'] = $this->String->substr($this->text$pos, ($pos == 300)); 
    Ansich funktioniert die Erweiterung absolut problemlos unter Contao 4.5, nur bei dieser Modifikation tritt ein Fehler auf:

    Code:
    Attempted to load class "String" from the global namespace. Did you forget a "use" statement for "PHPExcel_Shared_String"?
    bzw.

    Code:
    [2018-02-09 23:06:02] app.CRITICAL: An exception occurred. {"exception":"[object] (Symfony\Component\Debug\Exception\ClassNotFoundException(code: 0): Attempted to load class "String" from the global namespace.\nDid you forget a "use" statement for "PHPExcel_Shared_String"? at /var/www/vhosts/hosting104991.af9be.netcup.net/httpdocs/contao4/vendor/contao/core-bundle/src/Resources/contao/library/Contao/System.php:175)"} []
    Ich habe dabei schon gefunden, dass das Problem angeblich gelöst ist (https://github.com/contao/standard-edition/issues/64), ist es aber nicht. Sendnews verwendet auch eine .htaccess. Wie könnte man den Fehler beheben?

    Gruß

  2. #2
    Contao-Urgestein
    Registriert seit
    29.10.2009.
    Ort
    Magdeburg
    Beiträge
    2.020
    Partner-ID
    626
    User beschenken
    Wunschliste

    Standard

    Ich glaube kaum, dass die Erweiterung unter Contao 4.5 ohne Anpassungen funktionieren wird. Die besagte Klasse String existiert nicht mehr in Contao 4.5, da hier PHP 7.1 vorausgesetzt wird. Die entsprechende Klasse StringUtil wurde ja schon seit Contao 3.5.x bereits bereitgestellt.

  3. #3
    Contao-Urgestein Avatar von folkfreund
    Registriert seit
    09.04.2010.
    Beiträge
    1.928

    Standard

    Abgesehen davon ist es immer schwierig, wenn ein Programmkommentar etwas anderes aussagt als das Programm tut ;-)
    Der Code begrenz auf 300 und nicht auf 80 Zeichen.

  4. #4
    Contao-Nutzer
    Registriert seit
    23.10.2017.
    Beiträge
    114

    Standard

    Also die Erweiterung funktioniert einwandfrei unter 4.5, nur die kleine Anpassung nicht. Und okay, das Original war mit 80 Zeichen, aber das habe ich eben auf 300 angepasst. Wie kann man denn das Problem lösen bzw. das mit dem String umgehen?

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

    Support Contao

    Standard

    Die StringUtil-Klasse benutzen anstatt der String-Klasse.

  6. #6
    Contao-Fan Avatar von Stefko
    Registriert seit
    25.10.2012.
    Ort
    Karlsruhe
    Beiträge
    774
    User beschenken
    Wunschliste

    Standard

    Ahoi,
    Durchsuche die Erweiterung nach String:: und ersetze es durch StringUtil::


    Gesendet von iPhone mit Tapatalk Pro
    Grüße, Stefko

  7. #7
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.513
    User beschenken
    Wunschliste

    Standard

    PHP-Code:
    // add default auto-teaser at first full stop or 80 chars
    $pos max(300, (strpos($this->text'.')+1));
    $this->news['teaser'] = StringUtil::substr($this->text$pos, ($pos == 300)); 
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  8. #8
    Contao-Nutzer
    Registriert seit
    23.10.2017.
    Beiträge
    114

    Standard

    Alles klar, danke euch allen, ich habe es damit hinbekommen, funktioniert einwandfrei!

    Viele Grüße

  9. #9
    Contao-Urgestein Avatar von Franko
    Registriert seit
    22.06.2009.
    Beiträge
    1.503
    Partner-ID
    6122

    Standard

    Zitat Zitat von tefracky Beitrag anzeigen
    Ansich funktioniert die Erweiterung absolut problemlos unter Contao 4.5, nur bei dieser Modifikation tritt ein Fehler auf:
    Hallo,
    ich teste gerade die Erweiterung unter Contao 4.4.28 - Leider werden hier bei der Nutzung der Bilder Galerie die Bilder in der Galerie nicht autom. ausgewählt.
    Hat das bei euch in der 4.5 funktioniert?
    Freelancer, Digital Design Enthusiast, Contao Aficionado and Tutorial Junkie @MoinFranko - Carpe diem ...

  10. #10
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.943

    Standard

    Edit: zu langsam gelesen/geschrieben. Wirde oben bereits beantwortet :-(

    Zitat Zitat von tefracky Beitrag anzeigen

    PHP-Code:
    // add default auto-teaser at first full stop or 80 chars
    $this->import('String');
    $pos max(300, (strpos($this->text'.')+1));
    $this->news['teaser'] = $this->String->substr($this->text$pos, ($pos == 300)); 
    PHP-Code:
    // add default auto-teaser at first full stop or 80 chars
    $this->import('StringUtil');
    $pos max(300, (strpos($this->text'.')+1));
    $this->news['teaser'] = $this->StringUtil->substr($this->text$pos, ($pos == 300)); 
    oder besser

    PHP-Code:
    // add default auto-teaser at first full stop or 80 chars
    $pos max(300, (strpos($this->text'.')+1));
    $this->news['teaser'] = \StringUtil::substr($this->text$pos, ($pos == 300)); 
    da substr() eine statische Methode ist.

    Edit: Dein dritter Parameter für substr() ergibt wenig Sinn. Laut Quelltext hießt er $ellipsis und hat den Defaultwert ' ...'. Was soll Dein ($pos == 300) erreichen?

    Edit2: wenn bei Dir nach dem ersten Punkt oder maximal 300 Zeichen abgeschnitten werden soll, muß $pos m.E. mit min() berechnet werden.
    Geändert von fiedsch (16.11.2018 um 12:24 Uhr)
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  11. #11
    Contao-Urgestein Avatar von Franko
    Registriert seit
    22.06.2009.
    Beiträge
    1.503
    Partner-ID
    6122

    Standard

    Zitat Zitat von Franko Beitrag anzeigen
    Hallo,
    ich teste gerade die Erweiterung unter Contao 4.4.28 - Leider werden hier bei der Nutzung der Bilder Galerie die Bilder in der Galerie nicht autom. ausgewählt.
    Hat das bei euch in der 4.5 funktioniert?
    Mit einer Änderung konnte ich die autom. Bildvernknüpfung für die Galerie unter Contao 4.4.28 hinkriegen: s.:
    https://community.contao.org/de/show...l=1#post487465
    Freelancer, Digital Design Enthusiast, Contao Aficionado and Tutorial Junkie @MoinFranko - Carpe diem ...

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
  •