Blog
TYPO3: tt_news-Marker für die URL der Detailseite

Gerade ein kleines Problem zu lösen gehabt in der TYPO3-News-Extension tt_news.

Ziel war die Rückgabe der reinen URL der Detailseite statt dem kompletten Link, welchen man ja mit dem Template-Marker ###LINK_ITEM### erhält.

Anwendungsgebiet wäre zum Beispiel die Befüllung eines Facebook-Schnipsels für die Like/Share/Send-Funktionalität mit der betreffenden Ziel-URL des Newseintrages.

Eine ganz elegante Lösung habe ich leider nicht gefunden, dafür eine halbelegante ;-)

Zunächst muss man 1) die Extension ttnews_marker installieren

Dann ergänzt man 2) das vorhandene Typoscript mit folgenden Zeilen:

includeLibs.gethref = fileadmin/php/user_gethref.php
plugin.tt_news {
  extensions.ttnews_marker.marker {
    url {
      data = register:newsMoreLink
      postUserFunc = user_gethref
   }
}

Dann fügt man 3) ins Template den Marker ###URL### an gewünschter Stelle ein.

Und legt eine Datei user_gethref.php in den Ordner fileadmin/php/ mit folgendem Inhalt:

<?php
 function user_gethref( $content, $conf )
 {
   if( preg_match( '/href="(.*)"/U', $content, $match ) )
   {
     return $match[ 1 ] ;
   }   
   else
   {
     return '';
   }
 }
?>

Das sollte es gewesen sein – wer bessere Lösungsansätze hat: Ich freue mich darauf :-)

  1. Michael sagte am :

    Geht aktuell auch einfacher und ohne Extensions und PHP-Scripte: (getestet mit dem FB like Button)

    plugin.tt_news {
    genericmarkers.URL = TEXT
    genericmarkers.URL {
    data = getIndpEnv:TYPO3_REQUEST_URL
    stdWrap.rawUrlEncode = 1
    }
    }

    und dann halt ###GENERIC_URL### im Template verwenden

    Ist ne ganz normale Funktion der tt_news

  2. stefan sagte am :

    jetzt wo du es sagst – so würde ichs mittlerweile auch machen ;-) und stimmt – die zusätzliche extension hatte ich vorausgesetzt.
    danke!

    • stefan sagte am :

      ach sissste – jetzt hab ich mich wieder in den Case reingedacht. Es ging darum, auf einer News-Übersichtsseite mehrere Like-Buttons für die Unterseiten einzubauen. Es ging nicht um diesselbe URL auf der man gerade ist. Hierfür hast du auch keine elegante Lösung oder?

      Den Hinweis mit der Extension habe ich nun noch hinzugefügt.

  3. Luigi sagte am :

    Please The reason for contact is:
    Problems with the links to navigate typo3
    Sample test to verify this link installed by typo3 version 4.5 [http://]typo3p.alojamientowebempresa.es/d1/
    The problem arises when making navigability click hal
    • Get Started
    • About TYPO3
    • Features
    • Customizing TYPO3
    • Resources
    • Examples
    • Feedback
    By clicking “About TYPO3″ error is presented as in this link [http://]typo3p.alojamientowebempresa.es/d1/about-typo3/

    I await your prompt response.
    thank you very much.
    Atte. Luigi

  4. stefan sagte am :

    p.s.: it seems like a missing .htaccess or wrong commands inside this file.

  5. volker sagte am :

    hallo stefan,

    vielen dank für dein post hierzu. hat mir geholfen.
    ich hatte nur ein kleines problem, dass die baseurl fehlte.
    habe es wie folgt gelöst:

    includeLibs.gethref = fileadmin/files/user_gethref.php
    plugin.tt_news.genericmarkers {
    url = COA
    url.10 = TEXT
    url.10.data = TSFE:baseUrl
    url.20 = TEXT
    url.20.data = register:newsMoreLink
    url.20.postUserFunc = user_gethref
    }

    die zusätzliche extension ist nicht nötig, da ab tt_news 3.0 (glaub ich), generische marker in den news-templates möglich sind. für obigen fall einfach ###GENERIC_URL### ins template eintragen.

  6. stefan sagte am :

    hi volker. gern.
    bei meiner variante hat sich fb die baseurl aus der aufrufenden url geholt. aber sicher ist sicher :-)

    ja das mit den gerneric-markers ist noch ne feine verbesserungsmöglichkeit. danke und rock on.

  7. Nico sagte am :

    Hey Stefan,

    wäre damit auch ein Fall möglich, dass man beim Klick von der Liste auf die Details so eine neue BaseURL definieren kann?
    Und zwar hab ich ein Tradescript, was einen bestimmten Prozentsatz der User zu einer anderen Seite schickt.

    [http://]trade-script.com/out.php?s=546&ghttp://www.typo3-projekt.xxx/de/artikel/eintrag.html

    So müsste der Link am Ende aussehen, aber ich komme damit irgendwie nicht weiter. Vielleicht geht das auch gar nicht.

E-Mail-Adresse wird nicht veröffentlicht. Alle Felder sind Pflichtfelder.