開発メモ,主に補足by子連れ親父プログラマー

2011-09-15

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テーブルのデータは保存されています。

ブログ アーカイブ

このブログを検索

Powered by Blogger.

ラベル

php (17) jQuery (13) OSX (10) MySQL (8) Javascript (7) Postgres (7) port (7) apache (6) Java (3) Smarty (2) html (2) pear (2) FCKEditor (1) XAMPP (1) css (1) git (1) perl (1) ruby (1)

Facebookバナー