Hi Leude,
will die oben genannte Funktion in einer Ext. benutzten. In der Beschreibung steht folgendes:
/**
* Transforms a query string into a speaking URL according to the configuration in ->extConf
*
* @param string Input query string
* @param boolean If set, the cHashCache table is used for "&cHash"
* @param string Original URL
* @return string Output Speaking URL (with as many GET parameters encoded into the URL as possible).
* @see encodeSpURL()
*/
function encodeSpURL_doEncode($inputQuery, $cHashCache=FALSE, $origUrl='') {
.....
Kann mir jemand kurz erklären, was mit "$inputQuery" (Input query string) gemeint ist?
MfG,
Spyro
Hi,
editiere doch mal die Methode und geb dir den Inhalt aus, musst die RealUrl aber auch im Einsatz haben.
Grüsse
Ford
So bin inzwischen weiter 🙂
Die "$inputQuery" is nichts anderes als die baseURL mit den ganzen Parametern hintendrann #paralyzed# . Wenn man den Wald vor lauter Bäumen nicht sieht...
Aber für mich ergibt sich gerade ein nächstes Problem. Wenn ich die Methode aufrufe, referenziert die Methode innerhalb der Klasse tx_realurl nochmals auf andere Methoden. Bei deren Aufruf wird aber nicht "tx_realurl::" vorne angehängt, sondern "user_meineextension::".
Konkretes Beispiel:
Ich rufe tx_realurl::encodeSpURL_doEncode() auf.
Diese wiederum referenziert auf encodeSpURL_setSequence() innerhalb tx_realurl.
Wird diese nun aufgerufen so kommt folgendes dabei heraus:
Fatal error: Call to undefined method user_meineextension::encodeSpURL_setSequence() in ../typo3conf/ext/realurl/class.tx_realurl.php on line 232.
Gibts ne Möglichkeit in PHP so ne Art namespace(á la C++) temporär zu setzten? Oder hat jemand vllt sogar einen besseren Lösungsansatz?
MfG,
Spyro
\ EDIT1:
"PHP has no namespace support, with all PHP functions sharing the same global namespace."
http://en.wikipedia.org/wiki/PHP -> Criticism
Ok, damit fällt die Option schonmal weg :-(
\ EDIT2:
Also ich bin jetzt soweit, dass ich statt der tslib_pibase einfach die tx_realurl als Mutterklasse vererbe. pi_wrapInBaseClass() einfach aus dem TYPO3-Code extrahiert und eingefügt. Jetzt muss ich sagen, dass ich wohl doch noch ein paar Dinge bei der encodeSpURL_doEncode()-Methode übersehen habe... Zumindest bekomme ich keine brauchbare Ausgabe, denn sie gibt mir genau den String zurück, den ich ihr liefere(das $inputQuery). Muss nochmal drüberschauen, was ich da falsch verstanden habe.
Wieso einfach wenn es auch umständlich geht...
Gibt ne Methode der Klasse tslib_pibase mit dem schönen Namen pi_getPageLink().
Funktionsweise tslib_pibase::pi_getPageLink($pageID) und schon bekommt man zugehörigen Link sogar RealURL-encoded -.-
Anmerkung an mich selber: Das nächste mal mehr Informationen in den Thread schreiben, was ich eignetlich machen will...
Schönes Wochenende noch 🙂
Spyro