<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # 表單行為 ### [](https://octobercms.com/docs/backend/forms#extend-form-behavior)擴展表單行為 有時您可能希望修改默認的表單行為,并且有幾種方法可以執行此操作。 ### [](https://octobercms.com/docs/backend/forms#overriding-action)覆蓋控制器動作 您可以使用自己的邏輯`create`,`update`或`preview`操作方法在控制器中,然后任選調用表單行為父類的方法。 ~~~ public function update($recordId, $context = null) { // // Do any custom code here // // Call the FormController behavior update() method return $this->asExtension('FormController')->update($recordId, $context); } ~~~ ### [](https://octobercms.com/docs/backend/forms#overriding-redirect)覆蓋控制器重定向 您可以通過覆蓋`formGetRedirectUrl`方法指定保存模型后重定向到的URL。此方法返回將重定向到的位置,并將相對URL視為后端URL。 ~~~ public function formGetRedirectUrl($context = null, $model = null) { return 'https://octobercms.com'; } ~~~ ### [](https://octobercms.com/docs/backend/forms#extend-model-query)擴展模型查詢 可以通過覆蓋控制器類內部的方法來擴展針對表單[數據庫模型](https://octobercms.com/docs/database/model)的查找查詢`formExtendQuery`。通過將**withTrashed**范圍應用于查詢,此示例將確保仍然可以找到和更新軟刪除的記錄: ~~~ public function formExtendQuery($query) { $query->withTrashed(); } ~~~ ### [](https://octobercms.com/docs/backend/forms#extend-form-fields)擴展表單字段 您可以通過`extendFormFields`在控制器類上調用static方法從外部擴展另一個控制器的字段。此方法可以使用三個參數,**$ form**將代表Form窗口小部件對象,**$ model**代表表單使用的模型,**$ context**是包含表單上下文的字符串。以這個控制器為例: ~~~ class Categories extends \Backend\Classes\Controller { public $implement = ['Backend.Behaviors.FormController']; public $formConfig = 'config_form.yaml'; } ~~~ 使用該`extendFormFields`方法,可以向此控制器呈現的任何表單添加額外的字段。由于這可能會影響此控制器使用的所有表格,因此最好檢查\*\*$ model\*\*的類型是否正確。這是一個例子: ~~~ Categories::extendFormFields(function($form, $model, $context) { if (!$model instanceof MyModel) { return; } $form->addFields([ 'my_field' => [ 'label' => 'My Field', 'comment' => 'This is a custom field I have added.', ], ]); }); ~~~ 您也可以通過覆蓋`formExtendFields`控制器類內部的方法在內部擴展表單字段。這只會影響`FormController`行為使用的形式。 ~~~ class Categories extends \Backend\Classes\Controller { [...] public function formExtendFields($form) { $form->addFields([...]); } } ~~~ 在$ form對象上可以使用以下方法。 | 方法 | 描述 | | --- | --- | | **addFields** | 將新字段添加到外部區域 | | **addTabFields** | 將新字段添加到選項卡式區域 | | **addSecondaryTabFields** | 將新字段添加到輔助選項卡式區域 | | **removeField** | 從任何區域刪除字段 | 每種方法都采用類似于[表單字段配置](https://octobercms.com/docs/backend/forms#form-fields)的字段數組。 ### [](https://octobercms.com/docs/backend/forms#filter-form-fields)過濾表單字段 您可以通過覆蓋所`filterFields`用模型中的方法來過濾表單字段定義。這使您可以基于模型數據來操縱可見性和其他字段屬性。該方法帶有兩個參數,**$fields**將表示[字段配置](https://octobercms.com/docs/backend/forms#form-fields)已定義的字段的對象,而\*\*$context\*\*表示活動表單上下文。 ~~~ public function filterFields($fields, $context = null) { if ($this->source_type == 'http') { $fields->source_url->hidden = false; $fields->git_branch->hidden = true; } elseif ($this->source_type == 'git') { $fields->source_url->hidden = false; $fields->git_branch->hidden = false; } else { $fields->source_url->hidden = true; $fields->git_branch->hidden = true; } } ~~~ 上面的示例將`hidden`通過檢查Model屬性的值在某些字段上設置標志`source_type`。第一次加載表單時以及通過[定義的字段依賴項](https://octobercms.com/docs/backend/forms#field-dependencies)更新時,將應用此邏輯。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看