การสร้างหน้า page ใหม่แบบกำหนดเองใน OpenCart ตอนที่ 1

เขียนเมื่อ 8 ปีก่อน โดย Ninenik Narkdee
opencart

คำสั่ง การ กำหนด รูปแบบ ตัวอย่าง เทคนิค ลูกเล่น การประยุกต์ การใช้งาน เกี่ยวกับ opencart

ดูแล้ว 6,309 ครั้ง


เนื้อหาต่อไปนี้ เราจะมาดูแนวทางการสร้าง page ใหม่แบบกำหนดเอง ใน OpenCart
(*เวอร์ชั่น 2.2.0.0) โดยในที่นี้จะแนะนำวิธีอบ่างง่าย จะมีไฟล์ที่เกี่ยวข้องอยู่ 2 ไฟล์
คือไฟล์ใน controller และไฟล์ใน view 
    สำหรับในส่วนของ language และ model นั้นจะยังไม่ขอกล่าวในตอนนี้
 
เริ่มต้นให้เราสร้างโฟลเดอร์ชื่อ extra ไว้ในโฟลเดอร์  
 
catalog/controller
 
จากนั้นสร้างไฟล์ชื่อ mypage.php ไว้ในโฟลเดอร์ extra อีกที 
path ไฟล์ที่ได้จะเป็น catalog/controller/extra/mypage.php โดยโค้ดของไฟล์ mypage.php
จะเป็นดังนี้
 
<?php
class ControllerExtraMypage extends Controller {
	// ตัวแปร $error กำหนดไว้ ยังไม่ได้ใช้งานในตอนนี้
	private $error = array();

	public function index() {

		// กำหนดส่วนของ title ของหน้าเพจ
		$this->document->setTitle('My Page Title');
		
		
		// กำหนดตัวแปร ที่่ต้องการส่งค่าไปแสดง หรือใช้งาน
		$data['my_demo_text'] = "This is mypage.";
		
		// โหลดเนื้อหาส่วนต่างๆ ของหน้าเพจ มาไว้ในตัวแปร
		$data['column_left'] = $this->load->controller('common/column_left');
		$data['column_right'] = $this->load->controller('common/column_right');
		$data['content_top'] = $this->load->controller('common/content_top');
		$data['content_bottom'] = $this->load->controller('common/content_bottom');
		$data['footer'] = $this->load->controller('common/footer');
		$data['header'] = $this->load->controller('common/header');

		// แสดงผลข้อมูลโดยนำค่าตัวแปร $data ส่งไปแสดงใน template  extra/mypage.tpl
		$this->response->setOutput($this->load->view('extra/mypage', $data));
	}
}
 
 
สังเกตการกำหนดชื่อ class จะเป็น ControllerExtraMypage รูปแบบคือ
Controller ตามด้วย ชื่อโฟลเดอร์ Extra ตามด้วยชื่อไฟล์ Mypage ตัวแรกของแต่ละชื่อจะเป็นตัวพิมพ์ใหญ่
(คำอธิบาย แสดงในโค้ด) ตัวอย่างการสร้างหน้า page ใหม่นี้ จะเป้นการแสดงหน้า page เปล่าๆ และส่งค่าตัวแปร
ชื่อ my_demo_text ไปแสดงข้อมูล และมีการโหลดข้อมูลส่วนต่างๆ มาแสดงด้วยเช่น header  footer เป็นต้น
 
ต่อไปให้เราสร้างไฟล์ในส่วนของ view หรือส่วนของการแสดงผล 
สร้างโฟลเดอร์ชื่อ extra ไว้ในโฟลเดอร์  
 
catalog/view/theme/default/template
 
จากนั้นสร้างไฟล์ชื่อ mypage.tpl ไว้ในโฟลเดอร์ extra อีกที 
path ไฟล์ที่ได้จะเป็น catalog/view/theme/default/template/extra/mypage.tpl
โดยโค้ดของไฟล์ mypage.tpl จะเป็นดังนี้
 
 
<?php echo $header; ?>
<div class="container">
  <div class="row"><?php echo $column_left; ?>
    <?php if ($column_left && $column_right) { ?>
    <?php $class = 'col-sm-6'; ?>
    <?php } elseif ($column_left || $column_right) { ?>
    <?php $class = 'col-sm-9'; ?>
    <?php } else { ?>
    <?php $class = 'col-sm-12'; ?>
    <?php } ?>
    <div id="content" class="<?php echo $class; ?>">
    <?php echo $content_top; ?>
    <?php echo $my_demo_text; ?>
    <?php echo $content_bottom; ?></div>
    <?php echo $column_right; ?></div>
</div>
<?php echo $footer; ?>
 
 
สังเกตว่าเราจะมีการนำค่าตัวแปรที่กำหนดใน controller มาแสดง ด้วยตัวแปร $my_demo_text ส่งมาด้วย
โดยแสดงผลด้วยคำสั่ง

<?php echo $my_demo_text; ?>
 
ทดลองรันไฟล์ โดยไปที่ url 
 
http://localhost/store/index.php?route=extra/mypage
 
จะได้ผลลัพธ์ดังรูป
 


 
 
 
 
 
 
 
 
 
 
 


กด Like หรือ Share เป็นกำลังใจ ให้มีบทความใหม่ๆ เรื่อยๆ น่ะครับ



อ่านต่อที่บทความ









เนื้อหาที่เกี่ยวข้อง



Tags:: opencart







URL สำหรับอ้างอิง





คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
  • เปลี่ยน


    ( หรือ เข้าใช้งานผ่าน Social Login )







เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ