White Space Problem in Twig Pico

home pico admin

COBOL - Altsysteme warten und erweitern. Das umfassende Praxis-Handbuch   -  Dieses Buch richtet sich an erfahrene Entwickler objektorientierter Sprachen wie C++ oder Java. Es vermittelt die Funktionsweise der Programmiersprache COBOL, um die in zahlreichen Implementierungen auf unterschiedlichen Plattformen immer noch produktiv laufenden COBOL-Programme zu verstehen, zu warten und bei Bedarf mit zusätzlichen Funktionalitäten zu erweitern. Dafür bietet es Ihnen sowohl eine grundlegende Einführung in die Programmierung mit COBOL als auch eine thematisch gegliederte Referenz der Befehle mit praktischen Beispielen.

Wir sind Mitglied im Amazon.Partnernet und können mit Affiliate-Links den Betrieb der Webseite etwas unterstützen, für Sie als Leser ist das natürlich vollkommen kostenlos.

Das Pico CMS mit Twig hat ein Leerzeichen-Problem, denn Leerzeichen (Whitespaces) vor Templatevariablen werden von der internen Template Engine Twig verschluckt

Leerzeichen Fehler im Twig

Wollten Sie im Pico CMS bzw. im Twig beispielsweise einen Meta-Footer erzeugen, dann mussten Sie dies wie folgt tun:

Autor: {{ meta.author }}

Code

Dabei rendert Twig die Zeile fehlerhaft und macht daraus:

Autor:CMSWorkbench

Code

Twig verschluckt dabei das führende Leerzeichen vor dem Meta-Attribut author. Alternativ wurde dies mittels join-Filter im Template-Design gelöst.

{{ ['Autor: ', meta.author]|join }}

Code

Daraus entsteht dann die korrekte Schreibweise:

Autor: CMSWorkbench

Code

Die Lösung des Whitespace-Problems mittels join ist jedoch auf Dauer viel zu umständlich, daher habe ich den Fehler gesucht und auch wie folgt behoben.

Die Lösung

Das Problem der falschen Leerzeichen (Leerzeichen werden verschluckt) in Pico bzw. Twig, liegt in der Datei vendor/twig/twig/lib/Twig/Lexer.php. Suchen Sie dort nach der folgenden Passage, die sich in meiner Version in der Zeile 174 befindet.

if (isset($this->positions[2][$this->position][0])) {
    $text = rtrim($text);
}

Tauschen Sie die alte Zeile 174 gegen die folgende Zeile 174 aus (und auch nur diese eine Zeile).

if (isset($this->positions[2][$this->position][0]) && ($this->options['whitespace_trim'] === $this->positions[2][$this->position][0])) {
    $text = rtrim($text);
}

Das Leerzeichen-Problem ist schnell behoben. Sie sollten die Korrektur unbedingt im Pico CMS bzw. Twig Symphony vornehmen, da Sie sonst das Problem mittels join-Filter umschiffen müssten - das ist auf Dauer zu umständlich. Allerdings erhalten Sie dadurch ein anderes Problem, denn Leerzeichen werden nun unverändert weiter gegeben und dies könnte Ihr SEO negativ beeinflussen, da Titel plötzlich länger als erwartet werden.


 28.01.2024    Kontakt@Oliver-Lohse.de    Space Fehler

JavaScript das umfassende Handbuch. JavaScript objektorientiert lernen und verstehen   -  Ein umfassender Einstieg in JavaScript, viele praktische Beispiele und eine Darstellung auch professioneller Techniken - all das zeichnet dieses unverzichtbare Handbuch aus. Es eignet sich sowohl für Anfänger, die JavaScript von Grund auf lernen, als auch für Fortgeschrittene und Profis, die wissen wollen, wie man moderne, dynamische Webanwendungen entwickelt. Hier finden Sie alle wichtigen Techniken - Ajax, jQuery, Node.js, DOM und mehr. Entdecken Sie die neuesten Trends, Techniken und Entwicklungen bis hin zur Steuerung von Microcontrollern. Machen Sie sich mit Objektorientierung, ECMAScript 21 und funktionaler Programmierung vertraut und profitieren Sie von zahlreichen praxisnahen Beispielen für den sofortigen Einsatz. Das perfekte Lehrbuch für moderne Webentwickler!

Wir sind Mitglied im Amazon.Partnernet und können mit Affiliate-Links den Betrieb der Webseite etwas unterstützen, für Sie als Leser ist das natürlich vollkommen kostenlos.

Weitere passende Beiträge

WordPress Seite nicht erreichbar?

 wordpress  Fehler


Ist Ihre WordPress Webseite nach dem letzten Update nicht mehr erreichbar, dann könnte Ihnen dieser Beitrag schnell helfen um das Problem schnell zu beheben

TinyMCE nicht im Bludit Standardmode

 bludit  TinyMCE Editor Fehler


Der TinyMCE läuft nicht im Standardmode, statt dessen ist der MarkDown Parser aktiviert. Diese Meldung erhalten Sie oft wenn JavaScripte in Plugins stören.

Serverfehler beim speichern von Beiträgen

 yellow  Fehler 404 Error


Yellow CMS versucht den Dateinamen mit dem Titel des Beitrags in Einklang zu bringen, dabei kann einiges schief gehen.

Server Fehler Abbruch bei Klick auf Links

 wondercms  Fehler Error 404


In der htaccess der Standardinstallation des WonderCMS befindet sich in einigen Fällen ein korrigierbarer Fehler, der allerdings zu einem Abbruch führt.

PICO CMS Fehler ab PHP8+

 pico  Fehler Abbruch 404 Error


PICO Abbruch ab Version PHP8 kann schnell selbst behoben werden, dann läuft das beliebte CMS stabil weiter.

GRAV Admin Backend hängt fest

 grav  Fehler 404 Admin Backend


GRAV CMS das Admin Backend bleibt hängen, was Sie tun können zeigt dieser kurze Beitrag als Lösung

Fehlerausgaben in Smarty unterdrücken

 smarty  Fehler Template


So verhindern Sie die Ausgabe von Warnungen und Meldungen in der Template Engine Smarty. Besonder hilfreich während der Entwicklung in kleinen Projekten.

Fehler im Adminbackend beim Laden von Bildern

 yellow  Fehler 404 Error


Arbeiten Sie mit dem korrekten Pfad und Base-URL, um Fehler im Admin-Backend zu verhindern.

CSS Fehler PRE-Tag in Automad

 automad  Fehler CSS


Das CMS Automad formatiert den PRE-Tag in dieser Version falsch. Korrigieren Sie dies mit wenigen CSS-Statements, um formatieten Text nutzen zu können.

404 Fehlerseite an Google senden

 php  Error Fehler 404


Sie möchten einen alten Artikel aus dem Google-Index entfernen dann sollten Sie vorher diesen Beitrag lesen

Impressum


CMSWorkbench.de ist eine reine Entwickler-Webseite und dient vorwiegend als Wissensspeicher für die Entwicklung von CMS

Datenschutz


Die Webseite verwendet keinerlei Tracking- oder Speicher-Mechanismen, die Rückschlüsse auf Ihre IP oder das Leseverhalten zulassen

Affiliate


Wir sind Mitglied im Amazon Partnernet und können mit Affiliate-Links (* den Betrieb der Seite etwas unterstützen, für Sie ist das natürlich kostenlos

Kontakt


Sie können mit uns über eMail Kontakt aufnehmen, schreiben Sie an Kontakt@Oliver-Lohse.de