Hallo, geschätzte HelferInnen,
Meine Ext "Courses" fügt der Tabelle fe_users drei Felder hinzu namens
"bureau_short, bureau_abbr, stationary". Während die ersten 2 einfach
Inputfelder sind, ist "stationary" eine m:m-Relation auf die
fe_users-Tabelle selbst. Der User hat hier also die Möglichkeit, eine
Relation zu einem anderen User (nämglich zu einem "Büro") festzulegen.
(ext-tables.php-Auszug unten.) Das funktioniert soweit.
Im Fluid-Template lasse ich via f:debug alles ausgeben, was der
Datensatz so findet. Beim verschachtelten Array "stationary" allerdings
wird folgender der Vermerk ausgegeben:
stationary => TYPO3\CMS\Extbase\Persistence\ObjectStorageprototypeobject
(1 items)
[...] => TYPO3\CMS\Extbase\Domain\Model\FrontendUser prototype
persistent entity see above (uid=2, pid=30)
1. Frage: Was bedeutet das?
Es gibt keinen Datensatz "darüber" (davor, auch nicht danach) mit der
angegebenen uid/pid. Zwar kann in diesem verschachtelten Array auf
einige keys zugegriffen werden, aber nicht auf alle - im Konkreten
müsste man auf das Feld "bureauAbbr" auslesen.
2. Frage: Kann es sein, dass die vom meiner Ext aus hinzugefügen Felder
in der oben beschriebenen Konstellation nicht mehr erkannt werden, wenn
sie innerhalb einer fe-users:fe-users-Abfrage passieren?
Könnte mir vorstellen, dass das ganze etwas sehr abstrakt ist, aber
vielleicht versteht mich doch jemand...
Danke jedenfalls fürs Lesen!
Grüße und einen schönen Tag, Robert
---------
Hier die hinzugefügte Tabelle, wie sie in der ext_tables definiert wird:
$tmp_courses_columns = array(
'stationary' => array(
'exclude' => 0,
'label' => 'Station',
'config' => array(
'type' => 'select',
'foreign_table' => 'fe_users',
'foreign_table_where' => 'AND fe_users.usergroup=1',
'MM' => 'tx_courses_course_frontenduser_speaker_mm',
'size' => 2,
'minitems' => 0,
'maxitems' => 1,
'multiple' => 0,
),
),
'bureau_short' => array(
'exclude' => 0,
'label' => 'Kurzer Büroname',
'config' => array(
'type' => 'input',
'size' => 20,
'eval' => 'trim'
),
),
'bureau_abbr' => array(
'exclude' => 0,
'label' => 'Kürzel',
'config' => array(
'type' => 'input',
'size' => 4,
'eval' => 'trim'
),
),
);
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('fe_users',$tmp_courses_columns);
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCATypes('fe_users','stationary',
'', 'after:name');
$TCA['fe_users']['ctrl']['label'] = 'name';
$TCA['fe_users']['ctrl']['label_alt'] = 'last_name, first_name';
$TCA['fe_users']['ctrl']['label_alt_force'] = TRUE;
$TCA['fe_users']['columns']['first_name']['config']['size'] = 10;
$TCA['fe_users']['columns']['middle_name']['config']['size'] = 4;
$TCA['fe_users']['columns']['last_name']['config']['size'] = 10;
$TCA['fe_users']['columns']['zip']['config']['size'] = 5;
$TCA['fe_users']['columns']['city']['config']['size'] = 10;
$TCA['fe_users']['columns']['country']['config']['size'] = 10;
$TCA['fe_users']['columns']['telephone']['config']['size'] = 10;
$TCA['fe_users']['columns']['fax']['config']['size'] = 10;
$TCA['fe_users']['columns']['email']['config']['size'] = 12;
$TCA['fe_users']['palettes']['2']['showitem'] =
'bureau_short,bureau_abbr,--linebreak--,first_name,middle_name,last_name';
---------------
Das FLUID Tempalte - bitte die "stationary"-Schleife beachten:
<f:section name="main">
<f:debug>{courses}</f:debug>
<div class="tx_courses">
<f:for each="{courses}" as="course">
<div class="tx_courses_title">
<f:if condition="course.title">{course.title} – </f:if>{course.date
-> f:format.date()}
</div>
<div class="tx_courses_location">
<f:for each="{course.location}" as="ort">{ort.name}</f:for>
<f:if condition="course.timestart">{course.timestart}<f:if
condition="{course.timeend}">–{course.timeend}</f:if> Uhr</f:if>
</div>
<f:for each="{course.speaker}" as="referee" key="last_name">
<div class="tx_courses_referee">
<f:if condition="referee.title">{referee.title} </f:if>
{referee.firstName} <strong>{referee.lastName}</strong>
<f:if condition="{referee.middle_name}">{referee.middleName}</f:if>
<f:for each="{referee.stationary}" as="stat">
({stat.name}) // HIER SOLLTE stat.bureauAbbr AUSGELESEN WERDEN
</f:for>
</div>
</f:for>
<div class="tx_courses_targetGroups">
<f:for each="{course.targetGroups}" as="targetGroup" key="name"
iteration="i">
<f:if condition="{i.isLast}">
<f:then>{targetGroup.name}</f:then>
<f:else>{targetGroup.name}, </f:else>
</f:if>
</f:for>
</div>
<div class="tx_courses_scope">
<f:for each="{course.scope}" as="sc" iteration="i">
<f:if condition="{i.isLast}">
<f:then>{sc.abbreviation}</f:then>
<f:else>{sc.abbreviation} / </f:else>
</f:if>
</f:for>
</div>
<hr />
</f:for>
</div>
</f:section>
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german