Ankündigung

Einklappen
Keine Ankündigung bisher.

Error: Function name must be a string in CustomElements/Core/Hooks.php

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Error: Function name must be a string in CustomElements/Core/Hooks.php

    Hey,
    ich habe vor kurzem die Contao-Version der Website eines Freundes von 3.4.4 auf 3.5.36 geupdated und bin außerdem auf PHP7 umgestiegen.
    Mein Freund hat jetzt folgende Fehlermeldung bekommen, nachdem er versucht hat einen Artikel im Contao-Backend zu bearbeiten:



    Die betreffende Code-Stelle in system/modules/pct_customelements/PCT/CustomElements/Core/Hooks.php on line 120 lautet:

    /**
    * Call the generateWildcardValue HOOK
    * @param string
    * @param object
    * @return string
    * Triggered in: PCT\CustomElements\Backend\BackendIntegration
    */
    protected function processWildcardValue($varValue,$objAttribute)
    {
    // HOOK: allow other extensions to manipulate the wildcard output
    if (isset($GLOBALS['CUSTOMELEMENTS_HOOKS']['processWildcardValue']) && count($GLOBALS['CUSTOMELEMENTS_HOOKS']['processWildcardValue']) > 0)
    {
    foreach($GLOBALS['CUSTOMELEMENTS_HOOKS']['processWildcardValue'] as $callback)
    {
    $varValue = ControllerHelper::importStatic($callback[0])->$callback[1]($varValue,$objAttribute); //DIESE ZEILE IST BETROFFEN
    }
    }

    return $varValue;
    }

    (1) Das hier war der einzige Forenbeitrag, den ich zu selbiger Fehlermeldung gefunden habe:
    https://forum.premium-contao-themes....3-5-6-und-php7
    Aber die Antwort hilft mir nicht wirklich weiter.

    (2) Danach habe ich mal nach ähnlichen Code-Zeilen online geguckt, ob da vielleicht die Syntax leicht anders ist und sich dadurch die Fehlermeldung "Function name must be a string" erklärt. Ich habe z.B. diese Zeile (Zeile 498) gefunden:
    \System::importStatic($callback[0])->{$callback[1]}($dc);
    Vielleicht muss man also nur {} um $callback[1] setzen, wie es in dieser Code-Zeile gemacht wurde!?
    Quelle: github-Seite der CustomElements Erweiterung von rocksolid
    https://github.com/madeyourday/conta...omElements.php

    (3) Ich habe meine Frage auch im Contao Community Forum gepostet und bekam die Antwort: "Du musst die Module deines Themes aktualisieren - also die PCT Module. "
    Nun habe ich bisher kaum mit Contao gearbeitet (probiere nur einem Freund zu helfen) und weiß 1. nicht ob das die Lösung ist und 2. wie man die Module aktualisiert.
    Ich frage mich wo ich genau die neueste Version der Module herunterladen kann und auch welche genau das überhaupt wären.
    Die Ordner innerhalb von system/modules/pct_customelements/PCT/CustomElements? Die Ordner da drin heißen: Attributes, Backend, Core, Frontend, Helper, Loader, Models und Widgets.
    Oder müssen die Änderungen auf einer höheren Ebene erfolgen (system/modules/pct_customelements ), wo assets, config, dca, languages, PCT, templates und die changelog.txt liegen?

    (4) Auch habe ich gesehen, dass die Erweiterung "Custom Elements" unter Erweiterungsverwaltung gar nicht in meiner Liste auftaucht, was mich wundert. Ist das normal?

  • #2
    Alle aktuellen Modulversionen sind php 7.2 kompatibel. Bitte entsprechend der Anleitungen und auch der Theme-Updateleitfäden updaten.
    Exakt die gleiche Frage: https://forum.premium-contao-themes..../11451-php-7-1

    Thread wird geschlossen.
    Zuletzt geändert von Tim; 17.12.2018, 07:32.
    http://www.premium-contao-themes.com

    Kommentar

    Lädt...
    X