[TYPO3-UG Rhein-Neckar] gelöst: eigene Ext - Frage zu getTypoLink

Rinne typo3 at ennir.de
Mon Jul 24 16:31:57 CEST 2006


moin moin und herzlichen Dank,

hätte ich mal wieder früher in die Mail schauen sollen, hab es jetzt
auch selbst herausgefinden - aber herzlichen Dank euch beiden nochmal!
Das mit dem stdWrap schau ich mir nochmal an - brauch ich jetzt im
Moment nicht, hab aber den Eindruck, das es einmal ganz nützlich (ggf
zusätzlich) sein kann...

Die Lösung ist halt ein 'ein'zeiler und benutzt die Fkt. pi_RTEcssText,
die seinerseits nur einen String als Eingabe braucht und diesen dann
richtig (bzgl Links) umwandelt. Hier meine Lösung aufs relevante
beschränkt:

require_once(PATH_tslib.'class.tslib_pibase.php');
class tx_fbbglf_pi1 extends tslib_pibase {
[..]
  function main($content,$conf) {
[..]
   $str     = $data['bodytext'];
   $content.='<div class="ce_bodytext">'.tslib_pibase::pi_RTEcssText($str).
            '</div>';
[..]
}}

So, nun wend ich mich zwei anderen Problemen zu, wovon ich das eine
hier auch angesprochen hatte:
Will in der Typeauswahl der Inhaltselement meinen Typ auch angezeigt
bekommen. Hab auch schon einen Ansatzpunkt mit 'typeicons', die in
tables.php und ext_tables.php gesetzt werden. Meld mich nochmal,
wenn ich das geschafft hab. Tipps sind immer willkommen ansonsten
schau ich Videos, google und lese im Forum ;)

schönen Gruß...
         ...rinne

On Mo, Juli 24, 2006 12:54, Ralf Hettinger wrote:
 > Hallo Rinne,
 >
 > erstmal ein Link zur Video-Tutorial-Sammlung (da gibt es auch eine recht
 > gute kasperisierte Sektion über die Entwicklung von Frontend Plugins;
 > zwar Version 3.6, aber vieles ist weiterhin gültig)
 > http://typo3.org/documentation/videos/wmv-format/
 >
 >> Die Links erscheinen jedoch nun nur wie folgt im HTML-Code:
 >> <LINK 166 - internal-link>Architektur</LINK>
 >
 > Der Fußweg wäre (ergänzend zu dem was Joachim schon unter Benutzung von
 > getFieldContent schrieb), Dein eigenes TYPOSCRIPT, das die Links parst,
 > selbst zu schreiben, an Deine Funktion zu übergeben und die
 > Standardfunktionen aus den tslib-Klassen die Arbeit machen zu lassen.
 > Dazu kannst Du stdWrap.parseFunc bzw. stdWrap.HTMLParser benutzen (siehe
 > Object Browser und TSREF):
 >
 >
 > # TS: Alle Konfigurationsparameter von Parsefunc aus dem
 > # Standard-Lib-Konfigtree übernehmen
 >
 > plugin.tx_txwoma_pi1.myProp.myFieldName.stdWrap.parseFunc <
 > lib.parseFunc_RTE
 >
 >
 > # PHP: stdWrap für eigene Felder anstoßen
 > # $data[$myFieldName] enthält bereits den Inhalt des zu wrappenden Feldes
 >
 > $data[$myFieldName] = $this->cObj->stdWrap(
 >   $data[$myFieldName],
 >   $this->conf['myProp.']['myFieldName.']['stdWrap.'] // wrap aus TS
 > );
 >
 >
 > Damit kannst Du auch komplexere Sachen realisieren bzw. ein Parsing über
 > htmlspecialChars direkt im TYPOSCRIPT zu Deiner Extension an und
 > abschalten.
 >
 >
 >
 > Viele Grüße
 > Ralf
 >
 >
 >
 >
 > Joachim Streit schrieb:
 >> moin rinne,
 >>
 >> gut ich hatte das über Marker gelöst deshalb scheint das bei mir anders
 >> zu laufen,
 >> $markerArrayItem["###DOCUMENT_VALUE###"] =
 >> htmlspecialchars($row['bodytext']);
 >>
 >>
 >> bzw.:
 >>
 >> $content .=
 >> 
'<p'.$this->pi_classParam("singleViewField-bodytext").'><strong>'.$this->getFieldHeader("bodytext").':</strong><br>
 >> 
'.$this->cObj->stdWrap(nl2br($this->getFieldContent("bodytext")),$this->conf["content."]).'</p>';
 >>
 >>
 >> return $content ;
 >>
 >>
 >> SETUP:
 >> plugin.tx_txwoma_pi1.content.wrap = |
 >>
 >>
 >>
 >> so geht das bei mir zumindest ...
 >>
 >> weiter tipp die deutsche Liste befragen ....
 >>
 >> anderererere Seits ist das auch viel zu heiss grade ...
 >>
 >> Grüße und viel Erfolg
 >>
 >> Joachim
 >>
 >>
 >>
 >>
 >> Rinne schrieb:
 >>
 >>> Hai Joachim & die anderen,
 >>>
 >>> hab geschaut und dabei übrigens folgende API gefunden:
 >>>    http://doxygen.frozenkiwi.com/typo3/html/
 >>>
 >>> schonmal erfreulich. Ausserdem hab ich verschiedene Funktionen
 >>> gefunden, wo es bei mir allerdings mit dem ansprechen hapert.
 >>> Wenn ich pi1/class.tx_fbbglf_pi1.php ändere
 >>>    $str = $data['bodytext'];
 >>>    #$content.= '<div
 >>> class="ce_bodytext">'.main_plaintext($str).'</div>';
 >>>    #$content.= '<div class="ce_bodytext">'.parseFunc($str).'</div>';
 >>>    #$content.= '<div class="ce_bodytext">'.$data['bodytext'].'</div>';
 >>>    $content.= '<div class="ce_bodytext" version="2">'.$str.'</div>';
 >>>
 >>> kommt bei den auskommentierten folgender Fehler:
 >>>
 >>> Fatal error: Call to undefined function: parsefunc() in
 >>> typo3conf/ext/fbbg_lf/pi1/class.tx_fbbglf_pi1.php on line 60
 >>>
 >>> Ich glaube ja fest dran, das eine dieser Funktionen mir
 >>> den DB-Record in HTML umwandelt und die Links vernümpftig
 >>> erzeugt werden...aber was mache ich noch falsch?
 >>>
 >>> vielen Dank und bis denne...
 >>>                      ...rinne
 >>>
 >>> PS: bist Du dir sicher mit 'htmlspecialchars($row['bodytext'])'
 >>>     dazu hab ich nämlich nichts gefunden...
 >>>
 >>> On Di, Juli 18, 2006 16:55, Joachim Streit wrote:
 >>>  > Moin rinne,
 >>>  > schau dir einfach mal tt_news an, das ist zwar super verwirrend am
 >>>  > Anfang aber das ist sauber und sehr gut geschrieben.
 >>>  >
 >>>  > wenn du den bodytext wieder aus lesen willst und nicht weisst wie -
 >>>  > schau dir mal ext. an die das machen ...
 >>>  >
 >>>  > d.h. ich kanns auch nicht wirklich ...
 >>>  >
 >>>  > htmlspecialchars($row['bodytext'])
 >>>  >
 >>>  >
 >>>  > aber versuch mal in diese Richtung
 >>>  >
 >>>  >
 >>>  > Grüße
 >>>  >
 >>>  > Joachim
 >>>  >
 >>>  >
 > _______________________________________________
 > TYPO3-UG-rhein-neckar mailing list
 > TYPO3-UG-rhein-neckar at lists.netfielders.de
 > http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-ug-rhein-neckar
 >
 >



More information about the TYPO3-UG-rhein-neckar mailing list