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. |
 |
|

14-07-2006, 20:31
|
Lennie
PHP Senior
|
|
Registriert seit: May 2006
Beiträge: 1.013
|
|
Xmentor
Hallo.
Ich habe ein Problem mit einen CMS.
Ein ehemaliger Schüler meiner Seite hat ein CMS geschrieben, woran ich ein bisschen arbeiten möchte.
Leider habe ich ein paar probleme, da ich mich nicht mit seiner Programmierart zurechtfinde.
Ich könnte natürlich die betreffenden Stücke selber auf eigene art lösen, dann würde das aber eine sehr zusammengebastelte seite.
Also bevor ich hier noch einen Romain schreibe, stelle ich meine Frage.
Also, in dem CMS besteht ein Kommentar system was aber nicht darauf achtet, ob http:// vorhanden ist.
Das kann fatale probleme hervorrufen, da dann immer www.bla.de/www.bla2.de aufgerufen würde, wenn niemand das einschreibt.
nun habe ich auf meiner eigenen Homepage folgende Lösung dafür verwendet:
PHP-Code:
if(strtolower(substr($row['www'], 0, 7)) == "http://") {
echo " <a href=\"".$row['www']."\" target=\"haupt\" >WWW</a>";
} else {
echo " <a href=\"http://".$row['www']."\" target=\"haupt\" >WWW</a>";
}
nun ist aber die Homepage nicht mehr in der variable $row sondern in einen anderen gebilde, was ich noch nie gesehen habe : {www}.
kann mir jemand sagen was das ist, wie man damit umgeht, wo ich was dazu lernen kann, und wie man das anwendet?
__________________
Webdesign und Webentwicklung - Plunix.de
|

14-07-2006, 20:42
|
3DMax
PHP Senior
|
|
Registriert seit: Jan 2004
Beiträge: 1.916
|
|
{www} sieht für mich wie eine templatevariable aus. wo steht denn dieses "{www}" im php-code oder im html-code?
|

14-07-2006, 20:44
|
Lennie
PHP Senior
|
|
Registriert seit: May 2006
Beiträge: 1.013
|
|
eigentlich in einen html code.
was mich noch stutziger werden lässt.
bis jetzt sind mir keine html variablen bekannt, und auch nicht die mgölichkeit eine variable in html auszugeben.
__________________
Webdesign und Webentwicklung - Plunix.de
|

14-07-2006, 21:17
|
3DMax
PHP Senior
|
|
Registriert seit: Jan 2004
Beiträge: 1.916
|
|
Zitat:
eigentlich in einen html code.
was mich noch stutziger werden lässt.
bis jetzt sind mir keine html variablen bekannt, und auch nicht die mgölichkeit eine variable in html auszugeben.
|
ok, dann ist es definitiv eine templatevariable.
das läuft in etwa so:
eine php-klasse (templateengine) lädt den html code
mit einer methode z.b. object->assign('www', 'html-code'); wird die variable mit den platzhaltern {www} im template durch den zugewiesenen html-code ersetzt.
hier kannst du dich z.b. darüber informieren: http://de.wikipedia.org/wiki/Template_Engine
|

14-07-2006, 21:23
|
Lennie
PHP Senior
|
|
Registriert seit: May 2006
Beiträge: 1.013
|
|
danke. weis jetzt wie ich diese "variable" fülle und nutze.
aber leider nur wie ich sie in html nutze.
wie müsste ich es machen, wollte ich sie jetzt in den oben aufgeschriebenen code nutzen?
__________________
Webdesign und Webentwicklung - Plunix.de
|

14-07-2006, 21:28
|
mäander_
Junior Member
|
|
Registriert seit: Jul 2006
Beiträge: 106
|
|
Schau mal bei Smarty herein. http://smarty.php.net/ {www} wäre dann eine template Variable.
Auf Smarty hätte Dich schon längst jemand verweisen können (anstatt ich der das noch nie verwendet hat aber darüber orientiert ist).
|

14-07-2006, 21:31
|
3DMax
PHP Senior
|
|
Registriert seit: Jan 2004
Beiträge: 1.916
|
|
Zitat:
Original geschrieben von Lennie wie müsste ich es machen, wollte ich sie jetzt in den oben aufgeschriebenen code nutzen? [/B]
|
in deinem bsp oben gibst du den string sofort mit echo aus.
also müsstest du dein bsp. umschreiben, so dass der gesamte string in einer php-variablen ist (stringverkettung), diese variable kannst du dann dem template zuweisen.
|

14-07-2006, 21:36
|
Lennie
PHP Senior
|
|
Registriert seit: May 2006
Beiträge: 1.013
|
|
mach mir bitte ein beispiel, habe das gerade erst kennen gelernt, und verstehe nicht so richtig wie du das meinst.
__________________
Webdesign und Webentwicklung - Plunix.de
|

14-07-2006, 21:37
|
3DMax
PHP Senior
|
|
Registriert seit: Jan 2004
Beiträge: 1.916
|
|
Zitat:
Original geschrieben von mäander_
Auf Smarty hätte Dich schon längst jemand verweisen können [/B]
|
smarty halte ich für den anfang für etwas übertrieben.
außerdem schrieb der op, dass er versucht ein vorhandenes cms zu modifizieren, also ist bereits eine templateengine vorhanden.
|

14-07-2006, 21:41
|
3DMax
PHP Senior
|
|
Registriert seit: Jan 2004
Beiträge: 1.916
|
|
Zitat:
Original geschrieben von Lennie
mach mir bitte ein beispiel, habe das gerade erst kennen gelernt, und verstehe nicht so richtig wie du das meinst.
|
du hast z.b.
PHP-Code:
echo " <a href=\"".$row['www']."\" target=\"haupt\" >WWW</a>";
es erfolgt sofort eine ausgabe!
PHP-Code:
$www=" <a href=\"".$row['www']."\" target=\"haupt\" >WWW</a>";
die "ausgabe" ist jetzt in der variablen $ www.
so, und jetzt kenne ich deinen code nicht um dir weiterzuhelfen. du musst die zuweisungsfunktion finden. z.b.: assign('www', $www) um im template den platzhalter {www} durch den inhalt von $www zu ersetzen.
|

14-07-2006, 21:46
|
mäander_
Junior Member
|
|
Registriert seit: Jul 2006
Beiträge: 106
|
|
ok dann ist es ein möglicherweise ein eigenes templatesystem, im eigenen CMS.
Um das zu verstehen, ist meiner Meinung nach sinnvoll, sich smarty anzuschauen, zum beispiel auch im http://tut.php-q.net/template.html (sinnvoller als hier einzeilige Bruchstücke zu bekommen.) Je nach Auffassungsgabe kann sich Frager auch beim original smarty orientieren worum es geht.
<<smarty halte ich für den Anfang etwas übertrieben>>
es geht nicht um einen Anfang, sondern um Wartung bei einem
<<Einer meiner Schüler hat ein CMS geschrieben>> in welchem auf die eine oder andere Weise ein templatesystem vorhanden ist. und die WS dass es smarty oder eine selbstgemachte Ableitung davon ist..
Geändert von mäander_ (14-07-2006 um 21:52 Uhr)
|

14-07-2006, 21:49
|
3DMax
PHP Senior
|
|
Registriert seit: Jan 2004
Beiträge: 1.916
|
|
Zitat:
Original geschrieben von mäander_ (sinnvoller als hier einzeilige Bruchstücke zu bekommen.)
|
scherzkeks - ich habe eine wikipedia-link gepostet. dort wird das grundlegende wirkungsprinzip erklärt. außerdem findet man dort unter den php-links unter anderem auch smarty.
also komm mir bitte nicht so!
|

14-07-2006, 21:53
|
mäander_
Junior Member
|
|
Registriert seit: Jul 2006
Beiträge: 106
|
|
Zitat:
Original geschrieben von 3DMax
scherzkeks - ich habe eine wikipedia-link gepostet. dort wird das grundlegende wirkungsprinzip erklärt. außerdem findet man dort unter den php-links unter anderem auch smarty.
also komm mir bitte nicht so!
|
z.b. object->assign('www', 'html-code');
Ich habe den wiki-link angeschaut und denke nicht dass er hilfreich ist (zu kurz, zu abstrakt, zu grosse linksammlung). Meiner im q-tut hingegen wird es sein.
Geändert von mäander_ (14-07-2006 um 21:59 Uhr)
|

14-07-2006, 23:18
|
Lennie
PHP Senior
|
|
Registriert seit: May 2006
Beiträge: 1.013
|
|
beides scherzkekse :P war beides verlinkt, udn wie ich die variable fülle habe ich auch verstanden.
Also so wie ich das sehe, ist es nicht mehr möglich, die template engine wieder in eine normale variable zu speicher, was bedeutet, dass ich erstmal wieder die ursprungstelle finden muss, wo das template engine gefüllt wird, und da den teil auslesen, den ich brauche?
ist zwar leider nicht ganz das was ich machen wollte, da ich dan den coding stil verändere, geht aber wohl nicht anders.
__________________
Webdesign und Webentwicklung - Plunix.de
|

15-07-2006, 00:15
|
mäander_
Junior Member
|
|
Registriert seit: Jul 2006
Beiträge: 106
|
|
Zitat:
Original geschrieben von Lennie
die template engine wieder in eine normale variable zu speicher
|
interessantes Vorhaben (gemäss meinen Sprachkenntnissen)
Es würde mich wundern, wenn das template ding für den Fehler, den Du beheben willst, verantwortlich wäre. Im übrigen habe ich das "Kommentarsystem" nicht begriffen. Ich glaube die Lösung musst Du in dieser Richtung suchen, bzw. das etwas mehr eräutern. schau , wo die grösse 'www' gebildet wird und ihr der (fehlerhafte) Wert zugewiesen wird. Dann bilde die Grösse 'www' richtig. Das template System wird sie automatisch an der richtigen Stelle {www} einsetzen (das ist natürlich nicht 100%garantiert, aber wenn es halbwegs ordentlich strukturiert ist, dann wird es so gehen). Ich glaube nicht, dass das template system die falschen links produziert.
Die (einzige) Frage, die du gestellt hast, nämlich was {www} ist und bedeutet, ist abgesehen davon, hinreichend beantwortet.
Geändert von mäander_ (15-07-2006 um 00:28 Uhr)
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
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.
HTML-Code ist aus.
|
|
|
|
PHP News
|