- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Filesystem Deployment unabhängig von URL
Hallo,
In unserem Projekt benötigen wir auf den Seiten URLs die so aussieht: index.php?page=%page-id%
Das Problem ist das die Struktur auf dem Filesystem aber so aussehen soll: /pages/%lang%/%page-id%.html
Gibt es die Möglichkeit die zwei Prozesse voneinander zu trennen?
Viele Grüße!
Waldi
- Labels:
-
Developers
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Tim,
Das ganze hat leider nicht ganz funktioniert. Erst nach den setzen von UseRegistry auf no wurden meine Funktionen die ich implementiert hab aufgerufen.
module.xml:
..
<public>
<name>EngsUrlCreator</name>
<class>de.espirit.firstspirit.generate.UrlCreatorSpecification</class>
<configuration>
<LegacyClass>de.***.***.EngsUrlCreator</LegacyClass>
<UseRegistry>no</UseRegistry>
</configuration>
</public>
..
Ich habe die Klasse UrlCreator implementiert:
public class MyUrlCreator implements UrlCreator
und benutze folgende Funktionen:
- public String getFilename(ContentProducer contentProducer, TemplateSet templateSet, Language language, PageParams pageParams)
- public String getFilename(Media media, Language language, Resolution resolution)
- public String getUrl(ContentProducer contentProducer, Language language, TemplateSet templateSet, PageParams pageParams, int i)
- public String getUrl(Media media, Language language, Resolution resolution, int i)
Viele Grüße!
Waldi
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ja, prinzipiell ist das möglich. Mit welcher FirstSpirit-Version soll das umgesetzt werden?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo,
Die Version ist 5.1.106.61855
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Du musst ein Modul implementieren, Einstiegspunkt in die API: http://www.e-spirit.com/odfs51/dev/de/espirit/firstspirit/generate/UrlCreator.html
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Danke!
Habe jetzt eine Classe erstellt die von DefaultUrlCreator erbt und eine UrlFactory.
In der module.xml hab ich nun:
<!DOCTYPE module SYSTEM "lib/module.dtd">
<module>
<name>UrlCreator</name>
<version>@VERSION@</version>
<vendor>...</vendor>
<components>
<public>
<name>UrlCreator</name>
<class>de.espirit.firstspirit.ps.UrlCreator</class>
<configuration>
<UrlFactory>de.espirit.firstspirit.ps.UrlFactory</UrlFactory>
<useWelcomeFileNames>no</useWelcomeFileNames>
<removeDeleted>yes</removeDeleted>
</configuration>
</public>
</components>
<resources>
<resource>lib/@FILENAME@.jar</resource>
</resources>
</module>
Leider kann ich die Klasse jetzt aber nicht in der Liste auswählen:
Woran liegt das? Muss ich das ganze jetzt an einer anderen Stelle einstellen?
Danke!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Bitte nicht als "de.espirit.firstspirit" als Paket benutzen. Das "eine Classe erstellt die von DefaultUrlCreator erbt" ist auch keine gute Idee, bitte nur als delegate benutzen (DefaultUrlCreator ist _keine_ API).
Der Deskriptor muss so aussehen:
...
<public>
<name>your name</name>
<class>de.espirit.firstspirit.generate.UrlCreatorSpecificationImpl</class>
<configuration>
<LegacyClass>your class name</LegacyClass>
</configuration>
</public>
...
[EDIT]
Kurzer Hinweis zur Erläuterung: Die neue Schnittstelle für "Dateiname != URL" ist noch nicht freigegeben, daher hier der Weg über "LegacyClass".
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Waldemar,
benötigst Du noch weitere Hilfe oder haben Dir Peters Antworten bereits geholfen? In diesem Fall wäre es super, wenn Du die "richtige Antwort" entsprechend markierst, damit auch andere Community-Teilnehmer diese auf den ersten Blick finden. Solltest Du zwischenzeitlich eine eigene Lösung gefunden haben, wäre es nett, wenn Du diese hier bereitstellst.
Viele Grüße
Tim
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Tim,
Das ganze hat leider nicht ganz funktioniert. Erst nach den setzen von UseRegistry auf no wurden meine Funktionen die ich implementiert hab aufgerufen.
module.xml:
..
<public>
<name>EngsUrlCreator</name>
<class>de.espirit.firstspirit.generate.UrlCreatorSpecification</class>
<configuration>
<LegacyClass>de.***.***.EngsUrlCreator</LegacyClass>
<UseRegistry>no</UseRegistry>
</configuration>
</public>
..
Ich habe die Klasse UrlCreator implementiert:
public class MyUrlCreator implements UrlCreator
und benutze folgende Funktionen:
- public String getFilename(ContentProducer contentProducer, TemplateSet templateSet, Language language, PageParams pageParams)
- public String getFilename(Media media, Language language, Resolution resolution)
- public String getUrl(ContentProducer contentProducer, Language language, TemplateSet templateSet, PageParams pageParams, int i)
- public String getUrl(Media media, Language language, Resolution resolution, int i)
Viele Grüße!
Waldi

