php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2007

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 03.03.2007, 19:24  
Benutzer
 
Registriert seit: 05.02.2006
Beiträge: 53
kazuya
Standard Template und include

hi zusammen,
Ich habe ein Problem mit meinem code, und ich finde einfach nich raus woran das liegt ich habe versucht ein einfaches Templatesystem zu entwicklen^^ sieht in etwa so aus:
Index.php
PHP-Code:
<?php 

// Includes:
include('lang/de.lang.php');

echo(
lang(color(include('templates/darkblue/index.tpl'))));
?>
die de.lang.php sieht so aus:
PHP-Code:
<?php

function lang($text)
{
$s[] = "{sitename}"
$r[] = "ra-com cms";
return 
str_replace($s$r$text);
}
function 
color($text)
{
$s[] = "{bgcolor}"
$r[] = "#cccccc";
return 
str_replace($s$r$text);
}
?>
die index.tpl sieht so aus:
PHP-Code:
<head>
<
title>{sitename}</title>
</
head>
<
body bgcolor="{bgcolor}">
{
sitename}
</
body
Das ergebniss ist eine Grüne site wo {sitename} 1 steht
kennt jemand eine lösung?
bin für jede hilfe dankbar

lg Kazuya
kazuya ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 03.03.2007, 19:33  
Erfahrener Benutzer
 
Registriert seit: 13.08.2007
Beiträge: 1.976
KingCrunch befindet sich auf einem aufstrebenden Ast
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

Steht da jetzt "{sitename} 1" oder steht anstelle von {sitename} eine 1? Steht das (wie gewollt) in der Titelzeile oder auf der Seite? Du könntest deinen HTML-Quelltext mal posten, vielleicht sieht man da etwas deutlicher das Problem

Ansonsten: Wieso verwendest du Arrays zum Suchen bzw Ersetzen, wenn es jeweils nur ein Wert besitzt? Da kannste die Werte auch direkt als ein String verwenden und sollte in der Regel sauberer sein.

Eine grüne Seite sollte ja richtig sein (ist doch cccccc, oder? ^^).
__________________
Nicht jeder Fehler ist ein Bug.
KingCrunch ist offline  
Alt 03.03.2007, 19:35  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Ein include ist ein Konstrukt, keine Funktion und hat somit auch keinen Rückgabewert.
Zergling-new ist offline  
Alt 03.03.2007, 19:41  
Benutzer
 
Registriert seit: 05.02.2006
Beiträge: 53
kazuya
Standard

sollte nicht so dastehen, der ersetzt den Text garnicht
so sieht das ergebniss aus http://www.ra-com.net/cms/

ersetzt wird im moment nur eines weil ich noch am testen bin, hab nochnie gross mit templates gearbeitet^^ aber wenns klappt sollte die de.lang.php voll sein

cccccc ist ein grau^^

lg kazuya
kazuya ist offline  
Alt 03.03.2007, 19:42  
Erfahrener Benutzer
 
Registriert seit: 13.08.2007
Beiträge: 1.976
KingCrunch befindet sich auf einem aufstrebenden Ast
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

Ah, stimmt, aber:
Zitat:
Zitat von PHP-Manual: include
Der Umgang mit Returns: Es ist möglich eine return() -Anweisung innerhalb einer eingebunden Datei anzugeben, um die Ausführung innerhalb dieser Datei abzubrechen und zum aufrufenden Skript zurückzukehren. Ebenso ist die Rückgabe von Werten aus einer eingebunden Datei möglich. Sie können den Wert eines include-Aufrufs auf die gleiche Art und Weise nutzen, wie Sie es bei einer Funktion machen würden. Allerdings besteht diese Möglichkeit nicht, wenn Sie entfernte Dateien mittels include einbinden außer, wenn die Ausgabe der entfernten Datei gültige PHP Start- und Endetags beeinhaltet (wie jede lokale Datei auch). Innerhalb dieser Tags können Sie die benötigten Variablen deklarieren und diese werden dann an dem Punkt Ihres Skripts eingeführt, von wo aus der Aufruf mit include erfolgt ist.
Habs einmal gemacht, ist aber recht unschön, wie ich finde.
__________________
Nicht jeder Fehler ist ein Bug.
KingCrunch ist offline  
Alt 03.03.2007, 19:55  
Benutzer
 
Registriert seit: 05.02.2006
Beiträge: 53
kazuya
Standard

ah...^^ habs geschafft danke für die hilfe.

hab einfach im index.tpl den code so abgeändert:
PHP-Code:
<?php
echo (lang(color('<head>
<title>{sitename}</title>
</head>
<body bgcolor="{bgcolor}">
{sitename}
</body>'
)));
?>
und inner index.php so:
PHP-Code:
// Includes:
include('lang/de.lang.php');

include(
'templates/darkblue/index.tpl');
?> 
ergebniss graue seite und der korrekte text

Vielen dank für die schnellen antworten^^
lg kazuya
kazuya ist offline  
Alt 03.03.2007, 20:05  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Jetzt aber mal ehrlich, welchen Mehrwert hat dein Template-System gegenüber anderen, wenn du jetzt schon so komische inflexible Konstrukte wie
PHP-Code:
<?php
echo (lang(color('<head>
<title>{sitename}</title>
</head>
<body bgcolor="{bgcolor}">
{sitename}
</body>'
)));
?>
reinbrätst. Das ist doch jetzt schon zum Scheitern verurteilt.
Zergling-new ist offline  
Alt 04.03.2007, 01:51  
Benutzer
 
Registriert seit: 05.02.2006
Beiträge: 53
kazuya
Standard

hab nun ne Bessere lösung:
benutze die Templateclass von Patrick Canterino
ist einfach aber toooolllll^^

lg kazuya
kazuya ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
include() ersetzen Shadow21 PHP Tipps 2006 3 30.08.2008 14:13
Include in Template robydog PHP Tipps 2008 18 04.07.2008 22:52
include isoliert ausführen – Lösungsansatz gesucht veit PHP-Fortgeschrittene 8 09.04.2008 09:26
hinter include wird eine 1 angezeigt |~Râdîant~| PHP Tipps 2008 8 19.09.2007 13:52
include Dateien wieder ausängen o.Ä. netti PHP Tipps 2007 8 17.12.2006 15:14
include problem Canni PHP Tipps 2006 26 14.11.2006 14:24
template in template einfuegen tonne PHP Tipps 2005-2 8 10.11.2005 22:24
Include Problem! Links inerhalb eines Includes ... PHP Tipps 2005-2 14 23.07.2005 20:20
Auf Firmen-Server funzt kein include aus fremden Verzeichnis PHP-Fortgeschrittene 3 19.07.2005 16:49
[Erledigt] Include liegt in einem anderen Verzeichnis - es geht nix PHP Tipps 2005-2 3 03.07.2005 22:40
[Erledigt] Sessions auch bei include aktiv? PHP Tipps 2005 1 28.02.2005 19:58
[Erledigt] Problemme mit include... PHP Tipps 2004-2 6 30.11.2004 12:20
HTTP_GET_VARS + Include = Array leer PHP Tipps 2004-2 3 24.11.2004 15:12
suche ein bestimmtes template system PHP Tipps 2004-2 2 07.11.2004 19:49
[Erledigt] Template Parser PHP-Fortgeschrittene 9 06.10.2004 23:04

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
http://www.php.de/php-tipps-2007/43592-template-und-include.html

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:35 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.