ตอนนี้ได้อะไรบ้าง
- นำข้อมูลใน block จากคนละ template มาใช้งาน
- เปลี่ยนข้อความกำหนด block แทนคำว่า SiXhEaD
- sub block
sub block คืออะไร
sub block เป็นส่วนย่อยภายใน block เหมาะสำหรับ layout ที่แตกต่างกัน เช่นบาง sub block มี 1 รูป บาง sub block มี 2 รูป หรือมี background คนละสี
หมายเหตุ
– ในการใช้งานจริงการรวมหรือแยก template ควรคำนึงถึงความเหมาะสมด้วย ไม่ควรแยกมากจนเกินไป ยิ่งเยอะจะกลายเป็นการ open file เกินความจำเป็น
– อยากใช้ข้อความกำหนด block แทนคำว่า SiXhEaD ก็ยังได้ ให้สังเกตุ parameter ที่ 2
$tp_item = new Template(‘_tp_item.html’, ‘Thailand’);
ผลการทำงาน 1 ($member == 1)
ผลการทำงาน 2 ($member == 0)
_tp_item.html
<!--Thailand:message-member-0--> <div class="alert alert-danger">$ip ไม่สามารถใช้งานได้</div> <!--/Thailand:message-member-0--> <!--Thailand:message-member-1--> <div class="alert alert-info">ยินดีต้อนรับ $username</div> <!--/Thailand:message-member-1--> <!--Thailand:items1--> $item1_title <ul class="list-group"> <!--Thailand:item1--> <li class="list-group-item">$no</li> <!--/Thailand:item1--> </ul> <!--/Thailand:items1--> <!--Thailand:item2--> <div class="alert alert-$css">$css_uc</div> <!--/Thailand:item2--> <!--Thailand:items3--> $item3_title <div class="row"> <!--Thailand:item3--> <!--sub:1--><div class="col-md-4"><div class="alert alert-success">$no</div></div> <!--/sub:1--> <!--sub:2--><div class="col-md-4"><div class="alert alert-warning">$no</div></div> <!--/sub:2--> <!--sub:3--><div class="col-md-4"><div class="alert alert-danger">$no</div></div> <!--/sub:3--> <!--/Thailand:item3--> </div> <!--/Thailand:items3-->
_tp_block-advance.html
<!DOCTYPE html> <html> <head> <title>$title</title> <link rel="stylesheet" href="module/bootstrap/bootstrap.min.css"> </head> <body> <div class="container"> <h3>$title</h3> $raw $message $item1 $item2_title $item2 $item3 $item4_title <div class="row"> <!--SiXhEaD:item4--> <!--sub:1--><div class="col-md-4"><div class="alert alert-success">$no</div></div> <!--/sub:1--> <!--sub:2--><div class="col-md-4"><div class="alert alert-warning">$no</div></div> <!--/sub:2--> <!--sub:3--><div class="col-md-4"><div class="alert alert-danger">$no</div></div> <!--/sub:3--> <!--/SiXhEaD:item4--> </div> </div> <script src="module/jquery/jquery.min.js"></script> <script src="module/bootstrap/bootstrap.min.js"></script> </body> </html>
block-advance.php
<?php require 'module/SiXhEaD.Template.php'; $member = (int) $_GET['member']; $tp = new Template('_tp_block-advance.html'); $tp_item = new Template('_tp_item.html', 'Thailand'); $title = 'วิธีใช้งาน block (ขั้นสูง)'; if ($member == 1) { $username = 'admin'; $raw = $tp_item->blockHtml('message-member-1'); $message = $tp_item->applyBlock('message-member-1'); // loop วิธีที่ 1 $item1_title = 'หัวข้อ 1'; $tp_item->block('item1'); for ($no = 1; $no < 4; $no++) { $tp_item->apply(); } $item1 = $tp_item->generate(); $tp_item->clear('item1'); // จำเป็นหากเรียกจาก template อื่น // loop วิธีที่ 2 $item2_title = 'หัวข้อ 2'; $styles = ['success', 'info', 'warning', 'danger']; foreach ($styles as $key => $css) { $css_uc = ucfirst($css); $item2 .= $tp_item->applyBlock('item2'); } } else { $ip = $_SERVER['REMOTE_ADDR']; $raw = $tp_item->blockHtml('message-member-0'); $message = $tp_item->applyBlock('message-member-0'); } $item3_title = 'หัวข้อ 3'; $tp_item->block('item3'); $tp_item->sub(3); for ($no = 1; $no < 9; $no++) { $tp_item->apply(); } $item3 = $tp_item->generate(); $tp_item->clear('item3'); // จำเป็นหากเรียกจาก template อื่น $item4_title = 'หัวข้อ 4'; $tp->block('item4'); $tp->sub(3); for ($no = 1; $no < 9; $no++) { $tp->apply(); } $tp->display(); exit;