![]() |
| | Themen-Optionen |
| | Nach oben #21 |
| Benjamin Klaile Registriert seit: 02.12.2004 Ort: Remagen
Beiträge: 4.480
|
Äh, zu deinem Code der index.php. Wo genau soll die Variable $template denn herkommen? Du definierst sie ja gar nicht. Zur Methode out(). Ähm, hallo? Schon aufgewacht? load = laden out(put) = Ausgabe In der Methode soll nichts geladen, sondern das fertiggeparste Template ausgegeben werden. Irgendwie logisch und schon aus dem Methodennamen ersichtlich, oder? Weiterhin .. PHP-Code: Schau dir auch mal: an. Grüße, Ben. |
| |
| | Nach oben #23 | |
| Benjamin Klaile Registriert seit: 02.12.2004 Ort: Remagen
Beiträge: 4.480
|
Hi, stell doch mal ein error_reporting(E_ALL) an den Beginn deiner index.php, als vor alle include-Anweisungen. Dann würdest du folgene Ausgabe erhalten. (Stand: oben von dir geposteter Code) Zitat:
PHP-Code: Dann gibt es auch noch PHP-Code: Das sind nur die offensichtlichen Fehler. Bevor die nicht behoben sind, brauchen wir hier gar nicht weitermachen. Grüße, Ben. [PS] Ich bin nett. | |
| |
| | Nach oben #24 |
| Benutzer Registriert seit: 10.09.2006
Beiträge: 42
|
Sorry, ich hab die entsprechenden Stellen in meiner class.php abgeändert. Hab die class.php einzeln aufgerufen und bekomm keine Fehlermeldung. Jetzt spinnt meine index.php aber! Ich kann doch wohl ein Include richtig schreiben! Aber genau da hat er ein Parse Error: Das kappier ich nicht. Syntax Error Code: <?php
error_reporting(E_ALL)
include ("class.php");
?>
Parse error: syntax error, unexpected T_INCLUDE in /home/www/web0/html/v2/test.php on line 4 |
| |
| | Nach oben #28 |
| Benjamin Klaile Registriert seit: 02.12.2004 Ort: Remagen
Beiträge: 4.480
|
Dazu braucht man kein Buch. Schau dir die entsprechende Tutorials an (sind in diesem Thema verlinkt) und lerne daraus. Solltest du weitere Fragen haben, mache bitte ein eigenes Thema im entsprechenden Forum auf. Danke. Grüße, Ben. |
| |
| | Nach oben #32 |
| Benjamin Klaile Registriert seit: 02.12.2004 Ort: Remagen
Beiträge: 4.480
|
Hi, du willst, dass ich netter bin, gibst mir aber absolut keinen Anlass dazu. Was ist das denn für eine Frage/Problembeschreibung? Was denn nun? Klappt es mittlerweile so, wie du es willst oder nicht? Du sollst natürlich erstmal die syntaktisch inkorrekten Passagen, die ich dir ja gezeigt habe, ausbessern und danach nochmal die Abfolge überdenken. Weiterhin weiß ich immer noch nicht, wo eigentlich dein Problem ist, weil ich nicht erkennen kann, was du machen willst ... Grüße, Ben. |
| |
| | Nach oben #33 | |
| Benutzer Registriert seit: 10.09.2006
Beiträge: 42
|
Es klappt nicht so wie ich will! "Normale" Platzhalter gehen, aber Language Platzhalter nicht. Ausgabe der Index PHP: Zitat:
Entsprechende Language Teil in der class.php: Code: public function loadLanguage($files)
{
// Die Dateinamen der Sprachdateien
$this->languageFiles = $files;
// Versuchen, alle Sprachdateien einzubinden
for ($i=0;$i<count($this->languageFiles);$i++) {
// wenn die Datei $this->languageDir.$this->languageFiles[$i] nicht existiert
if (!file_exists($this->languageDir.$this->languageFiles[$i])) {
return false;
}
// Einbinden...
include($this->languageDir.$this->languageFiles[$i]);
// !! jetzt steht das Array $lang zur Verfügung
}
$this->replaceLanguage($lang);
return $lang;
}
protected function replaceLanguage($lang)
{
// simple replace width preg_replace
$this->template = preg_replace("/".$this->leftDelimiterL."(.*)".$this->rightDelimiterL."/isUe", "\$lang[strtolower('\\1')]", $this->template);
return true;
}
Code: $this->template = preg_replace("/".$this->leftDelimiterL."(.*)".$this->rightDelimiterL."/isUe", "\$lang[strtolower('\\1')]", $this->template);
Geändert von Ben (14.09.2006 um 12:32 Uhr). Grund: Formatierung etwas abgeändert | |
| |
| | Nach oben #36 |
| Benjamin Klaile Registriert seit: 02.12.2004 Ort: Remagen
Beiträge: 4.480
|
Btw. schon mal dran gedacht, dass die Datei $lang hier überschrieben wird? PHP-Code: |
| |
| | Nach oben #37 |
| Benutzer Registriert seit: 10.09.2006
Beiträge: 42
|
also, das was hier soll weis ich auch nicht. Code: "/isUe", "\$lang[strtolower('\\1')]"
Vermutung: in der index.php wird die ID des Arrays $lang umgeschrieben? in Code: $langs[] = "lang_german/lang_main.php"; |
| |
| | Nach oben #38 | |||
| Benjamin Klaile Registriert seit: 02.12.2004 Ort: Remagen
Beiträge: 4.480
| Zitat:
Zitat:
Zum Thema reguläre Ausdrücke: (aber das ist wiederum ein neues Thema und sollte nicht in diesem Thread diskutiert werden!) Jut, weiter im Text. Hä? Was hast du denn jetzt geändert? Warum geht es jetzt und vorher nicht? Zitat:
Meinst du einen Array-Index? Einen Schlüssel? PHP-Code: Du machst es uns wirklich nicht leicht .. und als Tipp. Komm in naher Zukunft mal zu Potte, was eine akzeptable Problembeschreibung angeht, sonst verliere ich meine Geduld (und beachte dieses Thread nicht mehr) und das ist sicherlich auch nicht in deinem Sinne! Ist nur gut gemeint. Grüße, Ben. | |||
| |
| | Nach oben #39 |
| Benutzer Registriert seit: 10.09.2006
Beiträge: 42
|
Ok ok, Also ich habe das Array geändert, ich hatte den Anfangsbuchstaben groß geschrieben, habe im Template es aber klein geschrieben. So konnte er das Array nicht finden! Also - ich hab noch folgende Platzhalter vor für: Hyperlinks, Funktionen, Includes, Vielleicht auch noch direkt einen AdminDir Include "Platzhalter" oder für andere Verzeichnisse! - Sag mal - was hab ich dir eigentlich getan! Ist es zu schwierig mal nachzudenken was ich meinen könnte und welches Problem ich evtl. habe oder was? Ich kann auch mal was vergessen zu posten! Was hab ich dir eigentlich getan? Aber meine Frage: Wie genau geht das mit den Hyperlinks usw.? Genau wie ein "normaler" Platzhalter nur das der Wert des Arrays eben anders ist oder wie? |
| |
| | Nach oben #40 | ||
| Benjamin Klaile Registriert seit: 02.12.2004 Ort: Remagen
Beiträge: 4.480
|
Hi, bezogen auf diese Aussage hier Zitat:
Versuche dich nicht direkt an so komplexen Dingen, sondern fange etwas bodenständiger an. Arbeite dich langsam nach oben. Du scheinst mir alles auf einmal machen zu wollen. Zitat:
Das brauchst du gar nicht abstreiten. Das erkennt man, wenn man nicht erst seit vier Tagen in der Forenwelt aktiv ist! Einen Tipp bekommst du dennoch. Ein Hyperlink sieht ja grob folgendermaßen aus HTML-Code: <a href="verweis.html">Beschreibung</a> Also musst du ja nur verweis.html und Beschreibung variabel machen. Alles andere bleibt ja immer gleich. Demnach .. HTML-Code: <a href="{LINK_VERWEIS}">{LINK_BESCHREIBUNG}</a> Grüße, Ben. | ||
| |
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| [PHP] Ein eigenes Templatesystem schreiben | Corvin | Tutorials | 42 | 19.03.2008 17:58 |