[TYPO3-german] Einfügen eines Contentelements per TypoScript

Stefan Precht sprecht at gmx.de
Tue Jan 15 14:11:44 CET 2008


Hab mir eben mal die pi1 angeguckt. Das wird leider nicht funktionieren 
was Du da geschrieben hast, da die Ext. tatsächlich NUR Ihr Flexform 
ausliest. Jegliche TS Konfi ist der Erweiterung völlig egal.

Du könntest Sie jedoch für Deine Zwecke umwandeln.

Dafür in der Funktion main() den übergebenen Parameter $conf in ein 
Attribut der Klasse übernehmen:
$this->conf = $conf;

In der Funktion init() dann prüfen, was diese Zeile hier als 
Rückgabewert liefert:
$piFlexForm = $this->cObj->data['pi_flexform']; // Assign the flexfo

Vorraussichtlich ist es schlicht leer und etwas wie
if (!$piFlexForm) {}

sollte klappen.

Vorher noch eine TS Datei anlegen mit den Feldern

plugin.tx_lumophpinclude_pi1.source
und
plugin.tx_lumophpinclude_pi1.processing

um evtl. Standardklonfiguration vorzunehmen.

Und dann fügst Du halt vor dem Kommentar "// 1. Source Sheet" in der 
Init() ein:

if (!$piFlexForm) {
     $this->lConf['source'] = $this->conf['source.'];
     $this->lConf['processing'] = $this->conf['processing.'];
}

Dein TS müsste dann heißen
  lib.test < plugin.tx_lumophpinclude_pi1
  lib.test.source {
    script_type = url
    script_url = http://www.domain.com/fileadmin/_test_/test.html
  }
  lib.test.processing {
    script_type = url
    script_url = http://www.domain.com/fileadmin/_test_/test.html
  }


Fertig...

Viele Grüße,
Stefan

Florian Seirer schrieb:
> Hallo und danke für den Tipp!
> 
> Ich hab's mal mit Folgendem probiert, jedoch ohne Erfolg:
> 
> lib.test < plugin.tx_lumophpinclude_pi1
> lib.test {
> script_type = url
> script_url = http://www.domain.com/fileadmin/_test_/test.html
> }
> 
> Keine Ausgabe, keine Fehlermeldung.
> Ich bleib aber dran...
> 
> 
> Stefan Precht schrieb:
>> Hi Florian!
>>
>> Ich hoffe die Frage richtig verstanden zu haben... In TV kann Du einem 
>> Container (z.B. einem DIV) zuweisen, dass es keine Contentelements 
>> redaktionell aufnehmen kann, sondern einen TS Pfad rendern soll.
>>
>> Du kann zum Beispiel etwas anlegen wie:
>> lib.MYCONTENT = COA
>> lib.MYCONTENT.10 = TEXT
>> lib.MYCONTENT.20 = HTML
>>
>> etc.
>>
>> Ob Du ein Plugin auch rein per TS integrieren kannst liegt an der 
>> Extension und wie sie ihre Daten und Konfiguration bezieht etc. Wenn 
>> die Extension beispielsweise nur über FlexForms konfigurierbar ist, 
>> kann das zu einem Problem werden ;-)
>>
>> Ansonsten sollte soetwas wie
>> lib.MYCONTENT.30 < plugin.tx_extensionskey gehen...
>>
>> Viele Grüße,
>> Stefan
>>
>>
>>
>> Florian Seirer schrieb:
>>> Hallo Liste!
>>>
>>> Ist es möglich, ein Inhaltselement per TypoScript auf einer Seite 
>>> anzuzeigen, statt es per TemplaVoila als normales Inhaltselement 
>>> einzufügen?
>>>
>>> In meinem konkreten Fall geht es um die Extension lumophpinclude. 
>>> Damit können per Plugin Scripts (html, php, etc.) von externen Seiten 
>>> eingebunden wäre, was an sich auch gut funktioniert. Allerdings 
>>> sollen die Redakteure das nicht können, was sich in TemplaVoila nicht 
>>> so leicht machen lässt. Klar, ich könnte ihnen das Recht für dieses 
>>> Plugin entziehen bzw. es nur bestimmten Usern geben. Normale 
>>> Redakteure könnten diese Spalte, die nur für diesen Zweck existiert, 
>>> dann aber für andere Sachen missbrauchen. Deswegen will ich auf die 
>>> Spalte ganz verzichten und das Ganze per TS einfügen.
>>>
>>> Da meine php-Kenntnisse etwas eingeschränkt sind, war das der erste 
>>> Weg, der mir als Lösung eingefallen ist. Wahrscheinlich geht das auch 
>>> viel einfacher, aber vielleicht könnt ihr mir da weiterhelfen...
>>>
>>> Mfg Florian


More information about the TYPO3-german mailing list