Deprecated (veraltete) InsertTags finden und ersetzen

(Kommentare: 0)

Veraltete InsertTags in Contao finden und ersetzen

Mit Contao 2.11 wurden einige InsertTags als veraltet ("deprecated") markiert. Verwendet man sie dennoch erscheint eine Fehlermeldung wie
  The insert tag "env::page_name" is deprecated. Please use "page::title" instead.
oberhalb der Contao-Webseite. Es gilt also die veralteten InsertTags zu orten und durch die neuen Versionen zu ersetzen. Gerade bei sehr komplexen Webseiten kann es ziemlich umständlich sein, diese zu finden, weil man sie im ausgelieferten Quellcode der Seite nicht mehr erkennt. Diese Anleitung hilft dir, die InsertTags zu leichter zu finden.

Betroffene InsertTags

Die folgenden InsertTags müssen ersetzt werden:

  • env::page_id durch page::id
  • env::page_alias durch page::alias
  • env::page_name durch page::title
  • env::page_title durch page::pageTitle
  • env::page_language durch page::language
  • env::parent_alias durch page::parentAlia
  • env::parent_name durch page::parentTitle
  • env::parent_title durch page::parentPageTitle
  • env::main_alias durch page::mainAlias
  • env::main_name durch page::mainTitle
  • env::main_title durch page::mainPageTitle
  • env::website_title durch page::rootTitle

Benötigt:

  • Keine Module oder anderen Anforderungen

Anleitung:

  1. Zunächst ist es hilfreich unter Einstellungen in der Rubrik "Sicherheitseinstellungen" die Option "Fehlermeldungen anzeigen" zu deaktivieren. Damit werden die Warnhinweise zunächst ausgeblendet. Es ist dann dennoch wichtig, die InsertTags zu ersetzen, weil diese in einer der kommenden Contao-Versionen entfernt werden. Dieser Schritt dient also nur erst mal dazu, die Optik der Seite zu korrigieren.
  2. Lege zur Sicherheit ein Backup der Datei system/libraries/Controller.php an.
  3. Suche in der Datei system/libraries/Controller.php die entsprechende Zeile, die die Fehlermeldung ausgibt, beispielsweise Zeile 2094 (bei Contao 2.11.4) bezüglich dem alten InsertTag env::page_name:
    trigger_error('The insert tag "env::page_name" is deprecated. Please use "page::title" instead.', E_USER_NOTICE);
    Alle Zeilen befinden sich als ein aufeinanderfolgender Block in der Datei uns sich sehr leicht zu finden, wenn du nach der Fehlermeldung suchst. 
  4. Ergänze die folgende Zeile vor dem Semikolon um . " <!-- INSERTTAG -->", also beispielsweise von:
    $arrCache[$strTag] = $objPage->title;
    zu
    $arrCache[$strTag] = $objPage->title . " <!-- INSERTTAG -->";
    Speicher nun die Datei ab.
  5. Rufe die Contao-Webseite auf und öffne dort den Quellcode. Darin kannst du nach "INSERTTAG" suchen. So findest du innerhalb des Quellcodes die Stelle, an der der InsertTag eingefügt ist.
  6. Nun kannst du anhand der Stelle im Quelltext deutlich leichter erkennen, um was für ein Modul, Template, etc. es sich vermutlich handelt, in dem das InsertTag Verwendung findet.
  7. Wiederhole die Schritte 3-7 für jede dieser Fehlermeldungen, die du für veraltete InsertTags erhältst.
  8. Stelle die Sicherungskopie von Controller.php aus Schritt 2 wieder her.
  9. Schalte ggf. die Ausgabe von Fehlermeldungen ein, wenn du diese in Schritt 1 deaktiviert hast.

Zurück

Einen Kommentar schreiben