[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