return vs. get

Der folgende Beitrag zeigt, wie Sie "return" statt "get" nutzen um HTML-Fehler zu vermeiden.

Im CMS GetSimple können Sie Inhalte aus Ihrem Content innerhalb des Templates mit return oder get aufrufen bzw. einblenden. Dazu das folgende Beispiel anhand der Methode *PageField() die den Inhalt eines definierten Feldes aus dem Content zurückgibt:

echo '<p class="small text-muted">'.getPageField($value['slug'], 'metad').'</p>';
echo '<p class="small text-muted">'.returnPageField($value['slug'],'metad').'</p>';

Bitte vernachlässigen Sie zunächst $value['slug'], denn es ist nur eine andere Schreibweise für den slug

In der ersten Zeile rufen Sie die Metadescription des Post auf, dies tut die zweite Zeile ebenfalls. Schauen Sie sich jedoch den erzeugten HTML-Sourcecode im Browser an erzeugen beide Zeilen einen unterschiedlichen Output:

das ist der Inhalt der Metadescription<p class="small text-muted"></p>
<p class="small text-muted">das ist der Inhalt der Metadescription</p>

get führt zur falschen Ausgabe vor den HTML-Tags, statt innerhalb der p-Tags

Währen der return den Output korrekt zwischen die HTML-Statements setzt, tut dies der get leider nicht. Ursache dafür ist, das der get-Aufruf bereits intern bei Methodenaufruf einen echo absetzt bevor die Steuerung wieder beim Rendering des Templates landet.

Dokumenation GetSimple: http://get-simple.info/wiki/themes:template_tags

PHP 8 und MySQL - Hier finden Sie einen leichten, fundierten Einstieg in die Webentwicklung mit PHP und seine Sprachgrundlagen. Erfahrenen PHP-Entwicklern bietet das Buch jede Menge Infos zu den fortgeschrittene Themen von PHP 8. Das Besondere dabei ist die Mischung aus Theorie und Praxis mit zahlreichen Code- und Anwendungsbeispielen. So lernen Sie professionelle Arbeitsweisen und nützliche Werkzeuge für die PHP-Entwicklung kennen.

Über Amazon unterstützen

lesen...

© CMSWorkbench.de

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.