私は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
テーブルのアイテムをビューに渡してレンダリングする方法が必要です。
'@ inject'を使用する代わりにメソッドを使って注入を実行できますか?私はそれに問題があったので、それを回避しようとしています。 – omerowitz
methos injectFrontendUserGroupRepository()を記述し、FrontendUserGroupRepositoryのネームスペースをパラメータとして指定することによって、クラスを挿入できます。 –
悲しいことに、それは動作しません。それはリポジトリを注入しますが、findAllは何も返しませんが、私はそのテーブルにデータを持っています。 – omerowitz