Zum Inhalt springen

Flexform + IRRE

Erstellt am 15. Januar 2013 · 3 Antworten · letzte Antwort am 23. Januar 2013

Tags: Frage

MajPay ·

Hi,

Auf Basis der Extension wec_contentelements habe ich ein Fluid Content Element erstellt. Nun habe ich es geschafft die Flexform so zu strukturieren, dass ich gleich (oder ähnlich) wie bei normalen content elements IRRE editing für Bild-Datensätze machen kann. Ich kann also über den FAL Datzensätze auswählen, diese werden auch gespeichert und ich kann das ganze bearbeiten. Die Content Struktur passt an sich.

Wie kann ich jetzt aber im Fluid Template zu diesen Bildern kommen? Die Relation wird über die Tabelle sys_file_reference hergestellt, in meinem Feld pi_flexform steht nur die Anzahl der Bilder... damit kann ich garnichts anfangen, ich würde darin gerne die Bilddatensätze haben, also direkt im XML.

Die relevante Flexform Einstellung sieht so aus:

<image>
	<TCEforms>
		<label>LLL:EXT:donau/article/locallang.xml:flexform.article.image</label>
		<config>
			<type>inline</type>
			<foreign_table>sys_file_reference</foreign_table>
			<foreign_field>uid_foreign</foreign_field>
			<foreign_sortby>sorting_foreign</foreign_sortby>
			<foreign_table_field>tablenames</foreign_table_field>
			<foreign_match_fields type="array">
				<fieldname>image</fieldname>
			</foreign_match_fields>
			<foreign_label>uid_local</foreign_label>
			<foreign_selector>uid_local</foreign_selector>
			<maxItems>1</maxItems>
			<foreign_selector_fieldTcaOverride type="array">
				<config>
					<appearance>
						<elementBrowserType>file</elementBrowserType>
						<elementBrowserAllowed>jpg,png</elementBrowserAllowed>
					</appearance>
				</config>
			</foreign_selector_fieldTcaOverride>
			<appearance type="array">
				<useSortable>TRUE</useSortable>
				<headerThumbnail type="array">
					<field>uid_local</field>
					<width>64</width>
					<height>64</height>
				</headerThumbnail>
				<showPossibleLocalizationRecords>TRUE</showPossibleLocalizationRecords>
				<showRemovedLocalizationRecords>TRUE</showRemovedLocalizationRecords>
				<showSynchronizationLink>TRUE</showSynchronizationLink>
				<enabledControls type="array">
					<info>TRUE</info>
					<new>FALSE</new>
					<dragdrop>TRUE</dragdrop>
					<sort>FALSE</sort>
					<hide>TRUE</hide>
					<delete>TRUE</delete>
				</enabledControls>
			</appearance>
			<behaviour>
				<localizationMode>select</localizationMode>
				<localizeChildrenAtParentLocalization>TRUE</localizeChildrenAtParentLocalization>
			</behaviour>
		</config>


	</TCEforms>
</image>

Die Daten werden in tt_content|pi_flexform so abgelegt:

<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<T3FlexForms>
    <data>
        <sheet index="sDEF">
            <language index="lDEF">
                <field index="cssLayout">
                    <value index="vDEF">horizontal</value>
                </field>
                <field index="title">
                    <value index="vDEF"></value>
                </field>
                <field index="image">
                    <value index="vDEF">NEW50f54235dd355</value>
                </field>
                <field index="text">
                    <value index="vDEF"></value>
                    <value index="_TRANSFORM_vDEF.vDEFbase"></value>
                </field>
                <field index="url">
                    <value index="vDEF"></value>
                </field>
                <field index="linkText">
                    <value index="vDEF"></value>
                </field>
            </language>
        </sheet>
    </data>
</T3FlexForms>

Wie kann ich nun in meinem Fluid-Template auf diese Bilder zugreifen? Gibt es dafür einen Viewhelper?

Muss ich dazu Anpassungen in der Extension wec_contentelements vornehmen, um eine Berücksichtigung des FAL und für IRRE zu integrieren?

Ich stehe hier etwas am Schlauch...

PS:
Diverse Einstellungen für die Flexform haben keine Auswirkung.
Ich würde gerne die maxitems auf 1 festlegen - das hat aber keine Auswirkung.
Das Icon für einen Neuen Eintrag lässt sich nicht deaktivieren...

vladivar-superstar ·
MajPay schrieb

Wie kann ich nun in meinem Fluid-Template auf diese Bilder zugreifen?

Wenn ich mich nicht irre, schreibst du einfach statt <image> <settings.image> und kannst dann im Fluid-Template über das settings-Array darauf zugreifen.

Gruß,
Stefan

MajPay ·

Settings scheint leer zu sein, zumindest gibt mir

<f:count>{settings}</f:count>

0 aus

Irgendwie kommt man sich bei allem, was mit Typo3 zu tun hat immer wie in einer Alpha Phase vor. Keine Dokus, keine Hilfe 🙁 meine Bücher helfen mir da leider auch nicht weiter.

Einen so simplen Anwendungsfall so zu verkomplizieren :/

MajPay ·

So, hab mir einen ViewHelper geschrieben der mir mein gesamtes Scope ausgibt. In dem gibt es ein data, in dem wiederrum folgende Werte:

data => array(89 items)
         uid => '55' (2 chars)
         pid => '46' (2 chars)
         t3ver_oid => '0' (1 chars)
         t3ver_id => '0' (1 chars)
         t3ver_wsid => '0' (1 chars)
         t3ver_label => '' (0 chars)
         t3ver_state => '0' (1 chars)
         t3ver_stage => '0' (1 chars)
         t3ver_count => '0' (1 chars)
         t3ver_tstamp => '0' (1 chars)
         t3ver_move_id => '0' (1 chars)
         t3_origuid => '0' (1 chars)
         tstamp => '1358952461' (10 chars)
         crdate => '1358952461' (10 chars)
         cruser_id => '1' (1 chars)
         hidden => '0' (1 chars)
         sorting => '64' (2 chars)
         CType => 'article' (7 chars)
         header => '' (0 chars)
         header_position => '' (0 chars)
         bodytext => NULL
         image => NULL
         imagewidth => '0' (1 chars)
         imageorient => '0' (1 chars)
         imagecaption => NULL
         imagecols => '1' (1 chars)
         imageborder => '0' (1 chars)
         media => NULL
         layout => '0' (1 chars)
         deleted => '0' (1 chars)
         cols => '0' (1 chars)
         records => NULL
         pages => NULL
         starttime => '0' (1 chars)
         endtime => '0' (1 chars)
         colPos => '0' (1 chars)
         subheader => '' (0 chars)
         spaceBefore => '0' (1 chars)
         spaceAfter => '0' (1 chars)
         fe_group => '' (0 chars)
         header_link => '' (0 chars)
         imagecaption_position => '' (0 chars)
         image_link => NULL
         image_zoom => '0' (1 chars)
         image_noRows => '0' (1 chars)
         image_effects => '0' (1 chars)
         image_compression => '0' (1 chars)
         altText => NULL
         titleText => NULL
         longdescURL => NULL
         header_layout => '0' (1 chars)
         text_align => '' (0 chars)
         text_face => '0' (1 chars)
         text_size => '0' (1 chars)
         text_color => '0' (1 chars)
         text_properties => '0' (1 chars)
         menu_type => '0' (1 chars)
         list_type => '' (0 chars)
         table_border => '0' (1 chars)
         table_cellspacing => '0' (1 chars)
         table_cellpadding => '0' (1 chars)
         table_bgColor => '0' (1 chars)
         select_key => '' (0 chars)
         sectionIndex => '1' (1 chars)
         linkToTop => '0' (1 chars)
         file_collections => NULL
         filelink_size => '0' (1 chars)
         filelink_sorting => '' (0 chars)
         target => '' (0 chars)
         section_frame => '0' (1 chars)
         date => '0' (1 chars)
         multimedia => NULL
         image_frames => '0' (1 chars)
         recursive => '0' (1 chars)
         imageheight => '0' (1 chars)
         rte_enabled => '0' (1 chars)
         sys_language_uid => '0' (1 chars)
         tx_impexp_origuid => '0' (1 chars)
         pi_flexform => '<?xml version="1.0" encoding="utf-8" standalone="
            ;yes" ?>
<T3FlexForms>
    <data>
        <sheet inde
            x="sDEF">
            <language index="lDEF">
 
                           <field index="cssLayout">
                   
             <value index="vDEF">horizontal</value>
              
              </field>
                <field index="title">
     
                           <value index="vDEF">Horizontaler Vorschauarti
            kel</value>
                </field>
                <field i
            ndex="image">
                    <value index="vDEF&qu
            ot;>NEW50fff79ec6e29</value>
                </field>
       
                     <field index="text">
                    <value 
            index="vDEF">Hier steht der Beschreibungstext. Dieser beinhalte
            t Basisinformationen zum verlinkten Inhaltsbereich. Jedoch nicht allzuviel, 
            der User soll ja schließlich noch auf den Link klicken - sollte das Interes
            se geweckt worden sein.</value>
                    <value index=&q
            uot;_TRANSFORM_vDEF.vDEFbase">Hier steht der Beschreibungstext. Dies
            er beinhaltet Basisinformationen zum verlinkten Inhaltsbereich. Jedoch nicht
             allzuviel, der User soll ja schließlich noch auf den Link klicken - sollte
             das Interesse geweckt worden sein.</value>
                </field
            >
                <field index="url">
                   
             <value index="vDEF"></value>
                </fie
            ld>
                <field index="linkText">
            
                    <value index="vDEF">Mehr lesen</value>
       
                     </field>
            </language>
        </sheet>
            
    </data>
</T3FlexForms>' (1473 chars)
         accessibility_title => '' (0 chars)
         accessibility_bypass => '0' (1 chars)
         accessibility_bypass_text => '' (0 chars)
         l18n_parent => '0' (1 chars)
         l18n_diffsource => 'a:20:{s:5:"CType";N;s:6:"colPos";N;s:16:"sys_langua
            ge_uid";N;s:6:"header";N;s:13:"header_layout";N;s:1
            5:"header_position";N;s:4:"date";N;s:11:"header_lin
            k";N;s:11:"pi_flexform";N;s:6:"hidden";N;s:12:"
            ;sectionIndex";N;s:9:"linkToTop";N;s:9:"starttime";
            N;s:7:"endtime";N;s:8:"fe_group";N;s:6:"layout"
            ;;N;s:11:"spaceBefore";N;s:10:"spaceAfter";N;s:13:"
            section_frame";N;s:10:"categories";N;}' (385 chars)
         categories => '0' (1 chars)
         tx_dam_images => '0' (1 chars)
         tx_dam_files => '0' (1 chars)
         ce_flexform => NULL
         _MIGRATED => TRUE

Das sieht mir nach dem tt_content datensatz aus.

Hier komme ich an die UID des Datensatzes ran. Nun müsste ich per TS oder Viewhelper doch eigentlich an das Bild ran kommen?

Hat wer ein snippet hierfür parat?