Und noch eine weitere Frage:
Ist es nicht möglich per DCE 2 sections ineinander zu verschachteln? Ich kann bei der 2ten Section dann keine Kindelemente angeben. Der Button neu anlegen fehlt dann...
grüße
Und noch eine weitere Frage:
Ist es nicht möglich per DCE 2 sections ineinander zu verschachteln? Ich kann bei der 2ten Section dann keine Kindelemente angeben. Der Button neu anlegen fehlt dann...
grüße
Hallo zusammen,
kann man die Anzahl der Sections die angelegt werden können einschränken? Ich möchte z.B. bei einem Slider maximal 7 Elemente erlauben, da wäre es schön ein Limit für den Redakteur zu setzen. Oder muss ich die Prüfung auf der Ausgabeseite durchführen, indem ich auf den iterator zugreife?
Danke!
(Hoffentlich hat das nicht schon jemand gefragt)
Wow, noch eine Frage: Kann ich meinem DCE die (TYPO3) Kategorien mitgeben und im Template nutzen?
Was ich geschafft habe:
Variante A: Im "DCE palette fields"-Feld den Wert "categories" eintragen.
Ergebnis: Ich habe das systeminterne Kategorieauswahl-Feld (cool!) im BE zur Verfügung
ABER: im Template kann ich nicht drauf zugreifen; in "fields" ist es nicht drin (klar!), im "contentObject.categories" ist nur die Anzahl(mist!) der ausgewählten Kategorien drin
Variante B: Eigenes Select-Feld bauen
<config>
<type>select</type>
<foreign_table>sys_category</foreign_table>
<size>6</size>
<selectedListStyle>width:150px</selectedListStyle>
<itemListStyle>width:150px</itemListStyle>
<dce_load_schema>1</dce_load_schema>
<multiple>1</multiple>
</config>
Ergebnis: Ich kann im Template auf die ausgewählte Kategorie inklusive (cool!) Titel/Name/etc zugreifen
ABER: Ich kann im BE immer nur eine (mist!) Kategorie auswählen
Habe ich nur Tomaten auf den Augen und sehe vor lauter fields und categories die Lösung nicht? Oder geht es einfach nicht?
Danke!
BO
TYPO3 6.2.4
DCE 0.10.2
lass dir mal in Variante A das {fields} debuggen - es sollte gehen dort auch auf die ausgewählten Kategorien zuzugreifen. Das Array ist nur etwas komplizierter verschachtelt glaube ich.
ging bei mir ganz gut:
<config>
<type>select</type>
<renderMode>tree</renderMode>
<foreign_table>sys_category</foreign_table>
<treeConfig>
<parentField>parent</parentField>
</treeConfig>
<size>10</size>
<autoSizeMax>20</autoSizeMax>
<minitems>0</minitems>
<maxitems>20</maxitems>
</config>
Hallo ToBe,
keine Chance. In Variante A komme ich nicht an die Kategorietitel dran - lediglich die Anzahl der ausgewählten Kategorien ist da (Auszug debug _all):
contentObject =>
[...]
selected_categories => NULL
category_field => '' (0 chars)
categories => '2' (1 chars)
In field/fields kann es eigentlich auch nicht drin sein, weil diese Daten aus dem pi_flexform-Feld gezogen werden...
Trotzdem Danke! :-)
Hallo brbanz,
Deine Lösung bewirkte zwar nicht ganz das, was ich wollte (es fehlten die "Kategoriedaten" in der Ausgabe), ABER der richtige Hinweis war drin: ich muss minitems und maxitems angeben, dann klappts auch mit der Mehrfachauswahl. Hier also meine Feld-Konfiguration:
<config>
<type>select</type>
<foreign_table>sys_category</foreign_table>
<size>6</size>
<dce_load_schema>1</dce_load_schema>
<multiple>1</multiple>
<minitems>0</minitems>
<maxitems>20</maxitems>
</config>
Und die debug-Ausgabe:
fields => array(6 items)
[...]
bCat => array(2 items)
0 => array(34 items)
[...]
pid => '3' (1 chars)
title => 'TEST1' (5 chars)
1 => array(34 items)
[...]
pid => '4' (1 chars)
title => 'TEST2' (5 chars)
Uff, geschafft.
Vielen Dank!
Eine Anmerkung zu Backend-Previews - weil ich ewig nach einer Lösung gesucht habe und sich hier so einige Tips sammeln:
Man muss im FE-Template ein Fluid-Image-Tag verwenden, sonst werden im BE keine Previews generiert. Meiner Meinung nach etwas verwirrend und unnötig, dass das im Zusammenhang steht.
Evtl. wird das ja auch mal verändert.
gelöscht
Hallo zusammen!
Ich bin bisher begeistert von der Einfachheit und der Möglichkeiten dieser Extension.
Nun komm ich leider nicht mehr weiter, ich hoffe ihr könnt mir hier weiterhelfen?
Ich hab schon kleinere Webseiten erstellt, bin mit Typo3 aber nicht so vertraut, danke für euer Verständnis 🙂
Ich habe mir unter Adminwerkzeuge > DCE ein neues Element angelegt und dort meine Felder (Titel, Textfeld, Bild und eine Auswahlliste) erstellt. Das hat soweit auch gut funktioniert, ich kann alles wie gewünscht erfassen. Bei der Ausgabe komme ich jetzt aber nicht mehr weiter.
Problem 1
Das Feld "kompetenzen" ist eine Auswahlliste, der User soll die Einträge darin selbst verwalten können. Ich habe daher einen Sys-Ordner (mit ID 7) in Typo3 angelegt und die Einträge dort erfasst. Die Config für das Feld sieht so aus:
<config>
<type>select</type>
<!-- uncomment this, if you want to add an empty option before -->
<!-- <items type='array'>
<numIndex index='0' type='array'>
<numIndex index='0'></numIndex>
<numIndex index='1'></numIndex>
</numIndex>
</items> -->
<foreign_table>tt_content</foreign_table>
<foreign_table_where>AND tt_content.pid = 7 ORDER BY tt_content.header</foreign_table_where>
<size>10</size>
<minitems>1</minitems>
<maxitems>100</maxitems>
</config>
Das ganze funktioniert wie gewünscht, ich habe die Einträge in der Liste und kann dort die jeweiligen Einträge auswählen. In der Ausgabe mit {field.kompetenzen} bekomme ich aber nur die uid der Einträge angezeigt. Wie schaff ich es die Namen dieser Einträge anzuzeigen. In der Tabelle tt_content stehen die gewünschten Werte im Feld "header". Ich möchte einfach eine Auflistung wie <li>Name</li> der ausgewählten Elemente ausgeben.
Problem 2
Über das Feld "bilder" können beliebig viele Bilder hinzugefügt werden.
<config>
<type>group</type>
<internal_type>file</internal_type>
<allowed>jpg,jpeg,png,gif</allowed>
<size>5</size>
<minitems>0</minitems>
<maxitems>100</maxitems>
<uploadfolder>fileadmin/Bilder/Einsatzgebiete</uploadfolder>
<show_thumbs>1</show_thumbs>
</config>
Die Auswahl funktioniert soweit und ein einzelnes Bild kann ich auch ausgeben:
<f:image src="fileadmin/Bilder/Einsatzgebiete/{field.bilder}" alt="Thumbnail {field.titel}" maxWidth="320" maxHeight="320" />
Nun möchte ich, falls mehr als ein Bild erfasst ist, das erste Bild einzeln wie anzeigen und weiter unten die weitern Bilder (z.B. 2-6) in kleinerer grösse anzeigen. So sieht momentan mein Template-Inhalt aus:
<f:layout name="Default" />
<f:section name="main">
{namespace dce=Tx_Dce_ViewHelpers}
<h1>{field.titel}</h1>
<f:image src="fileadmin/Bilder/Einsatzgebiete/{field.bilder}" alt="Thumbnail {field.titel}" maxWidth="320" maxHeight="320" />
<strong>Kompetenz</strong>
{field.kompetenzen}
{field.text}
//Die restlichen Bilder hier ausgeben
</f:section>
Vielen Dank für eure mühen, mir wäre wirklich sehr geholfen. Ich komm hier alleine nicht mehr weiter. 🙁
Hallo Lizzie,
versuch mal bei Problem#1 die Zeile
<dce_load_schema>1</dce_load_schema>
in Deine Feldkonfiguration aufzunehmen. Vielleicht kommst Du dadurch an die Namen...
Grüße,
boitnrw
Lieben Dank für deine Antwort.
Ich habe die Zeile eingefügt. Jetzt erscheint im Frontend anstelle der ID-Auflistung wie vorher (z.B. 31,35) einfach nur noch: Array
Mein Code unter Template sieht so aus:
<f:layout name="Default" />
<f:section name="main">
{namespace dce=Tx_Dce_ViewHelpers}
<h1>{field.titel}</h1>
<f:image src="fileadmin/bausan-isotech/Bilder/Einsatzgebiete/{field.bilder}" alt="Thumbnail {field.titel}" maxWidth="320" maxHeight="320" />
<strong>Kompetenz</strong>
{field.text}
{field.kompetenzen}
</f:section>
Genau das ist ja auch, was Du wolltest... :-)
Das Array kannst Du mit einer for-Schleife durchlaufen. Um herauszufinden, was drin steht füge mal die Zeile
<f:debug>{field.kompetenzen}</f:debug>
in Dein Template ein (z.B. vor die H1).
Grüße,
boitnrw
Damit bekomme ich diese Ausgabe im Browser:
array(2 items)
0 => Tx_Dce_Domain_Model_Dceprototypemodified entity (uid=2, pid=0)
templateFields => array(4 items)
0 =>
Aber die gewünschten Namen der Elemente bekomm ich hier auch nicht oder übersehe ich da etwas?
Ich bin jetzt mittlerweile auf viewHelper gestossen (sorry ist noch alles ganz neu für mich) und hab mich an einem eigenen versucht. Damit ist es mir schon mal gelungen die gewünschten Namen der Ids aus der Tabelle tt_conten zu holen.
Hallo Zusammen
Ich nochmals, bin immer noch auf der Suche nach einer Lösung für mein erstes Problem. Ich möchte jetzt den String aus {field.bilder} (z.B. "foto1.jpg, foto2.jpg, foto3.jpg" ) mit einem eigenen ViewHelper in ein Array umwandeln und dieses dann mit einer for-Schleife auslesen.
Ich bekomme aber immer die nicht sehr aussagekräftige Fehlermeldung: "Oops, an error occurred!"
Hat jemand einen Tipp für mich? Komme einfach nicht mehr weiter.
ExplodeViewHelper.php
<?php
class Tx_Dce_ViewHelpers_ExplodeViewHelper extends Tx_Fluid_Core_ViewHelper_AbstractViewHelper {
/**
* @param string $string
* @param string $delimiter
*
* @return array
*/
public function render($string, $delimiter) {
return explode($delimiter, $string);
}
}
?>
DCE Template
<f:layout name="einsatzgebiete" />
<f:section name="main">
{namespace dce=Tx_Dce_ViewHelpers}
<article data-name="{field.titel}" data-komp="<dce:eintragsname string='{field.kompetenzen}' />">
<h1>{field.titel}</h1>
<strong>Ausführungsjahr</strong>
<strong>Arbeitsbereiche</strong>
<dce:colorText color="{field.kompetenzen}" />
<f:format.html>{field.text}</f:format.html>
<ul>
<f:for each="{dce:explode(string: '{field.bilder}', delimiter: ',')}" as="bild">
<f:then>
<li>{bild}</li>
</f:then>
</f:for>
</ul>
</article>
</f:section>
Konfiguration des Feldes Bilder
<config>
<type>group</type>
<internal_type>file</internal_type>
<allowed>jpg,jpeg,png,gif</allowed>
<size>5</size>
<minitems>0</minitems>
<maxitems>100</maxitems>
<uploadfolder>fileadmin/Bilder/News-Projekte</uploadfolder>
<show_thumbs>1</show_thumbs>
</config>
Versuche die Bildunterschriften im dce:fal Fluidtemplate auszugeben. Jemand Tipp? Vielen Dank!
<f:section name="main">
<f:for each="{dce:fal(field:'img', contentObject:contentObject)}" as="fileReference">
<figure>
<f:image src="{fileReference.uid}" treatIdAsReference="1" />
</figure>
</f:for>
</f:section>
hallo forum,
kann man die Ext. DCE so aufbauen, dass man wie bei z.b. "gridelements" alle Datensätze und Dateien auslagern kann?
Habe gesehen, dass wenn ich einen DCE Datensatz angelegt habe, kann ich die "Vorlage" in eine Datei auslagern.
oder auch "Fluid Layout, Root-Verzeichnis" kann bearbeitet werden.
Doch ich möchte erst gar keinen Datensatz im Backend anlegen, sondern alles via typoscript, fluid, flexforms usw.
mit gridelements klappt die Auslagerung ziemlich gut!
geht das auch mit der DCE ?
Ich freue mich auf eine Antwort oder Hilfen 🙂
Sebastian
@ onza
Bei mir sieht das so aus:
<figure class="imageSingleProduct">
<f:image src="{fileReference.uid}" alt="{fileReference.description}" treatIdAsReference="1" maxWidth="580" />
<f:if condition="{fileReference.description}">
<figcaption>{fileReference.description}</figcaption>
</f:if>
</figure>
Gruß Niklas
Habe ein Update der Extension von 0.84 auf 1.04 vorgenommen jetzt werde ich bei jeder Speicherung im Backend von dieser Fehlermeldung:
#1289386765: Could not analyse class:Tx_Dce_ViewHelpers_ArrayGetIndexViewHelper maybe not loaded or no autoloader?
TYPO3\CMS\Extbase\Object\Container\Exception\UnknownObjectException thrown in file
/html/typo3/typo3_src-6.2.12/typo3/sysext/extbase/Classes/Object/Container/ClassInfoFactory.php in line 37.
begrüßt. Kann mir einer bitte einen kleinen Hinweis geben was sich verändert hat.
Grüße
Wigald
Nett zu wissen das sich {namespace dce=Tx_Dce_ViewHelpers} in {namespace dce=ArminVieweg\Dce\ViewHelpers} geändert hat.