我需要有一个下拉列表,其中包含来自前端数据库的项目。
{namespace femanager=In2code\Femanager\ViewHelpers}
<f:render section="default" arguments="{_all}" />
<f:section name="default">
<div class="femanager_fieldset femanager_origin control-group">
<label for="femanager_field_origin" class="control-label">
<f:translate key="tx_femanager_domain_model_user.origin" />
<f:if condition="{femanager:Validation.IsRequiredField(fieldName:'origin')}">
<span>*</span>
</f:if>
</label>
<div class="controls">
<femanager:form.select
id="femanager_field_origin"
property="origin"
options="{femanager:Form.GetCountries()}"
defaultOption="{f:translate(key:'pleaseChoose')}"
class="input-block-level"
additionalAttributes="{femanager:Validation.FormValidationData(settings:settings,fieldName:'origin')}" />
</div>
</div>
</f:section>
这是我输入的代码,它显示了国家/地区,但我需要从数据库表中获取项目。
请告诉我该怎么做?
答案 0 :(得分:1)
您可以使用form中的form.select viewhelper并使用您的模型。
<强>模板强>
<f:form.select name="countries"
options="{countries}" optionValueField="uid" optionLabelField="name"
sortByOptionLabel="name"
prependOptionLabel="Select one ..."
prependOptionValue="0"/>
在Controller中分配您的模型
public function yourAction() {
$countries = $this->countryRepository->findAll();
$this->view->assign('countries', $countries);
...