サイト内お気に入り機能をCakePHPで作る。その1
まずは見た目の部分を作っていこうと思います。
以前、HTMLで行ったこちらをCakePHPで行います。
サイト内お気に入り登録機能を作る。その1 - 新米SE、マーケティングを学ぶの巻
ButtonsController
public function index(){ //DB上のボタンを全件取得 $data = $this->Button->find('all'); $this->set(compact('data')); }
index.ctp
<?php //ボタンの一覧表示 for($i = 0; $i < count($data); $i++){ //data-numにボタンのIDを保存する echo "<p><button class='favoButton' data-num=".$data[$i]['Button']['id']." >☆</button></p>"; } ?>
Javascriptの部分は前回と変わりありません。
Javascript
$(function(){ $(".favoButton").click(function() { var button = this; //お気に入りボタンのdata-conditionで制御 if($(this).data('condition') == false || $(this).data('condition') === undefined ){ //お気に入りボタンの色を黄色に $(button).css('backgroundColor', '#FF0'); //お気に入りボタン状態の更新 $(button).data('condition',true); } else if($(this).data('condition') == true){ //背景色を解除 $(button).css('backgroundColor', ''); //お気に入りボタン状態の更新 $(button).data('condition',false); } }); });