วันนี้ผมต้องขี่รถมอเตอร์ไซต์ข้ามภูพานจากจังหวัดกาฬสินธุ์ไปจังหวัดสกลนคร ได้เห็นภาพบรรยากาสหลายอย่างทั้งคนกำลังหาของป่า คนกำลังเลี้ยงวัวเลี้ยงควาย คนขายของป่าตามข้างทาง ทำให้ผมมีความสูขยังงัย (ยังใง, ยังไง ผมว่าหลายคนเขียนผิด ต้องใช้ ยังไง ถูกใหมครับ) สาเหตุที่ผมใช้ชื่อชาวบ้านป่าบ้านดอยเพราะเหตุนี้แหละเพราะชอบธรรมชาติ อยู่ตามบ้านนอกบ้านนา มีความสูข แต่ตอนขี่รถอยู่บนเขากก็กลัวเหมือนกันกลัวรถงอแง บนเขาบ้านห่างกันอยู่ด้วย
ทำให้มองหรือจินตนาการตามแบบชาวบ้านป่าบ้านดอยว่า คนเราอยู่สุงแค่ใหนสุดท้ายต้องลงมา เช่นเครื่องบินถ้าไม่ยอมลงจอดสุดท้ายต้องตกลงมาเอง จะเลือกตกลงมากระแทกพื้นหรือลงมาบนพื้นแบบนิ้มๆเท่านั้นเอง อีกอย่างยานอวกาศซึ้งไม่ต้องตกลงมายังพื้นโลกก็ได้เพราะลอยอยู่บนอวกาศ แต่สุดท้ายก็จะกลายเป็นขยะอวกาศ ต่างกับยานอวกาสที่กลับมายังพื้นโลกบางครั้งอาจจะเก็บอยู่ในพิพิธภัณฑ์ คนก็ยังรู้จักคนก็ยังเล่าขาน
คนหลายคนอยู่สูงแล้วไม่มองด้านล่าง หรือมองว่าเขาไม่รวยเท่าเรา เขาไม่มีตำแหน่งหน้าที่การงานเหมือนเรา แต่จริงๆแล้วผมว่าพี่ป้าน้าอาที่เขากำลังเลี้ยงวัวเลี้ยงควายอยู่เขามีความสูขมากกว่าคนที่มีตำแหน่งใหญ่โตเสียอีก
ว่าแล้วเรากลับมาที่ Yii Framework เราดีกว่า วันนี้ผมจะพาไปรู้จักวิธีแบ่งคอลัมน์ในหน้าเว็บเวลาจะแสดงข้อมูลครับ
บ้างครั้งเราอยากมี 1 คอลัมน์ ตัวอย่าง http://php.bungkhan.com/pay/employee/index/Employee_page/2
บางครั้งอยากมี 2 คอลัมน์ ตัวอย่าง http://php.bungkhan.com/pay/employee/index2
แล้ว Yii Framework เขาทำกันอย่างไร (ส่วนนี้เป็นเบื้องต้นนะครับ ท่านสามารถนำไปประยุกต์ต่อได้) ผมจะใช้ ตัวอย่างจากที่เราสร้างเว็บด้วยคำสั่ง yiic นะครับ เวลาเราดูใน /protected/views/layouts จะประกอบด้วยไฟล์ 3 ไฟล์
วิธีการคือเข้าไปกำหนดในแต่ละ Action ที่เราต้องการเช่น
ขั้นตอนที่ 1. เข้าไปยัง action ที่ต้องการกำหนด
ใน /protected/controller/EmployeeController.php เวลาเราเรียก /employee/index หมายถึง controller ชื่อ Employee และ action ชื่อ actionIndex ถูกใหมครับจำได้นะ
ขั้นตอนที่ 2. กำหนดรูปแบบ layout ที่เราต้องการ ดังนี้
2.1 การกำหนไฟล์ layout ทั้ง controller
class EmployeeController extends Controller {
public $layout='//layouts/column2';
หมายถึงผมกำหนดให้ EmployeeControlle ใช้งาน layout ใน layouts/column2 (ขอเน้นตรง '//layouts/column2')
2.2 การกำหนไฟล์ layout เฉพาะ Action
เป็นการกำหนด layout ให้กับเพียงบาง Action เท่านั้น ดังนี้
class EmployeeController extends Controller {
public $layout='//layouts/column2';
public function actionIndex2() { $this->layout='//layouts/column1'; $dataProvider=new CActiveDataProvider('Employee'); }
หมายถึง ถ้าหากเรียกใช้ employee/index2 จะแสดงข้อมุลใน layouts/column1 แทนครับ
0 ความคิดเห็น:
แสดงความคิดเห็น