2017-10-25 1 views
1

私はTYPO3にはかなり新しく、現時点では混乱しています。特にExtBaseに頼っている場合、データモデリングとデータフェッチが実際にどのように機能するのですか?TYPO3でfe_groupsの配列を取得するには?

fe_groupsテーブルからレコードの配列を取得し、それをFluidビューに渡して、これらの項目をf:form.select入力フィールドにレンダリングする必要があります。

これまでのところ、どこからどのように起動するかわからないので、これまで何も試していません。私が成功しなかったしました

他の事は私のビューにオブジェクト項目のハードコードされた配列を渡すことであり、このように、成功し、それらをレンダリング:これがいっぱいに私のコントローラ内のメソッドである

<f:form.select 
    class="form-control" 
    property="taskTypes" 
    options="{taskTypes}" 
    optionValueField="name" 
    optionLabelField="value" 
    id="taskTypes" /> 

taskTypes配列:

private function getTaskTypes() { 
    $task_type_names = [ 
     ' - Task Types - ', 
     'New client', 
     'Maintenance', 
    ]; 
    $task_types = []; 

    foreach($task_type_names as $i => $task_type_name) { 
     $task_type = new \stdClass(); 
     $task_type->key = $i; 
     $task_type->value = $task_type_name; 

     $task_types[] = $task_type; 
    } 

    return $task_types; 
} 

そして、コントローラのアクションで単純なビューの割り当て:

$this->view->assign('taskTypes', $this->getTaskTypes()); 

これは魅力のように機能します!

しかし私は、データベーステーブルから取得した動的コンテンツと同様のことをどうやって行うのか分かりません。

基本的には、fe_groupsテーブルのアイテムをビューに渡してレンダリングする方法が必要です。

答えて

2

あなたはその後、リポジトリも提供してい

$feUserGroup = $this->feUserGroupRepository->findAll(); 
$userByUid = $this->feUserGroupRepository->findByUid(12); 

データベースからデータを取得するには、このリポジトリを使用することができますExtbase

からあなたの方法で
/** 
* @var \TYPO3\CMS\Extbase\Domain\Repository\FrontendUserGroupRepository 
* @inject 
*/ 
protected $feUserGroupRepository; 

をFrontenduserGroupsのリポジトリを注入する必要がありますさらに->findBy*メソッド。ここ はあなたに役立つかもしれないチートシートですhttp://lbrmedia.net/codebase/Eintrag/extbase-query-methods/

注:

  • docコメントで@injectが実際Extbaseによって解析され、あることを@var
  • storagePidニーズに参照されるクラスをロードしていますバックエンドのユーザグループを含むフォルダのUIDに設定する
+0

'@ inject'を使用する代わりにメソッドを使って注入を実行できますか?私はそれに問題があったので、それを回避しようとしています。 – omerowitz

+0

methos injectFrontendUserGroupRepository()を記述し、FrontendUserGroupRepositoryのネームスペースをパラメータとして指定することによって、クラスを挿入できます。 –

+0

悲しいことに、それは動作しません。それはリポジトリを注入しますが、findAllは何も返しませんが、私はそのテーブルにデータを持っています。 – omerowitz

関連する問題