顯示包含「CakePHP」標籤的文章。顯示所有文章
顯示包含「CakePHP」標籤的文章。顯示所有文章

2012年5月4日星期五

jQuery Mobile default use Ajax load link and form

jQuery Mobile default use Ajax load link and form

背景:  Cakephp 用 AuthComponent allow 去分別要唔要 login 睇
public function beforeFilter() {
    parent::beforeFilter();
    $this->Auth->allow('display');
}
係正常 browser 睇要 login 既 page 會302 redirect 左去 login page

但係加左jQuery Mobile 就唔 work...


扮 mobile 測試
因為係用 mobile debug 唔到

所以係 Firefox 安 user agent switcher

最後知道
Cakephp AuthComponent 會對 Ajax call 又 handle 唔到既request 出 403
解決方法有:
1.
係 html code disable Ajax call

<form data-ajax="false" action="?" method="post" >

2.
日本人改左 AuthComponent 去 solve

http://www.hideblog.net/nikkis/show/222/

3.
成個 jQuery Mobile disable Ajax load link
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.0-rc.1/jquery.mobile-1.1.0-rc.1.min.css" />
<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
<script language="javascript" type="text/javascript">
    $(document).bind("mobileinit", function () {
        $.mobile.ajaxEnabled = false;
    });
</script>
<script src="http://code.jquery.com/mobile/1.1.0-rc.1/jquery.mobile-1.1.0-rc.1.min.js"></script>
from
http://jquerymobile.com/demos/1.0a4/docs/api/globalconfig.html


yeah, it just works~~

2012年2月24日星期五

CakePHP 開新 database table, 開Model, 做validate

CakePHP 開新 database table, 開Model, 做validate

今次開 db 目標係 cross check 新 table 有冇資料


1. 開新 database table 其實同平時無乜分別

係 table 名要有 s

例如 students

2. 開 Model file 就跟 database table 名, 不過無s
\app\models\student.php

<?php
class Student extends AppModel {

    var $name = 'Student';
   
}
?>

CakePHP 會自動追番 students 個 table

3. 做validate
今次開 db 目標係 cross check 新 table 有冇資料
係原本既 Model 加多個 function
    public function check_exist($check){

        $this->bindModel(
            array(
                'belongsTo' => array(
                    'Student' => array(
                        'className' => 'Student',
                        'foreignKey' => 'id'
                    )
                )
            ), false
        );

        $this->Student->recursive = -1;
       
                $result = $this->Student->find(
                    'first', array(
                        'conditions' => array(
                            'Student.eid' => $check
                        ),
                        'fields' => array('Student.eid')
                    )
                );
               
                if( $result != false) {
                    return true;
                }else {
                    return false;
                }
    }

咁就做完

一句SQL 都唔洗
都幾爽

係要睇下d doc

http://book.cakephp.org/1.3/en/view/1001/Understanding-Models
http://book.cakephp.org/1.3/en/view/1039/Associations-Linking-Models-Together

2012年2月9日星期四

CakePHP 1.3 Facebook Plugin 安裝記

CakePHP 1.3 Facebook Plugin 安裝記

CakePHP 1.3 有個 Facebook Plugin
http://www.webtechnick.com/blogs/view/229/CakePHP_Facebook_Plugin_Auth_Facebook_and_more

跟住instruction安, 開頭都好順利

不過最後 user logout 左facebook, logout 唔到cakephp

玩左 2 日
最後用svn download 左 example apps http://svn.xp-dev.com/svn/facebook_example_app/
起左個新db, 起左個新 user table

都係 logout 唔到

再search,

頂, 原來係 facebook cookie 個再出事...
https://github.com/webtechnick/CakePHP-Facebook-Plugin/issues/43

安晒2個fix 就好似無事...

另:
係search 既過程中, 找到個正blog

http://blog.toppest.net/

CakePHP Facebook Integration 1st Attempt
CakePHP Facebook Integration 2nd Attempt
CakePHP Facebook Integration: Permission
Facebook login

 

 

2012年1月20日星期五

CakePHP mod_rewrite note

CakePHP mod_rewrite note

原本 CakePHP 既 .htaccess 其實好霸道

將所有收到既 request 飛入 app/webroot/


<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteBase /
   RewriteRule    ^$ app/webroot/    [L]
   RewriteRule    (.*) app/webroot/$1 [L]
</IfModule>

有時要試野, 放個 phpinfo 都唔知放邊

最後睇左一輪 mod_rewrite

加左 2句

改成
<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteBase /
   RewriteRule    ^$ app/webroot/    [L]
   RewriteRule    source/(.*) source/$1 [L]
   RewriteRule    test/(.*) test/$1 [L]
   RewriteRule    (.*) app/webroot/$1 [L]
</IfModule>

/source folder 同/test folder 唔會飛入 app/webroot/

當然唔好同 CakePHP 既 controller 撞 la...

mod_rewrite note

(.*) 解任何字
^$ 未知點解

mod_rewrite tools
http://www.linkvendor.com/seo-tools/url-rewrite.html
http://www.webmaster-toolkit.com/mod_rewrite-rewriterule-generator.shtml
Related Posts with Thumbnails