$temporaryColumns = array(
'my_related_item' => array(
'label' => 'Related s',
'l10n_mode' => 'mergeIfNotBlank',
'config' => [
'type' => 'select',
'renderType' => 'selectMultipleSideBySide',
'items' => [
],
'foreign_table' => 'tx_some_domain_model_item',
'MM' => 'tx_some_domain_model_mm',
'itemsProcFunc' => 'my\ext\TCA\SelectProcFunc->prepareItems',
'enableMultiSelectFilterTextfield' => true,
'size' => 10,
'autoSizeMax' => 30,
'maxitems' => 9999,
],
),
);
Должно быть возможным отбором, который подан от целевой сущности, которую я хотел бы использовать в качестве метки. Но не могу найти это в документации.
Например - по умолчанию я попадаю в selectbox: опция
{value = uid
label = title }
но мне нужно
{value = uid
label = clear_name}
Обновление:
Я обнаружил, что для получения пользовательского ярлыка только в seelctbox я не могу использовать
'ctrl' => [
'label' => 'clear_name',
],
так как это изменит список глобально - но мне нужно просто в поле выбора. Поэтому я попробовал другое решение в моем TCA
'itemsProcFunc' => 'TBF \ TbfPackage \ TCA \ SelectProcFunc-> prepareItems',
и в SelectProcFunc.php
namespace my\ext\TCA;
/**
* Description of SelectProcFunc
*
* @author Oleg Karun
*/
class SelectProcFunc {
public function prepareItems(&$param) {
debug($param);
$newItems = [];
foreach ($param['items'] as $item) {
$newItem = [
0 => $item->getUid(),
1 => $item->getClearName()
];
$newItems[] = $newItem;
}
//$param['items'] = $newItems;
return $param;
}
}
Проблема с моим $ param ['items'] пуста - я обнаружил ту же проблему https://forge.typo3.org/issues/85622. Ошибка или я что-то не так делаю?