Tutorials

Eine immer größer werdende Tutorialdatenbank.

PHP-Fusion Core

Aktuelle PHP-Fusion Vollversionen und Updates

Addon Downloads

Alle Downloads garantiert Kostenlos

Support 24/7

24 Stunden, 7 Tage die Woche, das ganze Jahr.

Code in ein Panel Einfügen
Kategorie: PHP-Fusion
PHP-Fusion Version: v7.02.xx
Quelle: Layzee, gfdf.de
Schwierigkeitsgrad:
 
Ich habe die Frage "Wie füge ich Code XY in ein Panel ein?" schon so unzählige Male in so vielen Foren gelesen. Oft wird auf die Suche verwiesen, mindestens genauso oft wird einfach die fertige Lösung gepostet.

Ich möchte Euch an dieser Stelle jetzt mal grundlegend erklären, wie man eigenen oder auch "externen" Code in Panels einfügt und dabei nicht nur zwei fertige Beispiele posten sondern Euch auch die Hintergründe erklären.

Die häufigste Ursache für fehlerhafte Darstellung, irgendwelche Fehlermeldungen oder das Leerbleiben des neu erstellten Panels ist, dass der entsprechende Code ganz einfach grundlegend falsch eingefügt wird. Hierbei passiert es häufig, dass einfach nicht auf die Syntax geachtet wird.

Faq

Wenn Ihr ein neues Panel erstellt über den Adminereich, wird IMMER folgender Code vorgegeben:

GeSHi: PHP


  1. openside("name");
  2. echo "Content";
  3. closeside();
gewandelt in 0.018 Sekunden, benutzt wurde GeSHi 1.0.8.10



Ich erkläre Euch die drei Zeilen mal genauer:

openside("name");
Mit diesem Befehl wird das Panel "geöffnet".
Gleichzeitig wird durch ("name") ein Name für das Panel vergeben, welcher in der Titelzeile (Head) des jeweiligen Panels angezeigt wird. Ausserdem wird durch Aufruf der Konstante "opentable" auf die in der theme.php und styles.css festgelegten Style-Definitionen zugegriffen. Auf diese Weise braucht ein Themedesigner die Panels generell nur zweimal stylen: Einmal Seitenpanels, einmal Mittelpanels. Durch das ";" am Ende wird der Befehl, wie jeder Befehl unter PHP, geschlossen.

echo "Content";
Diese Zeile ist nichts weiter als ein Beispielcode.
Der Befehl "echo" bewirkt die Ausgabe de Textes, der zwischen den " " steht, in diesem Fall würde also das Wort "Content" im Panel ausgegeben. Auch dieser Befehl wird wieder mit einem ";" geschlossen. Gerade diese Codezeile ist es, die für Verwirrung und Fehlermeldungen führt, doch dazu gleich mehr.

closeside();
Durch diesen Befehl, welcher auch wieder mit einem ";" geschlossen wird, wird das Panel geschlossen. Gleichzeitig wird auch hier wieder auf die Style-Definitionen in der theme.php und styles.css zugegriffen. Mit diesem Befehl weiss das Script dann, dass das Panel an dieser Stelle zu Ende ist.

Es gibt zwei verschiedene Arten von Panel in PHP-Fusion:
1. Seitenpanels (openside und closeside)
2. Mittelpanels (opentable und closetable)

Die Seitenpanels sind in ihrer Breite immer recht begrenzt (zwischen 150 und 250 Pixel, je nach Theme), was das Einfügen von breiteren Inhalten in Mittelpanels manchmal notwendig macht.
Achtet also beim Einfügen vor Allem von externem Code immer darauf, dass Ihr das passende Panel wählt.

Kommen wir jetzt nochmal auf die Zeile
echo "Content";
zu sprechen. Wie ich ja oben schon erwähnte, handelt es sich hierbei schlicht und ergreifend um einen Beispielcode, damit Ihr wisst an welcher Stelle im Code Ihr eigene Inhalte einfügen könnt.
Diese Zeile kann so übernommen und innerhalb der " " mit eigenem Text befüllt oder auch einfach gelöscht werden.
Wenn Ihr komplexen Code habt der aus mehreren Zeilen besteht, kommt es sehr oft zu Fehlermeldungen - Grund dafür ist die grundlegende Syntax des "echo"-Befehls.
Wenn der Text eines echo-Befehls zwischen " " steht, dürfen im echo-Befehl selbst keine weiteren " " vorkommen. Das passiert am häufigsten beim Einfügen von HTML-Code, innerhalb dessen in einem solchen Fall alle " " durch ' ' ersetzt werden müssten, oder aber der echo-Befehl selbst wird in ' ' gesetzt.

Um dieses "Verwirrspiel" gänzlich zu vermeiden empfiehlt es sich, den einfacheren Weg zu gehen und PHP für die Dauer des eigenen Codes einfach zu schliessen/exkludieren. Hört sich nun wahnsinnig kompliziert an, ist aber im Grunde ganz einfach:

GeSHi: PHP


  1. openside("name");
  2. ?>
  3. EUER HTML-CODE SO WIE ER IST
  4. <?php
  5. closeside();
gewandelt in 0.017 Sekunden, benutzt wurde GeSHi 1.0.8.10



Erklärung:
Auch in diesem Fall wird das Panel ganz normal mit "openside" geöffnet und am Ende mit "closeside" geschlossen, aber der Mittelteil, nämlich der Inhalt des Panels hat sich nun verändert. Wir bedienen uns in diesem Beispiel nicht mehr des PHP-Befehls "echo" sondern exkludieren PHP komplett und können dadurch für den Mittelteil ganz normalen HTML-Code verwenden, eben so wie er von Anbietern vieler externer Codes angeboten wird.
Auf diese Weise brauchen wir uns mit der Syntax des "echo"-Befehls nicht mehr herumschlagen und nicht mehr auf die Verwendung von " " bzw ' ' zu achten.

Also:
durch den Befehl
?>
wird PHP geschlossen, hiernach kann normaler HTML-Code verwendet werden.

durch
<?php
wird PHP vor "closeside();" wieder geöffnet, damit dieser PHP-Befehl wieder ordnungsgemäss abgearbeitet werden kann.

Quelle: http://gfdf.de/in...orial_id=8

Tutorial Verlinken

URL: 
BBCode: 
HTML-Code: 
Kommentare
Es wurden noch keine Kommentare verfasst.
Kommentar schreiben
Bitte logge dich ein, um einen Kommentar zu verfassen.
Anzeige


Anmelden


Registrieren Passwort vergessen

RSS Feeds

Feeds abonieren

Letzte News
Letzte Threads
Anzeige

© Copyright 2018 PHP-Fusion.at | Alle Rechte vorbehalten.

© 2016 Real Space. All rights reserved | Design by W3layouts | 10,434,121 eindeutige Besuche
Powered by PHP-Fusion copyright © 2002 - 2018 by Nick Jones. Released as free software without warranties under GNU Affero GPL v3.