TCA检查是否已在数据库TYPO3中选择了所选项目

时间:2018-07-06 11:31:45

标签: php typo3 mariadb

我有一个带有选择字段的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已经在使用中,我应该在哪里检查数据库?最好的做法是什么?

0 个答案:

没有答案