[TYPO3-german] Link in Extension

Widmann, Manfred Dipl.-Ing. webmaster at radclubwels.at
Sat Sep 23 18:41:10 CEST 2006


Alsoooo ... ich hab's wie folgt gelöst:

1) Als Typ der Felder profilepage (interner Link), email (eh klar) und home 
(ext. Link) habe ich im Kickstarter "link" verwendet.

2) In class.tx_<myextname>_pi1.php habe ich dann die entsprechenden Marker 
wie folgt belegt:
$marker["###NAME###"]   = $this->cObj->getTypoLink($row["firstname"]." 
".$row["lastname"],$row["profilepage"]);
$marker["###EMAIL###"]   = 
$this->cObj->getTypoLink($row["email"],$row["email"]);
$marker["###HOME###"]   = 
$this->cObj->getTypoLink($row["home"],$row["home"]);

Ich speicher die Links also jeweils in einem eigenen Feld und habe somit 
nicht das Problem, es irgendwo rausparsen zu müssen.

Aber in einer anderen Extension (de_simplecalendar) hatte ich das Problem, 
dass Links von der rtehtmlarea nicht gerendert wurden - also einfach 
ignoriert wurden. Ich habe sie deswegen so erweitert, dass ich diese 
heraussuche und dann eben entsprechend darstelle - hier der entsprechende 
Code:
    /* WiMa Start*/
    $linkStart = strpos($out,"<LINK");
    $linkEnd   = strpos($out,"</LINK>");

    while (($linkStart != false) && ($linkEnd != false)) {
      $linkContent = substr($out,$linkStart+6,$linkEnd-$linkStart-6);
      $linkDest    = substr($linkContent,0,strpos($linkContent,">"));
      $linkText    = substr($linkContent,strpos($linkContent,">")+1);

      $out1 = substr($out,0,$linkStart);
      $out2 = $this->cObj->getTypoLink($linkText,$linkDest);
      $out3 = substr($out,$linkEnd+7);

      $out = $out1 . $out2 . $out3;

      $linkStart = strpos($out,"<LINK");
      $linkEnd   = strpos($out,"</LINK>");
    }

    /* Debugging
    return "linkStart = " . $linkStart . "<br>"
         . "linkEnd = " . $linkEnd . "<br>"
         . "linkContent = " . $linkContent . "<br>"
         . "linkDest = " . $linkDest . "<br>"
         . "linkText = " . $linkText . "<br>"
         . $out;
    */
    /* WiMa End */
Elegant ists eher wohl nicht - wenn man darunter "einfach", "leicht 
verständlich" oder "kurz" versteht :-)))

hth
Manfred 





More information about the TYPO3-german mailing list