PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ersetzungsvariablen in den Temps 3.5


deta
26.08.2005, 19:01
Hallo!

Ich hab mal eine Frage..

Versteh ich das richtig mit dem Ersetzungsvariablen..

Wenn folgendes gefordert wird:
In Template navbar

Find:
<if condition="$show['member']">
<td class="vbmenu_control"><a href="usercp.php$session[sessionurl_q]">$vbphrase[user_cp]</a></td>
</if>

Replace With:
<if condition="$show['member']">
<td class="vbmenu_control"><a href="usercp.php$session[sessionurl_q]">$vbphrase[user_cp]</a></td>
<td class="vbmenu_control"><a href="vBSupport.php$session[sessionurl_q]">vBSupport</a></td>
</if>

kann ich doch auch eine Ersatzvariable einbauen in das Temp

Suche:
<td class="vbmenu_control"><a href="usercp.php$session[sessionurl_q]">$vbphrase[user_cp]</a></td>

Ersetze:
<td class="vbmenu_control"><a href="usercp.php$session[sessionurl_q]">$vbphrase[user_cp]</a></td>
<td class="vbmenu_control"><a href="vBSupport.php$session[sessionurl_q]">vBSupport</a></td>

Dann sollte doch es erscheinen oder?

cu Deta

Corvin
26.08.2005, 19:10
Dann sollte doch es erscheinen oder?
Wieso probierst du es nicht einfach aus?

deta
26.08.2005, 20:02
Wieso probierst du es nicht einfach aus?

hab ich aber es funktionierte nicht..

Ev. hab ich auch da einen Gedankenfehler..

cu Deta

Mystics
27.08.2005, 02:52
Das funktioniert so nicht.

Die Ersetzungsvariablen greifen erst bei der Ausgabe des Templates - und zu diesem Zeitpunkt gibt es z.B. kein $session[sessionurl_q] mehr, sondern dort steht der entsprechende Inhalt der Variable.

deta
27.08.2005, 08:18
Das funktioniert so nicht.

Die Ersetzungsvariablen greifen erst bei der Ausgabe des Templates - und zu diesem Zeitpunkt gibt es z.B. kein $session[sessionurl_q] mehr, sondern dort steht der entsprechende Inhalt der Variable.

Mh, versteh ich nicht..

Kannst du ev. mal ein Beispiel geben?
Was ich dann damit machen kann?

cu Deta

pogo
27.08.2005, 12:24
Erklärungsversuch:

Du hast ja ein Template, in dem neben dem HTML-Code noch diverse Variablen enthalten sind.Beispiel Template:

<htmlcode> $variable <htmlcode> Beim Aufruf einer Seite, wird den Variablen ein Inhalt zugewiesenBeispiel Skript:

<?php
...blabla...
$variable = 'hallo pogo';
...blabla...
?> und der Variablenname im Template mit dem Inhalt der Variablen ersetzt.Beispiel Template:

<htmlcode> hallo pogo <htmlcode> Jetzt gibt es in dem Template quasi keine Variablen mehr, sondern nur noch Inhalte.

Wenn du jetzt eine Ersetzungsvariable hast, die nach pogo sucht und mit mike ersetzt, erhältst du als Ausgabe letztendlich dasBeispiel Template:

<htmlcode> hallo mike <htmlcode>

Ersetzungsvariablen werden also erst dann auf die Templates losgelassen, wenn sie kurz vor der Ausgabe stehen und alle Variablen schon durch Inhalte ersetzt wurden.


Jetzt auf dein Beispiel angewandt:

Zu dem Zeitpunkt, wo mittels der Ersetzungsvariable nach dem von dir angegebenen Text gesucht wird, existieren ja gar keine Variablen mehr. Eine Suche nach ...$session[sessionurl_q]">$vbphrase[user_cp]... kann also nicht erfolgreich sein, da die Variablen $session[sessionurl_q] und $vbphrase[user_cp] schon mit dem jeweiligen Inhalt ersetzt wurden.

Du kannst also nur das navbar Template direkt verändern.

Ok, es ist immer noch kompliziert, aber hoffentlich etwas verständlicher. Wenn nicht, frag einfach nach.

deta
27.08.2005, 12:55
A ha..

Also ich ersetze nicht die $variable sondern ich weis was
im Normalfall die $variable für einen Inhalt hat und wie in
deinen Beispiel

pogo mit mike

Umgesetzt:
Suche pogo und ersetze es mit mike

oder muss ich sagen

suche
$variable = 'hallo pogo';
ersetze
$variable = 'hallo mike';

cu Deta

pogo
27.08.2005, 13:22
oder muss ich sagen

suche
$variable = 'hallo pogo';
ersetze
$variable = 'hallo mike';
Das geht nicht!

Du kannst nur Text suchen, so wie er am Ende im Browser erscheint, wenn du dir den Quelltext der Seite ansiehst. Nichts anderes!

deta
27.08.2005, 13:34
Das geht nicht!

Du kannst nur Text suchen, so wie er am Ende im Browser erscheint, wenn du dir den Quelltext der Seite ansiehst. Nichts anderes!

Alles klar..

Aktives Beispiel
in der Navileist..

suche
Benutzerliste
ersetze
NervendeUserliste

:D

cu Deta

Mystics
27.08.2005, 17:22
Aktives Beispiel
in der Navileist..

suche
Benutzerliste
ersetze
NervendeUserliste
Dafür musst du nur die Phrase members_list bearbeiten.

deta
27.08.2005, 19:05
Dafür musst du nur die Phrase members_list bearbeiten.

Oder so. Das ist mir schon klar...

Aber über die Ersatzvariable sollte es doch dann auch so gehen oder?

cu Deta

StGaensler
28.08.2005, 13:57
Ja, das sollte es auch.