لنفرض ان لدينا Users نريد ادخال بيانات تسجيل الدخول الى موقع :
اولا ملف Users_Controller ::::
كود:
class UsersController extends Appcontroller{
var $name='Users';
var $helpers = array('Form','Javascript','Html');
function login() {
$this->pageTitle = 'تسجيل الدخول';
$this->layout = 'login';
if (!empty($this->data)) {
}
}
} في الكود السابق قمنا بتعريف الدالة login ... المتغير الاول قمنا بتعريف عنوان الصفحة , المتغير الثاني قمنا بتحديد ملف الـ Layout ... واخيرا الشرط لتحديد هل هنالك بينات ارسلت من الفورم ام لا ويمكننا من هنا التعامل مع قاعدة البيانات من خلال البحث عن هذه المستخدم مخزن لدينا ام لا ..
لانشاء حقول الفورم ننشئ ملف Viewداخل مجلد نسميه users داخل مجلد View ... سيتم تسمية الملف بنفس اسم الدالة login.ctp ...
كود:
echo $javascript->link('jquery',false);
echo $javascript->link('login_form',false);
echo $form->create('User', array('action' => 'login','class' => 'myform'));
echo $form->label('اسم المستخدم');
echo $form->text('username',array('class' => 'inputWithImge'));
echo $form->label('كلمة المرور');
echo $form->password('password',array('class' => 'inputWithImge'));
echo $form->submit('دخــــول', array('class' => 'but'));
?> قمنا في الكود السابق بتحديد الحقول التي نريدها , وعند انشاء الفورم سنحدد له اذا ضغطنا على الزر submit ان ينتقل الى الى الدالة login ن خلال action=login ..
بالإضافة الى ذلك اذا اردنا استخدام مكتبات الجافا مثل الـ JQuery سنستخدم $link للإشارة الى اسم ملف الجافا .
بالنسبة لتنسيق ال View سننشئ ملف style.css نضع الملف في مجلد CSS الموجود داخل المجلد webroot .
اما ملفات الجافا فتوضع داخل المجلد JS داخل المجلد webroot ايضا .
لو لاحظت انك عندما تقوم بعرض موقع باستخدام الكيك فإن التنسيق العام للصفحة يكون موحدا (( اللون الاخضر للهيدر والفوتر )) ولتغيير هذا الاستايل ننشئ ملف layout باسم default.ctp ونضعه في مجلد ال layout .. لكن ماذا نضع في هذا الملف .... توجه الى مجلد cake ثم lib ثم view ثم layout ستجد ملف default.ctp لاحظ كيف قام باستدعاء ملفات CSS وكيفية كتابة ال head .... فقم بنسخ الملف الى الملف default.ctp الجديد مع تغيير الاستايل لما تريد , لكن كما لاحظت سابقا من ملف ال controller قمنا بتسمية ملف ال layout باسم login .ctp
ايضا يجدر بك الانتباه في ملف ال layout الى echo $scripts_for_layout; لتشغيل ملفات الجافا و echo $content_for_layout; لاستدعاء البيانات .
هذا مالدي الان واعذرني اذا قصرت في الشرح ... واذا لم تتضح الصورة يمكنك ان تحدد فورم بسيط مع تنسيقه وارفق لك ان شاء الله مجلد cake كامل لتشغيله .