... habe mir die Videos auf typo3.org reingezogen. Leider möchte ich einen neuen Contenttypen entwerfen. Wenn ich als Typ "frontend plugin" wähle und die Felder hinzufüge, werden mir diese aber nicht nach der Installation des Plugins angezeigt. Ich kann m einen Typen aus der Liste wählen, aber bekomme nur eine Überschrift und das wars ...
Hat jemand 'ne Idee?
Danke & Gruß
... moment, ist das Überhaupt der richtige Typ? Aber Backend ist doch auch falsch, oder ...
Wenn du dir kein zB Frontend Plugin geschrieben hast mit dem du die Werte eintragen kannst, dann gibt es nur die Möglichkeit einen neuen Datensatz auf einer Seite zu erstellen. Mach einen Klick auf deine Seite im Seitenbaum und wähle Neu. Dann findest du in der Liste auf der rechten Seite deinen Datensatz (je nach dem wie du ihn benannt hast).
Hallo,
da wäre ich ja über einen Ansatz dankbar. Eine Ext. in die ich über Datensätze füttern kann habe ich schon. Da es ein Contentelement werden soll bräuchte ich dafür den Tip, wie man den Ansatz im Kickstarter findet ...
Ich habe bisher noch kein Plugin geschrieben welche als neuer Contenttyp gilt.
Im Kickstarter kann man aber zumindest das Grundgerüst anlegen. Der wichtige Punkt dabei ist dass du ein neues Frontendplugin erstellen musst. Gibt dem Plugin einen Namen und scroll etwas weiter nach unten. Hier kannst du die Art deines Plugins aussuchen: "Add as a totally new Content Element type". Was man dann aber noch alles selbst machen muss weiß ich wie gesagt nicht.
Aber da ich das vermutlich auch bald brauche würden mich Infos hierzu auch interessieren.
Mehr kann ich leider nicht helfen.
Der normale Ansatz ist, mit dem Kickstarter die Datentabellen zu erstellen und dann ein Frontend-Plugin. Dieses steht dann zur Verfügung, wenn man "Plugin einfügen" im Content der Seite wählt.
Für die Parameter zur Ausgabe steht einem entweder das CODE-Feld zur Verfügung oder man integriert eine Flexform, in der man alle parameter festlegen kann.
Das Plugin ist nichts anderes als eine Klasse im Ordner pi1, der Kickstarter erzeugt diese Datei und macht schon eine einfache Ausgabe, so das man einen guten Ansatz hat.
Hi Eisstern,
ich werde mich da die Tage mal reinknien. Wenn alles zur Zufriedenheit läuft versuche ich mal ne Info los zu werden ...
Danke & Gruß
... es ist zum Verrückt werden! Nun sitze ich hier seit stunden und alles was ich zusammenklicken kann ist ist so ein Plugin in welches ich über "Datensatz einfügen" mit Content versorgen kann.
Ich bekomme es nicht hin, dass die neuen Datenfelder wie z. B. beim Content-Objekt "Text mit Bild" gleich angezeigt werden. Hat denn echt niemand dafür einen Ansatz ...
du meinst direkt beim einbinden?
da scheint mir flexform das beste zu sein, hier mal ein ansatz:
gehe in dein extension ordner und öffne die datei ext_tables.php und füge folgende zeilen mit hinzu:
$TCA['tt_content']['types']['list']['subtypes_addlist'][$_EXTKEY.'_pi1'] ='pi_flexform';
t3lib_extMgm::addPiFlexFormValue($_EXTKEY.'_pi1', 'FILE:EXT:'.$_EXTKEY . '/flexform.xml');
dann erstellst du in den gleichen ordner (nicht in p1 sondern in den hauptordner) die "flexform.xml". es folgt ein kleines beispiel, was ich in einer meiner extensions eingebaut habe: eine selectbox mit einer bereichsauswahl. ich werde dir in das flexform einige kommentare reinschreiben, diese bitte dann entfernen!
<T3DataStructure>
<sheets>
<sDEF>
<ROOT>
<TCEforms>
<sheetTitle>Options</sheetTitle>
</TCEforms>
<type>array</type>
<el>
<bereich>
<TCEforms>
<label>Bereich</label> //Überschrift der Selectbox
<config>
<type>select</type>
<items type="array">
<numIndex index="0" type="array"> //erster Datensatz
<numIndex index="0">Auto</numIndex> //Das was in der Selectbox ausgegeben wird
<numIndex index="1">1</numIndex> //option-value
</numIndex>
<numIndex index="1" type="array">
<numIndex index="0">Motorrad</numIndex>
<numIndex index="1">2</numIndex>
</numIndex>
</items>
<maxitems>1</maxitems>
<size>1</size>
</config>
</TCEforms>
</bereich>
</el>
</ROOT>
</sDEF>
</sheets>
</T3DataStructure>
nun kannst du diese auswahl in deiner extension abfragen.
dazu musst du flexform noch inititialisieren:
function main($content,$conf) {
$this->conf=$conf;
$this->pi_setPiVarDefaults();
$this->pi_loadLL();
$this->pi_USER_INT_obj=1;
$this->pi_initPIflexForm(); //das wird hier gemacht *wink*
dann kannste du den aktuellen wert deiner selectbox abfragen:
$aktuellerWert = $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'bereich', 'sDEF');
versuch das mal umzusetzen! wichtig nach dem einbinden wird es nicht gleich angezeigt. dann hilf den gesamten cache löschen und mal aus und wieder einloggen.
Hallo,
hat einbischen gedauert. Dein Ansatz klappt prima und wird mir auf jeden Fall helfen! Danke erstmal ...