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