TCA foreign_table как выбрать метку для выбора: опции - PullRequest
0 голосов
/ 10 января 2019
$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. Ошибка или я что-то не так делаю?

1 Ответ

0 голосов
/ 10 января 2019

Для foreign_table это всегда label внешней таблицы, используемой для отображения списка доступных элементов. Поэтому, если вы хотите другое поле, вам нужно будет изменить эту опцию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...