Расширение репозитория новостей TYPO3 с помощью M: M - PullRequest
0 голосов
/ 27 сентября 2019

Я пытался расширить отношения tx_news с отношением am: m, но пока мне не повезло.Все, что я могу найти в Интернете, предназначено только для регулярных отношений, где идентификатор сохраняется непосредственно в той же таблице, а не в дополнительном столбце _mm.

Пока что бэкэнд выглядит нормально, как я хочу с selectMultipleSideBySide renderType.Он также сохраняет отношения с базой данных.

Расширение TCA News с этим работает нормально:

$extendArtistId = array(
    'artist_id' => array (
        'exclude' => 0,
        'l10n_mode' => 'exclude',
        'label' => 'Künstler',
        'config' => array(
            'type' => 'select',
            'renderType' => 'selectMultipleSideBySide',
            'enableMultiSelectFilterTextfield' => TRUE,
            'foreign_table' => 'tx_bfartistmanagement_domain_model_kuenstler',
            'foreign_table_where' => 'AND tx_bfartistmanagement_domain_model_kuenstler.sys_language_uid = 0 AND tx_bfartistmanagement_domain_model_kuenstler.pid = 63 ORDER BY tx_bfartistmanagement_domain_model_kuenstler.name ASC',
            'MM' => 'tx_news_domain_model_news_artist_id_mm',
            'minitems' => 0,
            'maxitems' => 99
        ),
    ),
);

И записи сохраняются так, как я ожидал:

enter image description here

Проблема, с которой я столкнулся сейчас, заключается в получении этих отношений из другого расширения.В новостях есть что-то под названием «Hooks», но я не уверен, что мне нужно / нужно это для моего случая.

Запрос внутри моего другого расширения в настоящее время выглядит следующим образом, вводится репозиторий новостей:

$news = $this->newsRepository->findByArtistId(intval($userID));

Я борюсь со следующими шагами.Функция findByArtistId работала до того, как я сохранял ArtistId непосредственно внутри таблицы новостей, но она работает только с прямым отношением, а не с отношением M: M.

Как я могу получить новости, которыесвязан с этим художником, с отношением m: m?

...