Cakephp PHP WEB開発

【Cakephp4】setTemplatesを各インプットフィールドで個別に定義

※本サイトはPR表記を含みます。

Cakephp4のViewにてFormを作成する場合、$this->Form->control() などFormヘルパーを多用するかと思います。BootstrapのCSSフレームワークを利用している場合など、任意の場所にCSSクラス名を指定したり、また、テンプレートを定義しておき、各フォームにて細かい調整が必要な場合には、個別にインプットフィールドにオプションでテンプレートを上書き定義ができるようになっています。

各インプットフィールドにテンプレートを定義する

<?= $this->Form->control('hoge', [
    'type' => 'text',
    'required' => false,
    'maxlength' => 9,
    'templates' => [
        'input' => '<input type="{{type}}" name="{{name}}"{{attrs}}/>',
    ],
]) ?>

個別に指定できるtemplatesオプションが存在します。ひな形のテンプレートが存在していても、オーバーライドができるので、細かい調整が可能ですね。

ちなみに、各インプットフィールドの定義詳細の記事はこちらで参照。

[Cakephp]Formヘルパー不要なタグ出力で悩まされたら

続きを見る

 

Cakephp4: フォーム作成のためのオプション
https://book.cakephp.org/4/ja/views/helpers/form.html#id2

-Cakephp, PHP, WEB開発
-