我有一个带有选择字段的TCA,它在contentmodule中列出了我的文章,我可以用它选择一个顶级文章。 当我选择该文章时,Uid将存储在数据库中Im编辑页面的列中。
如果我正在编辑另一个页面,并且我选择了最上面的文章,那么我要检查该文章是否已在另一个页面上被选中。
我的TCA:
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('tt_content', array(
'tx_vend_istoparticle' => array(
'exclude' => 1,
'onChange' => 'reload',
'label' => 'Top Article',
'l10n_mode' => 'exclude',
'config' => array(
'type' => 'select',
'itemsProcFunc' => \VENDOR\Ext\Hooks\Backend\Preview\Renderer::class . '->getTopArticle',
)
),
));
有了该功能,我得到了文章:
public function getTopArticle(&$param)
{
$pid = $param['row']['pid'];
$articles = $this->getArticles($pid);
foreach ($articles as $article) {
$record = BackendUtility::getRecord('tx_vend_domain_model_article', $teaser->getUid());
$param['items'][] = [
$record['header'],
$record['uid'],
];
}
}
如果文章的Uid已经在使用中,我应该在哪里检查数据库?最好的做法是什么?