[TYPO3-UG Rhein-Neckar] eigene Ext - Frage zu getTypoLink

Joachim Streit jstreit at ditnetwork.de
Tue Jul 18 16:55:56 CEST 2006


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



Rinne schrieb:
> moin moin,
> 
> hab folgende Probleme mit einer von mir selbst erstellten
> Erweiterung, und vielleicht kann mir jemand von Euch helfen:
>  1.es erfolgt für den bodytext aus tt_content keine Umwandlung
>    der Links, wie kann ich das mit getTypoLink machen?
>  2.wie stelle ich meinen Redakteuren mein neues Formular in
>    der Auswahl der Seitentypen von neue Inhaltselemente zur
>    Verfügung?
> 
> Etwas ausführlicher zu 1:
> =========================
> Hab eine eigene Erweiterung mit dem Ext.Kickstarter erstellt
> um drei weitere Felder (2.Überschrift, Bild und Signatur) zu
> bekommen, die ich für das Layout benötige. Hab es als Frontend-
> Ext. gemacht und die DB-Felder wurden wie gewünscht in die
> DB-Table: tt_content hinzugefügt.
> Dann hab ich die Datei pi1/class.tx_fbbglf_pi1.php angepasst,
> damit die neuen DB-Felder auch wieder ausgegeben werden. Fkt.
> auch wunderbar (php-code siehe unten).
> 
> Die Links erscheinen jedoch nun nur wie folgt im HTML-Code:
>   <LINK 166 - internal-link>Architektur</LINK>
> nun hab ich gesucht, und es gibt ja in
> /typo3_src/typo3/sysext/cms/tslib/class.tslib_content.php
> die Funktion 'getTypoLink' -- Frage: was muss ich tun damit
> "$data['bodytext']" dort richtig ausgewertet wird?
> 
> zu 2:
> =====
> Ich möchte für diese Extension nun einen Eintrag in dem
> 'New Content Element' wizard. Wenn ich in der Auswahl für
> meine Ext. den Punkt
>  O 'Add to 'Insert Plugin' list in Content Elemen'
>    O 'Add icon to 'New Content Element' wizard:'
> hätte er es mir automatisch hinzugefügt (unter Plugins)
> ich möchte es aber unter 'Typischer Seiteninhalt' und habe
> daher
>  x 'Add as a totally new Content Element type'
> ausgewählt. Wo und Wie füge ich jetzt mein Icon hinzu??
> 
> 
> Vielen Dank, freu mich über jede Hilfe....
>                                    ...rinne
> 
> PS: wo kann ich denn eigentlich das gescheid mal nachlesen
>     bzw. wo gibt es gute HowTos oder Anleitungen zum bau
>     von eigenen Ext.?  Gefunden hab ich bisher:
>     http://entwickler.com/itr/online_artikel/show.php3?nodeid=97&id=642
> 
> http://www.hachmeister.org/de/typo/tutorien/entwicklung/eigene-frontend-plugins-erstellen/ 
> 
> 
> So, hier noch mein Code:
> 
> ###################################################################
> ## Code in pi1/class.tx_fbbglf_pi1.php:
> ##################################################################
> require_once(PATH_tslib.'class.tslib_pibase.php');
> 
> class tx_fbbglf_pi1 extends tslib_pibase {
>     var $prefixId = 'tx_fbbglf_pi1';        // Same as class name
>     var $scriptRelPath = 'pi1/class.tx_fbbglf_pi1.php';    // Path to 
> this script relative to the extension dir.
>     var $extKey = 'fbbg_lf';    // The extension key.
>     var $pi_checkCHash = TRUE;
>     
>     /**
>      * Erweiterung von tt_content um drei weitere Felder (2.Überschrift, 
> Bild, Autor)
>          * hier werden nun diese Felder, die in tt_content hinzugekommen 
> sind, wieder
>          * ausgelesen.
>          */
> 
>         function main($content,$conf) {
>           $this->conf=$conf;
>           $this->pi_setPiVarDefaults();
>           $this->pi_loadLL();
> 
>           $contentUID = explode(":",$this->cObj->currentRecord);
>           $data = $this->pi_getRecord($contentUID[0],$contentUID[1]);
> 
>           $content = '<H2>'.$data['tx_fbbglf_abstract'].'</H2>';
> 
>           $content.= '<div 
> class="ce_topimage">'.$this->getImage($data['tx_fbbglf_topimage']).'</div>'; 
> 
> 
>           $content.= '<div 
> class="ce_bodytext">'.$data['bodytext'].'</div>';
> 
>           $content.= '<p 
> class="ce_author">'.$data['tx_fbbglf_author'].'</p>';
> 
>           return $this->pi_wrapInBaseClass($content);
>         }
> 
>         function getImage($imageName){
>           $imageConfig = $this->conf['images.'];
>           $imageConfig['file'] = 'uploads/tx_fbbglf/'.$imageName;
>           return $this->cObj->IMAGE($imageConfig);
>         }
> }
> 
> if (defined('TYPO3_MODE') && 
> $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/fbbg_lf/pi1/class.tx_fbbglf_pi1.php']) 
> {
>     include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/fbbg_lf/pi1/class.tx_fbbglf_pi1.php']); 
> 
> }



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