2015年11月17日火曜日

CakePHP 3でFormHelper

CakePHP 3FormHelperです。FormHelperのTemplatesを設定変更することで、class属性の出力などいろいろカスタマイズできるらしい。複雑過ぎです。

src/Template/Articles/add.ctp
<?php
  // テンプレート設定
  $this->Form->templates([
    'inputContainer' => '<div class="row"><div class="controls">{{content}}</div></div>',
    'inputContainerError' => '<div class="row"><div class="controls">{{content}}</div><div class="danger">{{error}}</div></div>',
  ]);

  // フォーム開始
  echo $this->Form->create($article, ['class' => 'form']);

  // タイトル
  echo $this->Form->input('title', [
  'label' => [
    'class' => 'label',
    'text' => 'タイトル'
  ],
  'placeholder'=>'タイトル',
  'class' => 'width-100']);

  // 本文
  echo $this->Form->input('body', ['cols' => '100', 'rows' => '10', 
  'label' => [
    'class' => 'label',
    'text' => '本文'
  ],
  'placeholder'=>'本文',
  'class' => 'width-100']);
?>
<div class="row">
<?php
  // 保存ボタン
  echo $this->Form->button(__('保存'), ['class' => 'button button-primary']);
?>
</div>
<?php
  // フォーム終了
  echo $this->Form->end();
?>

実際に設定してみたサイトがこちら

参考サイト
Form(CakePHP Cookbook 3.x documentation)
Customizing CakePHP 3 Form Helper(Chris Nizzardiniさん)

0 件のコメント:

コメントを投稿