Zum Inhalt springen

wt_socialbookmarks & tt_news SINGLE View

Erstellt am 18. Juni 2009 · 12 Antworten · letzte Antwort am 20. Juni 2009

Tags: Frage

hexa2k ·

Tag,

ich habe ein kleines Problem mit tt_news und wt_socialbookmarks. Die URLs die den Bookmark-Services in der Einzel-Ansicht von tt_news übergeben werden enthalten leider nicht all die Parameter, die TYPO3 so schön in den Hash gepackt hat. Aus einer Seite /Newsdetails.ID+M<md5hash>.0.html wird ein /Newsdetails.ID.0.html. Das Resultat ist, dass ich nicht auf genau der News lande die ich an die Bookmark-Services übergeben will bzw. ich mir gerade ansehe, sondern einer leeren Seite.

Die Frage ist, wie sich das ändern lässt. Im TypoScript von wt_socialbookmarks selbst habe ich nichts gemacht. Bislang dacht ich "einbinden, läuft".

Hat jemand eine Idee?

Grüße,
Chris

[edit]Ich vergaß zu erwähnen, dass ich (offensichtlicherweise) simulateStaticDocuments anhabe und eine ganze Menge POST-Variablen per md5hash (simulateStaticDocuments_pEnc und simulateStaticDocuments_pEnc_onlyP) "verstecke" dass der squid davor das Zeug gescheit cachen kann[/edit]

hexa2k ·

Diese Antwort bräuchte ich nochmal für Menschen, die nicht sofort wissen an welcher Stelle sie was zu suchen/einzufügen haben bitte ...

Danke.

hexa2k ·

ok .. also .. nochmal für mich allein .. addQueryString gehört zu typolink. Verstanden.

Wenn ich also (hier zum Beisiel für Twitter) ein

plugin.tx_wtsocialbookmarks_pi1.configuration.30.10.20.20.typolink.addQueryString = 1
plugin.tx_wtsocialbookmarks.30.10.20.20.typolink.addQueryString = 1

eintrage sollte es also passen? Habe ich das richtig verstanden? Denn das habe ich gerade getan und nix hat sich geändert.

Grüße,
Chris

hexa2k ·

Tag,

nachdem ich gestern nen mehr als miesen Tag hatte heute nochmal mit frischem Verstand an die Sache. Das mit addQueryString = 1 passt schon. Was dem Ganzen noch gefehlt hat war addQueryString.method = GET.

Das Beispiel für Twitter wäre also:

plugin.tx_wtsocialbookmarks_pi1.configuration.30.10.20.20.typolink.addQueryString = 1
plugin.tx_wtsocialbookmarks_pi1.configuration.30.10.20.20.typolink.addQueryString.method = GET
plugin.tx_wtsocialbookmarks.30.10.20.20.typolink.addQueryString = 1
plugin.tx_wtsocialbookmarks.30.10.20.20.typolink.addQueryString.method = GET

In meinen Augen sollten die Zeilen Standard werden für die Extension.

Grüße,
Chris

hexa2k ·

Und hier kommt direkt die nächste Kleinigkeit. Immernoch mit tt_news (wobei das sicherlich auch für alle weiteren Seiten gilt die in nen Hash geschrieben werden). Wieder mit Twitter (ich hab leider nichts anderes zum testen).

Der Hash wird mittlerweile angehängt. Allerdings fehlt das '+' in der URL. Im Link steht zwar "http://twitter.com/home?status=http%3A%2F%2F-HOST-%2FNewsdetails.186+M55f947c9320.0.html%20", bei Twitter kommt allerdings das '+' nicht an. So würde also eine ungültige URL gepostet.

Ticket #3712

Grüße,
Chris

hexa2k ·

Nun .. bislang hat mir RealURL mehr Knüppel zwischen die Beine geworfen als das es wirklich gefolfen hat. Sicher .. eine URL /news/newsdetails/<newstitel>.html schaut hübscher aus als das bisherige. Der Aufwand mit RealURL ist es in meinen Augen allerdings kaum wert .. ich bin eher der Typ der sich sagt "keep it simple; keep it working" .. und die einfachste Variante um Seiten über nen proxy (lighttpd+cache oder squid) auszuliefern ist simulateStaticDocuments ..

hexa2k ·

Und hier kommt die Lösung hinterher ..

Der Hase liegt in der php funktion urlencode bzw rawurlencode begraben. Diese sieht erstmal nicht vor ein '+' durch den Encoder zu schieben. Also mache ich das nun von Hand. In der Datei 'typo3conf/ext/wt_socialbookmarks/pi1/class.tx_wtsocialbookmarks_pi1.php' gibt es die Funktion changeOutput($string) (du weißt das, du hasts geschrieben 😉 ). Da habe ich eine weitere Zeile eingefügt. Die Funktion schaut bei mir nun so aus:

        // Function changeOutput() to validate html code
        function changeOutput($string) {
                $string = str_replace('+', '%2B', $string);
                return str_replace('&', '&amp;', $string);
        }

Das '+' in den Links wird jetzt entsprechend durch den Hex-Code '%2B' ersetzt und sind somit wieder gültig.

[edit]Die EXT CoolURI kannte ich noch nicht ... ist vielleicht mal nen Blick wert .. Die Aussage "den Vodoo-Zauber der realURL-Konfiguration beseitigt" überzeugt für den Moment - Danke für den Tipp[/edit]

Grüße,
Chris