Zum Inhalt springen

Störendes "Plus" bei SimulateStaticDocuments

Erstellt am 24. Juni 2010 · 7 Antworten · letzte Antwort am 13. August 2010

Tags: URLs & Routing, tt_news, Frage

r.​p.​ ·

Hallo zusammen!

Ich möchte (soll) in Newsbeiträgen (tt_news) einen Facebook-Gefällt-mir-Button einbinden.
Leider sehen die URLs (erzeugt durch Simulatestaticdocuments) folgendermaßen aus:
.../news+M5107ef38dc7.html

Das Script von Facebook stört sich an dem "+" (Plus) vor dem Md5-Code.
Ohne Md5-Codierung funktioniert es tadellos -nur sehen die URLs dann nicht mehr schön aus

Kann ich das "+" durch z.B. einen "_" (Unterstrich) ersetzen?
Oder kennt jemand eine bessere Lösung für mein Problem?

Danke im voraus und liebe Grüße.

r.​p.​ ·

Hallo nochmal.

Ich habe in der Zwischenzeit mit RealUrl herumexperimentiert.
Damit wäre zwar das Facebook-Gefällt-mir-Button-Problem behoben allerdings würden dann Links auf externen Homepages welche auf bereits bestehende Seiten verweisen nicht mehr funktionieren, ODER?

Weil aus z.B. "www.domain.com/seite1.html" macht RealUrl ja "www.domain.com/seiten/1/" -gäbe es ein Möglichkeit Realurl so anzupassen dass die URLs so ausgegeben werden wie mit SimulateStaticDocuments?

Danke, liebe Grüße,
RP

wurgli ·

Hallo,

ist zwar nicht die Antwort auf deine Frage aber wie hast du das mit dem Facebook Button gelöst?

r.​p.​ ·

Hi Wurgli.

Auf http://developers.facebook.com/docs/reference/plugins/like findest Du Infos wie man einen "Gefällt mir"-Button erstellt und bekommst zwei Code-Varianten für die Einbindung geliefert.
Diesen Code habe ich in mein Template für die News (tt_news) eingebunden -das hat den Vorteil dass jede einzelne News von den "Freunden" ausgewählt werden kann.

Ich habe mich übrigens für den XFBML-Code entschieden weil der einfach automatisch die aktuelle URL der aufgerufenen Seite übernimmt (aber eben nur ohne "Simulate Static Docs" bzw. mit RealUrl).

Folgenden Code habe ich vor den Marker für den zurück-Link gesetzt (ist als PHP formatiert weil HTML nicht funktioniert hat):

<div id="fb-root"></div>
<script>
  window.fbAsyncInit = function() {
    FB.init({appId: 'your app id', status: true, cookie: true,
             xfbml: true});
  };
  (function() {
    var e = document.createElement('script'); e.async = true;
    e.src = document.location.protocol +
      '//connect.facebook.net/de_DE/all.js';
    document.getElementById('fb-root').appendChild(e);
  }());
</script>
<p>&nbsp;</p>
<fb:like></fb:like>

Liebe Grüße,
R

jochen ·

Hallo r.p.,

r.p. schrieb

Weil aus z.B. "www.domain.com/seite1.html" macht RealUrl ja "www.domain.com/seiten/1/"

Naja, das macht realurl nur in der Standard-Konfiguration so 😉

Den Pfad aus der Seitenhierarchie erzeugt realurl im Abschnitt

'pagePath' => array(...

Wenn du einmal diesen Array in der realurl-Konfiguration leerst, siehst du, dass nur noch die uid der Seite als "Dateiname" verwendet wird und kein Pfad mehr.

Den Dateinamen selbst - z.B. "seite1" - kannst du mit einer eigenen userFunc im Bereich "pagePath" zusammen bauen. Dazu bietet realurl neben der Klasse class.tx_realurl_advanced die Klasse class.tx_realurl_dummy, die man nach eigenen Wünschen umschreiben kann.

Das ".html" bekommst du ans Ende des "Dateinamens" mit der realurl-Einstellung

'fileName' => array(
    'defaultToHTMLsuffixOnPrev' => '.html'
)

Grüße
Jochen

SirRuddy ·

Hallo!

Meine Lösung hierzu: Die Extension 'socialplugins' aus der repository laden, und glücklich sein 😉

Gruß
SirRuddy