0
我有一個擴展,我需要獲得所有前端用戶。 我嘗試這樣做:Typo3 6.1 Extbase - 選擇所有fe用戶
/**
* @var \TYPO3\CMS\Extbase\Domain\Repository\FrontendUserRepository $feUserRepository
*/
$feUserRepository = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Domain\\Repository\\FrontendUserRepository');
$allUsers = $feUserRepository->findAll();
$user = $feUserRepository->findByUid(1);
findByUid(1)工作,但的findAll()返回一個空的對象。 我在這裏做錯了什麼?
UPDATE:
這是關於一個新聞延伸。我在tx_xxnews_domain_model_news和fe_users之間有一個毫米關係,所以我可以跟蹤哪些用戶訪問了哪些新聞。
TCA新聞:
'columns' => array(
...
'fe_users' => array(
'exclude' => 0,
'label' => 'LLL:EXT:xx_news/Resources/Private/Language/locallang_db.xlf:tx_xxnews_domain_model_news.fe_users',
'config' => array(
'type' => 'select',
'foreign_table' => 'fe_users',
'MM' => 'tx_xxnews_news_feuser_mm',
'size' => 10,
'autoSizeMax' => 30,
'maxitems' => 9999,
'multiple' => 0,
),
),
...
),
我必須證明誰從誰做不是那些單獨訪問新聞的用戶,所以我有2組以上的列,其顯示來自一個用戶定義函數的內容:
'reading_users' => array (
'exclude' => 0,
'label' => 'LLL:EXT:xx_news/Resources/Private/Language/locallang_db.xlf:tx_xxnews_domain_model_news.user_info',
'config' => array (
'type' => 'user',
'size' => '30',
'userFunc' => 'EXT:xx_news/Classes/TCA/class.tx_xxnews_tca.php:tx_examples_tca->readersInfo',
'parameters' => array(
'read' => TRUE
)
)
),
'not_reading_users' => array (
'exclude' => 0,
'label' => 'LLL:EXT:xx_news/Resources/Private/Language/locallang_db.xlf:tx_xxnews_domain_model_news.user_info',
'config' => array (
'type' => 'user',
'size' => '30',
'userFunc' => 'EXT:xx_news/Classes/TCA/class.tx_xxnews_tca.php:tx_examples_tca->readersInfo',
'parameters' => array(
'read' => FALSE
)
)
),
class.tx_xxnews_tca.php:
class tx_examples_tca {
/**
* @var \Vendor\XxNews\Domain\Repository\NewsRepository $newsRepository
*/
protected $newsRepository;
/**
* Class constructor
*/
public function __construct() {
$this->newsRepository = new \Vendor\XxNews\Domain\Repository\NewsRepository;
}
public function readersInfo($params) {
/**
* @var \TYPO3\CMS\Extbase\Domain\Repository\FrontendUserRepository $feUserRepository
*/
$feUserRepository = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Domain\\Repository\\FrontendUserRepository');
$allUsers = $feUserRepository->findAll();
$user = $feUserRepository->findByUid(1);
var_dump($allUsers); //EMPTY
var_dump($user); //OK
}
}
謝謝。
嗨洛倫茨。我沒有擴展FrontendUser模型,所以我沒有定義任何記錄類型。我用'Tx_Extbase_Domain_Model_FrontendUser'更新了字段tx_extbase_type,但仍然沒有任何內容由findAll()返回。我沒有擴展模型,我只想使用核心模型獲取fe用戶列表。謝謝。 – cili
它是前端還是後端擴展?存儲PID是否設置? – lorenz
這是一個與fe_users相關的新聞擴展。請檢查更新。 – cili