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

JavaScript

JavaScript - Möchten Sie sich für Ihren Job oder Ihr Studium einen Vorteil verschaffen und objektorientiertes Programmieren lernen? Wollen Sie Ihre eigenen Codes schreiben, auch wenn Sie noch keine Ahnung von Programmiersprachen haben? Brauchen Sie eine Schritt-für Schritt Anleitung, mit der Sie mühelos Ihre ersten eigenen Befehle in Java erstellen können? (*

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.