CakePHP1.3で作る会員管理システム(12) 確認画面その2
確認画面その2
ではビューについて、順番に整理していきます。
confirm.ctp から管理メニュー部分
<div class="actions"> .... </div>で囲まれたところをざくっと削除します。いらないので。
Birthday(誕生日)のところ、
<?php echo $member['Member']['birthday']; ?>こうなっているのを、以下に変更します。
<?php echo $member['Member']['birthday']['year'] .'/' . $member['Member']['birthday']['month'] .'/'. $member['Member']['birthday']['day']; ?>
同じく “hidden” の Birthday 部分、
echo $this->Form->input('birthday', array('type'=>'hidden'));これを以下に変更します。
echo $this->Form->input('birthday.year', array('type'=>'hidden')); echo $this->Form->input('birthday.month', array('type'=>'hidden')); echo $this->Form->input('birthday.day', array('type'=>'hidden'));
Type(会員種別) のところ、
<?php echo $this->Html->link($member['Type']['name'], array('controller' => 'types', 'action' => 'view', $member['Type']['id'])); ?>こうなっているのを、以下に変更します。
<?php echo $types[$member['Member']['type_id']]; ?>
次に「好きな物」に関して、
<div class="related"> .... </div>ではさまれたの関連テーブル部分をごっそり削除し、その代わりにメインのテーブルの Img2 の表示部分(tr で囲まれた一角)の下に以下を追加します。
<dt<?php if ($i % 2 == 0) echo $class;?>><?php __('好きな物'); ?></dt> <dd<?php if ($i++ % 2 == 0) echo $class;?>> <?php if (!empty($member['Favorite']['Favorite'])):?> <ul> <?php foreach ($member['Favorite']['Favorite'] as $favorite): ?> <li><?php echo $favorites[$favorite['id']];?></li> <?php endforeach; ?> </ul> <?php endif; ?> </dd>
members_controller.php に戻って、 function add() の、一番下の
$types = $this->Member->Type->find('list'); $favorites = $this->Member->Favorite->find('list'); $this->set(compact('types', 'favorites'));3行を、一番上に持ってきます。
こうなります。
function add() { $types = $this->Member->Type->find('list'); $favorites = $this->Member->Favorite->find('list'); $this->set(compact('types', 'favorites')); if (!empty($this->data)) { if ($this->data['Member']['mode'] == 'confirm') { $this->Member->set($this->data);
ブラウザで確認します。
ここまでで、Type(会員種別)、Birthday(誕生日)、好きな物 が表示されるようになったはずです。
ボタン「送信」をクリックで、一覧画面に戻り、
The Member has been savedと表示されればOKです。membersテーブルのデータは保存されています。