Я использую расширения news и eventnews, так что теперь у вас есть два разных «типа» новостей.
Новостное расширение поставляется с полями related и related_from.
Я хочу также иметь поля related_event и related_event_from. Исходные связанные поля должны хранить отношения к новостям, которые являются просто новостями, новые поля относятся к новостям, которые являются событиями. Разница заключается в поле «is_event», поэтому я добавил в TCA предложение Foreign_table_where.
Для хранения данных я должен использовать ту же таблицу mm. К сожалению, при сохранении учитывается только второе поле, первое — нет.
Как я могу добиться хранения обоих? Нужно ли будет использовать хук TCA или это возможно со стандартными настройками TCA или..?
Моя ТСА на данный момент:
'related' => [
'exclude' => 1,
'l10n_mode' => 'mergeIfNotBlank',
'label' => 'LLL:EXT:news/Resources/Private/Language/locallang_db.xlf:tx_news_domain_model_news.related',
'config' => [
'type' => 'select',
'allowed' => 'tx_news_domain_model_news',
'foreign_table' => 'tx_news_domain_model_news',
'foreign_table_where' => 'AND tx_news_domain_model_news.deleted = 0 AND tx_news_domain_model_news.hidden = 0 AND tx_news_domain_model_news.is_event = 0 ORDER BY tx_news_domain_model_news.datetime DESC',
'MM_opposite_field' => 'related_from',
'size' => 5,
'minitems' => 0,
'maxitems' => 100,
'MM' => 'tx_news_domain_model_news_related_mm',
'wizards' => array(
'suggest' => array(
'type' => 'suggest',
'default' => array(
'searchWholePhrase' => TRUE
)
),
),
]
],
'related_event' => [
'exclude' => 1,
'l10n_mode' => 'mergeIfNotBlank',
'label' => 'LLL:EXT:dreipc_myadlershof/Resources/Private/Language/locallang_db.xlf:tx_dreipcmyadlershof_domain_model_news.related_event',
'config' => [
'type' => 'select',
'allowed' => 'tx_news_domain_model_news',
'foreign_table' => 'tx_news_domain_model_news',
'foreign_table_where' => 'AND tx_news_domain_model_news.deleted = 0 AND tx_news_domain_model_news.hidden = 0 AND tx_news_domain_model_news.is_event = 1 AND tx_news_domain_model_news.enable = 1 AND tx_news_domain_model_news.sample = 0 ORDER BY tx_news_domain_model_news.datetime DESC',
'MM_opposite_field' => 'related_event_from',
'size' => 5,
'minitems' => 0,
'maxitems' => 100,
'MM' => 'tx_news_domain_model_news_related_mm',
'wizards' => array(
'suggest' => array(
'type' => 'suggest',
'default' => array(
'searchWholePhrase' => TRUE
)
),
),
]
],