php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 04-10-2007, 22:44
tudor
 Newbie
Links : Onlinestatus : tudor ist offline
Registriert seit: Dec 2005
Beiträge: 23
tudor ist zur Zeit noch ein unbeschriebenes Blatt
Standard $HTTP_GET_VAR in .tpl datein?

N'abend.
Benutze PHPBB2 Plus
und möchte nun gerne eine .tpl datei abändern und darin auf eine GET-variable zurückgreifen.

portal.php greift auf portal.tpl zurück.
in der .tpl datei ist php scheinbar ok (irgendwo gelesen, dass es das eigentlich nicht sollte, funzt aber z.b. bei DB anfragen..)

Mein Ansatz war demnach schlicht in der .tpl zu schreiben:
PHP-Code:
$blub $HTTP_GET_VARS['blub']; 
das klappt allerdings nicht. da passiert genau nix.

gebe ich $blub in der .php den wert der GET var, funktioniert das (wär auch komisch wenn nicht . Das Problem ist, dass ich $blub jedoch als php variable in der .tpl datei benötige. frage ich aber hier $blub ab, pustekuchen. das wunder mich...

Weiss jemand ob es möglich ist, eine GET var in einer solchen .tpl zu verwenden bzw. warum GET in der .tpl nicht einlesbar ist und hat ideen für eine umgehung?

ich muss gestehn dass mein wissen über templates sehr begrenzt ist. ich habe versucht den variableninhalt wie alle anderen template variablen an die tpl weiterzureichen, aber dann ist sie ja nicht "php-einlesbar" verfügbar.
Mit Zitat antworten
  #2 (permalink)  
Alt 04-10-2007, 23:27
kapitaeniglo
 PHP Senior
Links : Onlinestatus : kapitaeniglo ist offline
Registriert seit: Jul 2002
Beiträge: 1.474
kapitaeniglo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hi

ist zwar schon ein bisschen her und rumgehacke aber so denke ich kommt man da eventeuell ran ....

1.zuerst die portal.tpl :

hier fügst du an der Stelle wo die Variable erscheinen soll folgendes ein

{blub_bla}
(wobei du blub_bla durch etwas sinnvolles ersetzen kannst (z.b. deinen richtigen variablennamen .... aber es geht nagtuerlich auch blub_bla ...
die {} sind das wichtige

2. die portal.php

(habs leider nicht als portalsystem installiert aber eben mit der index.php getestet..

such in dieser datei danach :
PHP-Code:
$template->set_filenames(array(
        
'body' => 'portal.tpl')
    ); 
(wenn du damit nicht fuendig wirst such mal nach portal.tpl ....

kurz danach solltest du so etwas finden :

PHP-Code:
$template->assign_vars(array(
        
XXXXXXXX)
    ); 

wo bei mir XXXXX steht duerften einige Zeilen drinne stehen mit zuweisungen z.b.:
'L_FORUM' => $lang['Forum'],

etc. etc.

du macht hinter der ersten zuweisung einfach ein eine neue Zeile in die schriebst du :
PHP-Code:
'blub_bla' => $_GET['blub_bla'], 
sollte eigentlich funktionieren auch wenn es unschoen ist direkt in den dateien rumzuhacken ....

gruss
iglo
Mit Zitat antworten
  #3 (permalink)  
Alt 04-10-2007, 23:38
tudor
 Newbie
Links : Onlinestatus : tudor ist offline
Registriert seit: Dec 2005
Beiträge: 23
tudor ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hi,
erstmal vielen dank für die umfangreiche antwort.
was du vorschlägst hatte ich aber bereits probiert. hat auch gut geklappt. ich könnte den inhalt damit wunderbar ausgeben also was weiss ich

<p>{BLUB}</p>

nur.. lies das mal in php ein... wie müsste das dann in der .tpl datei aussehn?
ich will nicht einfach den inhalt der variablen ausgeben, sondern damit in der tpl datei weiterarbeiten....
was ich brauche ist sowas hier in der art: (bitte nicht sagen, dass da was nicht stimmt

PHP-Code:
$blub_tpl = {BLUB}; 


Mich hat bereits das dumpfe Gefühl beschlichen, dass ich damit komplett gegensätzlich der Idee von Templates arbeite. Mir is klar, dass PHP eigt. in der php datei zu passieren hat.
Aber leider geht genau das in dem konkreten fall nicht.

Geändert von tudor (04-10-2007 um 23:40 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt 04-10-2007, 23:40
kapitaeniglo
 PHP Senior
Links : Onlinestatus : kapitaeniglo ist offline
Registriert seit: Jul 2002
Beiträge: 1.474
kapitaeniglo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hmmmm

dann verstehe ich jetzt nicht wirklich was du willst.
Wieso kannst du nicht schon in PHP die Daten so aufbereiten wie du sie im Template ausgeben willst?

Weil das ist der Sinn eines Templates. Die Ausgabe. Das "erstellen" der Ausgabe solltest du aber in PHP machen.

Gruss
IGLO
Mit Zitat antworten
  #5 (permalink)  
Alt 04-10-2007, 23:42
tudor
 Newbie
Links : Onlinestatus : tudor ist offline
Registriert seit: Dec 2005
Beiträge: 23
tudor ist zur Zeit noch ein unbeschriebenes Blatt
Standard

...das ganze läuft auf ein include hinaus..., dafür brauch ich den variableninhalt im include argument... include in der portal is nicht drin, durch die struktur der tpl krieg ich meinen content (was includiert wird) nicht dahin wo's hin soll
Mit Zitat antworten
  #6 (permalink)  
Alt 04-10-2007, 23:46
kapitaeniglo
 PHP Senior
Links : Onlinestatus : kapitaeniglo ist offline
Registriert seit: Jul 2002
Beiträge: 1.474
kapitaeniglo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hmmm....

also du willst abhaengig des wertes im template andere ausgaben haben?

wenn ja dann schau dir mal die Blockvars an ( im .tpl
PHP-Code:
<!-- BEGIN topicrow --> 
)

in php :
$template->assign_block_vars()

hab ich allerdings nie selbst benutzt ... eventuell mal bei phpbb2 nachfragen ....

weil es ist glaub ich kien wirkliches PHP - Problem, sondern eher nen PHPBB-Problem

gruss
Iglo

Geändert von kapitaeniglo (04-10-2007 um 23:49 Uhr)
Mit Zitat antworten
  #7 (permalink)  
Alt 04-10-2007, 23:51
tudor
 Newbie
Links : Onlinestatus : tudor ist offline
Registriert seit: Dec 2005
Beiträge: 23
tudor ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ja, ich will über die GET var bestimmen, welche datei includiert wird.

ohne template is das simple.

$pfad .= $HTTP_GET_VARS['cont'];
#bearbeiten so dass der pfad stimmt
include($pfad);

so. schreib ich jetzt das include in die .php kommt's nicht an die stelle, wo es hinsoll. weil das aussehn der seite eben maßgeblich von der .tpl bestimmt wird. gehe ich nun aber in die .tpl datei und schreibe mir den include befehl an die stelle wo's das ganze hingehört, dann komm ich nicht an die GET var (kann also nicht feststellen, WAS an die richtige stelle kommen soll)
Mit Zitat antworten
  #8 (permalink)  
Alt 04-10-2007, 23:53
3DMax
 PHP Senior
Links : Onlinestatus : 3DMax ist offline
Registriert seit: Jan 2004
Beiträge: 1.916
3DMax ist zur Zeit noch ein unbeschriebenes Blatt
Standard

das problem gab es neulich erst: Templatesystem - include an falscher stelle
Mit Zitat antworten
  #9 (permalink)  
Alt 05-10-2007, 00:18
tudor
 Newbie
Links : Onlinestatus : tudor ist offline
Registriert seit: Dec 2005
Beiträge: 23
tudor ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Wow! Das war nice..
klappt alles super.

Falls es mal wer braucht:

.PHP:

PHP-Code:
#$pfad aus der GET var holen und bearbeiten
ob_start();
include(
$pfad);
$content_include ob_get_contents();
ob_end_clean();

$template->assign_vars(array('CONTENT_INCLUDE' => $content_include)); 
.TPL:
PHP-Code:
{CONTENT_INCLUDE
vielen Dank an ALLE beteiligten!

Geändert von tudor (05-10-2007 um 00:22 Uhr)
Mit Zitat antworten
  #10 (permalink)  
Alt 05-10-2007, 00:32
tudor
 Newbie
Links : Onlinestatus : tudor ist offline
Registriert seit: Dec 2005
Beiträge: 23
tudor ist zur Zeit noch ein unbeschriebenes Blatt
Standard

PHP-Code:
ob_start();
include(
$pfad);
$content_include ob_get_contents();
ob_end_clean(); 
Session Variablen abhängige Änderungen im Output (der includierten Datei) gehn hier verloren, richtig? Lässt sich das vll auch noch ändern?
Mit Zitat antworten
  #11 (permalink)  
Alt 05-10-2007, 00:39
3DMax
 PHP Senior
Links : Onlinestatus : 3DMax ist offline
Registriert seit: Jan 2004
Beiträge: 1.916
3DMax ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von tudor
Session Variablen abhängige Änderungen im Output (der includierten Datei) gehn hier verloren, richtig?
was meinst du damit
Mit Zitat antworten
  #12 (permalink)  
Alt 05-10-2007, 01:25
tudor
 Newbie
Links : Onlinestatus : tudor ist offline
Registriert seit: Dec 2005
Beiträge: 23
tudor ist zur Zeit noch ein unbeschriebenes Blatt
Standard

sorry mein fehler, alles geschmeidig. hatte includiert bevor das session management angelaufen war ^^. is ja auch schon etwas später... nochmal danke alle
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 11:21 Uhr.