Pfade ohne Endung .php oder .html ausgeben
Pfade ohne Endung .php oder .html ausgeben
Ist es irgendwie möglich, die Pfade unter anderem bei <we:url id="" /> ohne die Endung auszugeben?
-
- webEdition Partner
- Beiträge: 1825
- Registriert: Di 7. Mär 2006, 16:50
- Wohnort: Wien
- Kontaktdaten:
Re: Pfade ohne Endung .php oder .html ausgeben
Hallo dipser,
Ich denke hier musst du mit PHP nacharbeiten.
Wie sieht denn dein Anwendungsfall aus? Vielleicht gibt es ja einen anderen Ansatz.
Liebe Grüße,
Sascha
Ich denke hier musst du mit PHP nacharbeiten.
Wie sieht denn dein Anwendungsfall aus? Vielleicht gibt es ja einen anderen Ansatz.
Liebe Grüße,
Sascha
Re: Pfade ohne Endung .php oder .html ausgeben
Ich hätte einfach gerne Links ohne Endung. Ist auch besser lesbar: www.hotel.de/Buchung statt www.hotel.de/Buchung.php
Bei Objekten ist das ja Problemlos möglich, nur bei Dokumenten nicht.
Bei Objekten ist das ja Problemlos möglich, nur bei Dokumenten nicht.
-
- webEdition Partner
- Beiträge: 1825
- Registriert: Di 7. Mär 2006, 16:50
- Wohnort: Wien
- Kontaktdaten:
Re: Pfade ohne Endung .php oder .html ausgeben
Hallo dipser,
Alles klar!
Hier ein Lösungsansatz der mir spontan dazu einfällt, sofern du hier im Kontext einer listview bist ...
In einer listview kannst du dir mit "<we:field name="wedoc_Extension"/> die Dateierweiterung holen und anschließend mittels PHP aus dem URL String werfen. Den URL String musst du natürlich vorher in eine Variable geben.
Könnte - in einer listview - dann so aussehen (ungetestet):
Ohne listview würde ich das Ergebnis von <we:url> auch in eine Variable schieben und dann die Extension mittels PHP "abschneiden". Der Code dafür könnte wie folgt aussehen (ungetestet):
Beide Lösungen nicht ganz sauber. Vielleicht hat da noch jemand einen schlaueren Ansatz (ohne PHP).
HTH,
Sascha
Alles klar!
Hier ein Lösungsansatz der mir spontan dazu einfällt, sofern du hier im Kontext einer listview bist ...
In einer listview kannst du dir mit "<we:field name="wedoc_Extension"/> die Dateierweiterung holen und anschließend mittels PHP aus dem URL String werfen. Den URL String musst du natürlich vorher in eine Variable geben.
Könnte - in einer listview - dann so aussehen (ungetestet):
Code: Alles auswählen
<we:listview type="document" id="$weID">
<we:field name="WE_URL" to="global" nameto="documentURL"/>
<we:field name="wedoc_Extension" to="global" nameto="documentExtension"/>
<?php
$GLOBALS['documentCleanURL'] = str_replace($GLOBALS['documentExtension'], '', $GLOBALS['documentURL']);
?>
<we:var type="global" name="$GLOBALS['documentCleanURL']"/>
</we:listview>
Ohne listview würde ich das Ergebnis von <we:url> auch in eine Variable schieben und dann die Extension mittels PHP "abschneiden". Der Code dafür könnte wie folgt aussehen (ungetestet):
Code: Alles auswählen
<we:url id="$weID" to="global" nameto="documentURL"/>
<?php
$GLOBALS['documentCleanURL'] = preg_replace('/\\.[^.\\s]{3,4}$/', '', $GLOBALS['documentURL']);
?>
<we:var type="global" name="$GLOBALS['documentCleanURL']"/>
Beide Lösungen nicht ganz sauber. Vielleicht hat da noch jemand einen schlaueren Ansatz (ohne PHP).
HTH,
Sascha
Re: Pfade ohne Endung .php oder .html ausgeben
Hi, danke für die Mühe, dass hätte nicht sein müssen, da mir diese Lösung zwar schon vorschwebte, aber mir nicht gerade gefällt.
Von Haus aus lässt webEdition dies leider nicht zu.
Von Haus aus lässt webEdition dies leider nicht zu.
Re: Pfade ohne Endung .php oder .html ausgeben
Also innerhalb einer Seitenausgabe sieht das ja keiner.
Wenn es sich um zentrale Dokumente handelt, deren Seite man rausgeben will, kann man das ja mittels "Index-Dokument" und deren Ersetzung erreichen.
Selbst wenn WE die Endung unterdrückt - muß man dem Webserver ja auch noch mitteilen, daß dieser die Datei noch findet.
Wenn es sich um zentrale Dokumente handelt, deren Seite man rausgeben will, kann man das ja mittels "Index-Dokument" und deren Ersetzung erreichen.
Selbst wenn WE die Endung unterdrückt - muß man dem Webserver ja auch noch mitteilen, daß dieser die Datei noch findet.
webEdition-Kern-Entwickler
Re: Pfade ohne Endung .php oder .html ausgeben
Das gleiche Prinzip ist aktuell in Objekten vorhanden mit:
Ungetestet könnte ich mir sowas vorstellen bei Dokumenten:
Fehlt halt nur die Ausgabe ohne Dateiendung. Die Lösung von WBTMagnum ist in Ordnung, aber nicht toll.
Ich will eigentlich auch nicht für jede Seite ein Ordner und ein Dokument anlegen müssen, bei der Pflege hat man dann nur noch index.php Dokumente. Der Nachteil ist dabei offensichtlich, dass man den Überblick verliert, wenn man 5 mal "index.php" auf hat.
Code: Alles auswählen
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /webEdition/redirectSEOurls.php [L]
Code: Alles auswählen
# Ohne .php Endung
RewriteCond %{REQUEST_URI} !/webEdition/.* [NC]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /$1.php [L]
Ich will eigentlich auch nicht für jede Seite ein Ordner und ein Dokument anlegen müssen, bei der Pflege hat man dann nur noch index.php Dokumente. Der Nachteil ist dabei offensichtlich, dass man den Überblick verliert, wenn man 5 mal "index.php" auf hat.
Wer ist online?
Mitglieder in diesem Forum: 0 Mitglieder und 24 Gäste