1
简单的问题,但没有解决方案。我们知道Yii2,表单和字段名称
<?php $form = ActiveForm::begin(['method'=>'get']); ?>
<?= $form->field($formFilter, 'keyword')
->textInput(['placeholder' => \Yii::t('', 'keyword')]); ?>
...
将创建简单的表单和输入字段。当然,我们将在行动中加载$ _ POST数据,如
if ($this->isPost() && $formFilter->load($this->post())) {
if ($formFilter->validate()) {
...
如果我们将看$ _ POST,我们会看到类似FormFilter[keyword]
作为字段的名称。所以问题是,我该如何改变它?我需要(我认为)以某种方式改变形式\模型而不是在视图中,因为我们需要适当的加载。
它将在哪里使用?任何GET表单都会显示带有类名称的丑陋网址,例如使用简单的动作和模型,我们将获得FormFilter[keyword]
,但我想将其更改为keyword
,因此,网址将比'长字段名称'更容易理解。
任何人都知道如何处理这个?
从$ _POST vars中删除formName容器的目的是什么?这样你就不能使用表单中的大量任务。 –
我认为使用这种方法的主要情况是在多个输入的搜索表单中(例如轮胎或轮辋的定义,并将此信息添加到url(_GET),以便我们获得干净且人性化的URL –
@FabrizioCaldarelli应该与$ _GET之一,如果你想删除$ _POST var key中的className,只需在form \ model中改变你的'formName'方法。搜索抛出模型(视图)的表单渲染,你将看到如何创建name =“fileName”部分 – user1954544