我試圖通過從擴展內擴展頁面數據庫表和TCA數組來擴展'頁面'屬性表單。這有效,除了我的自定義函數不會被調用。如果我用TYPO3核心函數itemsProcFunc行替換我自己的itemsProcFunc行,它可以工作,但是用我自己的函數它永遠不會工作(我只是得到一個空的結果/選擇列表,即使當我簡單地返回一個虛擬數組時:「return array('title 」, '1');」 ......在字段中使用itemsProcFunc在TYPO3中擴展頁表6.2
這是我在我的分機ext_tables.php代碼:
<?php
$TCA['pages']['columns'] += array(
'targetelement' => array(
'exclude' => 0,
'label' => 'Target element (first select a target page!)',
'config' => array (
'type' => 'select',
'items' => Array (
Array('',0),
),
'size' => 1,
'minitems' => 1,
'maxitems' => 1,
//'itemsProcFunc' => 'TYPO3\CMS\Backend\View\BackendLayoutView->addBackendLayoutItems',
'itemsProcFunc' => 'Vendor\Myextension\Controller\Hooks\CustomTargetElementSelector->getContentElements',
),
)
);
t3lib_extMgm::addToAllTCAtypes('pages', 'targetelement,', '2', 'after:nav_title');
t3lib_extMgm::addToAllTCAtypes('pages', 'targetelement', '1,5,4,199,254', 'after:title');
詩我更換供應商\ Myextension我自己當然命名空間
。我不知道在哪裏放置我的函數文件,我假設在擴展\ Classes \ Controllers \ Hooks \ CustomTargetElementSelector.php。
我的最終目標是要顯示選定的快捷方式頁面UID的內容元素的列表..
Ps2的我CustomTargetElementSelect.php文件看起來像這樣(內容只返回一個單一的項目,虛擬列表結果:
<?php
namespace Vendor\Myextension\Controller;
class CustomTargetElementsSelector extends \TYPO3\CMS\Extbase\Mvc\Controller\ActionController {
public function getContentElements(array &$params,$pObj){
return array('title','uid');
}
}