Pico CMS White Space Problem in Twig

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 }}

Dabei rendert Twig die Zeile fehlerhaft und macht daraus:

Autor:CMSWorkbench

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 }}

Daraus entsteht dann die korrekte Schreibweise:

Autor: CMSWorkbench

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.

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

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

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

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.

Top Rankings bei Google und co.

Top Rankings bei Google und co. - Das Seo Buch wurde für Einsteiger und Anfänger geschrieben. Es kann aber auch Seo Fortgeschrittenen, dabei helfen eine sehr gute Seo-Strategie zu entwickeln. Mit den im Buch vorgestellten Anleitungen können Sie Ihre Webseite für bestimmte Keywords (Suchbegriffe) optimieren. Die vorgestellten Schritte führen dann zu besseren Rankings und im Idealfall zu Top-Rankings. Sie bekommen die Anleitungen die bei uns am besten funktionieren, damit Sie auch mit Seo Optimierung erfolgreich sein können. (*

lesen...

© CMSWorkbench.de

leerzeichen whitespace space join

about me

About me

Mein Name ist Oliver Lohse. Ich bin diplomierter Wirtschafts-Informatiker und Organisations-Programmierer in verschiedenen Programmier-Sprachen und Markup-Dialekten, z.B. Java, JEE, COBOL, PHP, Python, MySQL, HTML, CSS, ANSI C, Lisp, Rexx, JavaScript, Scheme, ActionScript 2.0, Maschinensprache, Assembler und JCL. Seit mehr als 24 Jahren arbeite ich als Entwickler in einem großen Softwareunternehmen für Versicherungen in Hannover Niedersachsen und seit etwa 37 Jahren im EDV-Sektor mit wechselnden Aufgaben.