Trang 1 / 2 12 LastLast
Hiển thị kết quả từ 1 đến 10 / 14
  1. #1
    Tham gia
    26-04-2009
    Bài viết
    369
    Like
    5
    Thanked 16 Times in 12 Posts

    »» Tutorital XTemplate Full by 1024KB ««

    Sau một thời gian mày mò, nghiên cứu về Template Engine, cụ thể là XTemplate. 1024KB thấy XTemplate rất là dễ dùng
    dễ sử dụng. Nay 1024KB muốn chia sẻ với các bạn về cách sử dụng XTemplate.
    Bài này là kiến thức tổng hợp từ sự tự học của 1024KB. Hy vọng sẽ giúp ít nhiều các bạn hiểu hơn về XTemplate.
    Bài có sử dụng VD trong XTemplate Document. Đồng thời 1024KB sẽ hướng dẫn các bạn cơ bản để tạo 1 trang web sử dụng XTemplate.
    Rất mong được sự đóng góp ý kiến của các bạn.
    Các bạn có thể down XTemplate tại địa chỉ: http://www.phpxtemplate.org/HomePage
    Bài 1: Giới thiệu Lý thuyết
    XTemplate được phân biệt với nhau bằng các Block. Block lớn nhất trong XTemplate là block "main". Mình thấy nó ở trong file xtemplate.class.php
    PHP Code:
    var $mainblock 'main'
    Các Block được bắt đầu và kết thúc bởi cặp Comment:
    Code:
    <!-- BEGIN: block_name -->
       //HTML code or Var Name
    <!-- END: block_name -->
    Tạm thời coi như xong bài 1.
    Bài 2: Viết chương trình đầu tiên. Xuất chữ Hello World
    VD: file template của bạn là: bai1.html (bạn có thể đặt tên đuôi file tùy ý: .tpl, .xtpl, .v.v)
    Code:
    <!-- BEGIN: main -->
    <html>
    <body>
    <h1>Bài 1: Viết chương trình đầu tiên</h1>
    {var_name}
    </body>
    </html>
    <!-- END: main -->
    Trong PHP sử dụng XTemplate được viết như sau:
    PHP Code:
    <?php
        
    include 'xtemplate.class.php';
        
    $tpl =& new XTemplate('bai1.html');
        
    //Gán giá trị vào var_name
        
    $tpl->assign('var_name','Hello World');
        
    //Parse giá trị vào main
        
    $tpl->parse('main');
        
    //Xuất nội dung
        
    $tpl->out('main');
    ?>
    Khi chạy file PHP ta được kết quả:
    Code:
    Bài 1: Viết chương trình đầu tiên
    Hello World
    Như vậy, lệnh Assign dùng để gán giá trị.
    Parse để đưa giá trị đó vào Block.

    Bài 2: Sử dụng các Block
    file bai2.html
    Code:
    <!-- BEGIN: main -->
    <html>
    <body>
    {test1}
    <!-- BEGIN: block_1 -->
    {name_block_1}
    <!-- END: block_1 -->
    <!-- BEGIN: block_2 -->
    This is Block 2
    <!-- END: block_2 -->
    {test2}
    <!-- BEGIN: block_3#Bạn có thể comment cho Block ở đây-->
    	<table border="1">
    		<tr>
    			<td>ID</td>
    			<td>{Data.ID}</td>
    		</tr>
    		<tr>
    			<td>Name</td>
    			<td>{Data.Name}</td>
    		</tr>
    		<tr>
    			<td>Age</td>
    			<td>{Data.Age}</td>
    		</tr>
    	</table>
    <!-- END: block_3 -->
    </body>
    </html>
    <!-- END: main -->
    Và file bai2.php có code như sau:
    PHP Code:
    <?php
        
    include 'xtemplate.class.php';
        
    $tpl =&new XTemplate('bai2.html');
        
    //Gán giá trị
        
    $tpl-> assign('test1''Cac Block 1,2');
        
    //Gán giá trị cho Block 1
        
    $tpl-> assign('name_block_1','This is Block 1');
        
    $tpl->parse('main.block_1');
        
    //Bạn có thể không Parse Block_2. Khi đó Block 2 sẽ không được hiện lên Browser
        
    $tpl->parse('main.block_2');
        
    $row = array('ID' => 1,
                    
    'Name' => '1024KB',
                    
    'Age' => 24);
        
    //Gán giá trị cho Block 3.
        
    $tpl->assign('DATA',$row);
        
    //hoặc bạn cũng có thể viết gọn hơn
        //$tpl->assign('DATA',array('ID' => 1,
        //                            'Name' => '1024KB',
        //                            'Age' => 24));
        //Parse vào Block 3
        
    $tpl->parse('main.block_3');
        
    //Xuất dữ liệu
        
    $tpl->out('main');
    ?>
    Tạm thời viết đến thế đã. 4h20 rùi. Đi ngủ cái...
    Bác Mod sửa hộ em cái Title. Viết sai roài .
    Bác Mod thấy có ích Stick cho em cái nhé.
    To be continue...

    [=========> Bổ sung bài viết <=========]

    Chú ý cho các bài trước: Khi Parse phải theo thứ tự từ trong ra ngoài. VD: ta có các block sau
    Code:
    <!-- BEGIN: main -->
    	<!-- BEGIN: block_1 -->
    		This is Block 1
    		<!-- BEGIN: sub_block_1 -->
    			This is sub Block 1
    		<!-- END: sub_block_1 -->
    	<!-- END: block_1 -->
    	<!-- BEGIN: block_2 -->
    		This is Block 2
    	<!-- END: block_2 -->
    <!-- END: main -->
    Như vậy. Khi cần chữ "This is sub Block 1" thì bạn phải Parse như sau:
    PHP Code:
    $tpl->parse('main.block_1.sub_block_1');
    $tpl->parse('main.block_1');
    //cuối cùng parse vào main
    $tpl->parse('main'); 
    Nếu chỉ muốn hiện mỗi chứ "This is Block 1" thì bạn không Parse sub block nữa.
    PHP Code:
    $tpl->parse('main.block_1');
    $tpl->parse('main'); 
    Với Block 2 thì dễ hơn
    PHP Code:
    $tpl->parse('main.block_2');
    //$tpl->parse('main'); 
    Nếu trong Sub Block 1 lại có thêm 1 Block nữa thì bạn phải Parse
    PHP Code:
    $tpl->parse('main.block_1.sub_block_1.sub_sub_block_1');
    $tpl->parse('main.block_1.sub_block_1');
    $tpl->parse('main.block_1');
    //$tpl->parse('main'); 
    Thật là dễ dàng đúng không?.

    Bài 3: Cách lặp một Block
    Với cách lặp Block này. Sau này ta sẽ dùng khi cần lặp CSDL dùng while
    File Template: bai3.html
    Code:
    <!-- BEGIN: main -->
    <html>
    <body>
    <!-- BEGIN: block_table -->
    <table border="1">
    	<tr>
    		<td>ID</td>
    		<td>Name</td>
    		<td>Age</td>
    	</tr>
    	//Đây là chỗ cần lặp
    	//Và ta tạo 1 block cho chỗ cần lặp
    	//Khi nào muốn lặp thì bạn tạo Block cho nó.
    	<!-- BEGIN: loop_block -->
    		<tr>
    			<td>{DATA.ID}</td>
    			<td>{DATA.NAME}</td>
    			<td>{DATA.AGE}</td>
    		</tr>
    	<!-- END: loop_block -->
    </table>
    <!-- END: block_table -->
    </body>
    </html>
    <!-- END: main -->
    File PHP: bai3.php
    PHP Code:
    <?php
        
    include 'xtemplate.class.php';
        
    $tpl =& new XTemplate;
        
        
    //Tạo 1 mảng
        
    $arr = array(=> array('ID' => '10',
                                
    'NAME' => '1024KB',
                                
    'AGE' => '24'),
                        array(
    'ID' => '11',
                            
    'NAME' => '1024MB',
                            
    'AGE' => '25'),
                        array(
    'ID' => '12',
                            
    'NAME' => '1024GB',
                            
    'AGE' => '26'));
        
    $count count($arr);
        for(
    $i=1;$i<=$count;$i++){
            
    //Gán giá trị
            
    $tpl->assign('DATA',$arr***91;$i***93;);
            
    //Parse giá trị
            
    $tpl->parse('main.block_table.loop_block');
            
    //XTemplate có thể Parse nhiều lần.
            
    $tpl->parse('main.block_table.loop_block');
            
    //Khi đó sẽ x2 array trên
            //Xuất nội dung
            
    $tpl->out('main');
    ?>
    ViewSource khi chạy File bai3.php:
    Code:
    ...
    <table>
    	<tr>
    		<td>ID</td>
    		<td>Name</td>
    		<td>Age</td>
    	</tr>
    	<tr>
    		<td>10</td>
    		<td>1024KB</td>
    		<td>24</td>
    	</tr>
    	<tr>
    		<td>11</td>
    		<td>1024MB</td>
    		<td>25</td>
    	</tr>
    	...
    </table>
    ...
    Được sửa bởi 1024KB lúc 14:09 ngày 28-04-2009
    Quote Quote

  2. 2 thành viên Like bài viết này:


  3. #2
    Tham gia
    26-04-2009
    Bài viết
    369
    Like
    5
    Thanked 16 Times in 12 Posts
    Với Smarty thì em không nói làm gì. Em cũng chưa tìm hiểu về Smarty nhưng đọc nhiều bài viết em thấy Smarty thích hợp với những dự án lớn hơn. Còn XTemplate thích hợp cho những dự án vừa và nhỏ. Cho nên em mới viết bài về cách sử dụng XTemplate để cho những người mới học PHP biết về công nghệ Template Engine. Hiện có rất nhiều Template Engine nhưng em thấy XTemplate là có vẻ dễ dùng nhất.

    [=========> Bổ sung bài viết <=========]

    Bây giờ là cách sử dụng với CSDL
    VD: ta có một bảng CSDL về thông tin một Member sau:
    table_member(mb_id,mb_name,mb_email)

    mb_id | mb_name | mb_email
    1 | Member 1 | mb1@mail.com
    2 | Member 2 | mb2@mail.com

    Giờ ta cần xuất các thông tin này ra 1 table.
    File VD3.html có code như sau:
    Code:
    <!-- BEGIN: main -->
    <html>
    <body>
    <!-- BEGIN: block_table -->
    <table>
    	<tr>
    		<td>ID</td>
    		<td>Name</td>
    		<td>Email</td>
    	</tr>
    	
    	<!-- Tạo Loop Block ở đây -->
    	<!-- BEGIN: loop_row -->
    		<tr>
    			<td>{MEMBER.ID}</td>
    			<td>{MEMBER.NAME}</td>
    			<td>{MEMBER.EMAIL}</td>
    		</tr>
    	<!-- END: loop_row -->
    </table>
    <!-- END: block_table -->
    </body>
    </html>
    <!-- END: main -->
    Giờ là File VD3.php:
    PHP Code:
    <?php
        
    include 'class_mysql.php';//Class này các pác có thể lấy ở các Xtremedia
        
    include 'config.php';//Cái này xem trong các Source Xtremedia
        
    include 'xtemplate.class.php';
        
    $tpl = new XTemplate('VD3.html');
        
        
    //Đầu tiên là truy xuất CSDL
        
    $q $mysql->query("SELECT * FROM table_member");
        if(
    $mysql->num_rows($q)){
            while(
    $r $mysql->fetch_array($q)){
                
    extract($r);
                
    //Gán giá trị vào block
                
    $tpl->assign('MEMBER',array('ID' => $mb_id,
                                            
    'NAME' => $mb_name,
                                            
    'EMAIL' => $mb_email));
                
    //Parse giá trị vào Block
                
    $tpl->parse('main.block_table.loop_row');
                
    $tpl->parse('main.block_table');
            }
        }else echo 
    'Không có dữ liệu.';
        
        
    //In nội dung
        
    $tpl->out('main');
    ?>

    [=========> Bổ sung bài viết <=========]

    Xem ra nhận được sự hưởng ứng không nhiều. Nhưng thôi, cứ viết dành cho các bạn mới học PHP và bắt đầu tìm hiểu về công nghệ Template.

    Về vấn đề chèn File trong XTemplate
    Bạn có thể chèn 1 file template khác bằng lệnh:
    Code:
    {FILE "template_can_chen.html"}
    VD: file1.html có nội dung
    Code:
    <!-- BEGIN: main -->
    <html>
    <body>
    <!-- BEGIN: table -->
    	<table>
    		<tr>
    			<td>ID</td>
    			<td>Name</td>
    			<td>Email</td>
    		</tr>
    		<!-- BEGIN: start_include -->
    			{FILE "file2.html"}
    		<!-- END: start_include -->
    	</table>
    <!-- END: table -->
    </body>
    </html>
    <!-- END: main -->
    Bây giờ File2.html có nội dung như sau:
    Code:
    <tr>
    	<td>{DATA.ID}</td>
    	<td>{DATA.NAME}</td>
    	<td>{DATA.EMAIL}</td>
    </tr>
    Và đây là Code của file PHP:
    PHP Code:
    <?php
        
    include 'xtemplate.class.php';
        
        
    $tpl = new XTemplate('file1.html');
        
        
    //Tạo mảng dữ liệu
        
    $arr = array(=> array('ID' => '10'
                                
    'NAME' => '1024KB'
                                
    'AGE' => '24'), 
                        array(
    'ID' => '11'
                            
    'NAME' => '1024MB'
                            
    'AGE' => '25'), 
                        array(
    'ID' => '12'
                            
    'NAME' => '1024GB'
                            
    'AGE' => '26'));
        for(
    $i=1;$i<=count($arr);$i++)
        
    //Gán giá trị vào Block
        
    $tpl->assign('DATA',$arr***91;$i***93;);
        
    //Parse giá trị vào Block Start Include
        
    $tpl->parse('main.block_table.start_include');
        
    //Parse vào Block Table
        
    $tpl->parse('main.block_table');
        
    //Parse vào Block Main
        
    $tpl->parse('main');
        
    //Xuất dữ liệu
        
    $tpl->out('main');
    ?>
    Bạn thấy đó. Việc tách thành các file riêng rẽ giúp ta có thể quản lý một cách dễ dàng.
    Chú ý: ta có thể Include File bao nhiêu thì tùy. Với những file có code giống nhau ta có thể sử dụng lại.

    [=========> Bổ sung bài viết <=========]

    * Đây sẽ là bài viết hướng dẫn tạo Template cho 1 website.
    VD trang web của ta có giao diện cơ bản như sau:


    Bây giờ chúng ta tách thành các file riêng lẻ như:
    PHP Code:
    header.tpl
    left_menu_1.tpl
    //Nếu Left Menu 2 có code giống Left Menu 1 thì không cần tạo nữa.
    //Ta sẽ sử dụng lại file left_menu_1.html. Ta coi như 2 menu có code khác nhau
    left_menu_2.tpl
    content_1.tpl
    content_2.tpl
    right_menu_1.tpl
    right_menu_2.tpl
    //Cuối cùng là file main.html dùng để ghép các file trên lại với nhau.
    main.tpl 
    Code của các file như sau:
    File style.css:
    PHP Code:
    * { 
        
    margin:0px
        
    padding:0px;}
    body 
        
    font-family:VerdanaArialHelveticasans-serif;
        
    font-size:11px;
        
    color:#343434;
        
    margin:0px
        
    padding:0px;
        
    text-align:center;
    }
    a{
        
    text-decoration:none;
        
    color:#343434;
    }
    a:hover{
        
    text-decoration:underline;
    }
    #wrapper {
        
    margin:0px auto;
        
    width:800px;
        
    text-align:left;
    }
    #header {
        
    width:800px;
        
    height:150px;
        
    border:1px solid #646464;
        
    text-align:center;
    }
    #header h1{
        
    position:relative;
        
    top:45px;
        
    font-size:45px;
    }
    #content{
    }
    #left{
        
    width:180px;
        
    float:left;
    }
    #right{
        
    width:180px;
        
    float:right;
    }
    #middle{
        
    width:430px;
        
    float:left;
        
    margin-left:5px;
    }
    .
    menu-top{
        
    width:180px;
        
    height:20px;
        
    border:1px solid #242424;
        
    background:#5e6477;
        
    color:#fff;
        
    font-weight:bold;
        
    margin-top:5px;
    }
    .
    menu-top h3{
        
    position:relative;
        
    left:10px;
        
    top:2px;
        
    font-size:11px;
    }
    .
    menu-bot{
        
    width:180px;
        
    border-right:1px solid #242424;
        
    border-left:1px solid #242424;
        
    border-bottom:1px solid #242424;
        
    padding-top:5px;
        
    padding-bottom:5px;
    }
    .
    menu-bot .cont{
        
    position:relative;
        
    left:5px;
    }
    .
    content-top {
        
    width:430px;
        
    height:20px;
        
    border:1px solid #242424;
        
    background:#5e6477;
        
    color:#fff;
        
    font-weight:bold;
        
    margin-top:5px;
    }
    .
    content-top h3{
        
    position:relative;
        
    left:10px;
        
    top:2px;
        
    font-size:11px;
    }
    .
    content-bot{
        
    width:430px;
        
    border-right:1px solid #242424;
        
    border-left:1px solid #242424;
        
    border-bottom:1px solid #242424;
        
    padding-top:5px;
        
    padding-bottom:5px;
    }
    .
    content-bot .cont{
        
    position:relative;
        
    left:5px;
    }
    #footer{
        
    width:800px;
        
    height:100px;
        
    border:1px solid #242424;
        
    text-align:center;
        
    margin-top:10px;
    }
    #footer h1{
        
    position:relative;
        
    top:25px;
        
    font-size:40px;

    File main.tpl:
    PHP Code:
    <!-- BEGINmain -->
    <
    html>
    <
    head>
    <
    link rel="stylesheet" href="style.css" type="text/css" />
    <
    meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <
    title>Tutoriral XTemplate Main File</title>
    </
    head>
    <
    body>
    <
    div id="wrapper">
        <!-- 
    BEGINheader -->
            {
    FILE "header.html"}
        <!-- 
    ENDheader -->
        <!-- 
    BEGINcontent -->
        <
    div id="content">
            <
    div id="left">
                <!-- 
    BEGINleft_menu -->
                    {
    FILE "left_menu.html"}
                <!-- 
    ENDleft_menu -->
            </
    div>
            <
    div id="middle">
                <!-- 
    BEGINmiddle_1 -->
                    {
    FILE "content.html"}
                <!-- 
    ENDmiddle_1 -->
                <!-- 
    BEGINmiddle_2 -->
                    {
    FILE "content.html"}
                <!-- 
    ENDmiddle_2 -->
            </
    div>
            <
    div id="right">
                <!-- 
    BEGINright_menu -->
                    {
    FILE "right_menu.html"}
                <!-- 
    ENDright_menu -->
            </
    div>
        </
    div>
        <!-- 
    BEGINfooter -->
            {
    FILE "footer.html"}
        <!-- 
    ENDfooter -->
    </
    div>
    </
    body>
    </
    html>
    <!-- 
    ENDmain --> 
    File header.tpl:
    PHP Code:
    <div id="header"><h1>BANNER</h1></div
    File footer.tpl:
    PHP Code:
    <div id="footer"><h1>FOOTER</h1
    To be Continue...
    Được sửa bởi 1024KB lúc 16:15 ngày 29-04-2009 Reason: Bổ sung bài viết

  4. 2 thành viên Like bài viết này:


  5. #3
    Tham gia
    02-07-2008
    Location
    Bụng mẹ
    Bài viết
    98
    Like
    0
    Thanked 2 Times in 1 Post
    File left_menu.tpl:
    PHP Code:
    <div class="menu-top"><h3>{TITLE}</h3></div>
    <
    div class="menu-bot">
        <
    div class="cont">
            
    //chỗ cần lặp đây. Tạo 1 Block cho nó
            
    <!-- BEGINloop_menu -->
            
    » <a href="{MENU.URL}">{MENU.NAME}</a><br>
            <!-- 
    ENDloop_menu -->
        </
    div>
    </
    div
    File right_menu.tpl:
    PHP Code:
    <div class="menu-top"><h3>{TITLE}</h3></div>
    <
    div class="menu-bot">
        <
    div class="cont">
            <
    table border="0" style="font-size:11px;">
                <!-- 
    BEGINloop_menu -->
                <
    tr><td>» <a href="MENU.URL">{MENU.NAME}</a></td></tr>
                <!-- 
    ENDloop_menu -->
            </
    table>
        </
    div>
    </
    div
    File content.tpl:
    PHP Code:
    <div class="content-top"><h3>{TITLE}</h3></div>
    <
    div class="content-bot">
        <
    div class="cont">
        <!-- 
    BEGINblock_table -->
            <
    table width="420" border="1" style="font-size:11px;">
                <
    tr style="font-weight:bold;">
                    <
    td>ID</td>
                    <
    td>Name</td>
                    <
    td>Age</td>
                </
    tr>
                <!-- 
    BEGINloop_row -->
                <
    tr>
                    <
    td>{ROW.ID}</td>
                    <
    td>{ROW.NAME}</td>
                    <
    td>{ROW.AGE}</td>
                </
    tr>
                <!-- 
    ENDloop_row -->
            </
    table>
        <!-- 
    ENDblock_table -->
        </
    div>
    </
    div
    Do các File content_1,content_2 giống nhau nên mình chỉ viết thành 1 file content.tpl thôi
    Các file left_menu.tpl và right_menu.tpl cũng vậy.

    VD: trong trang web của chúng ta,các phần Left,Right,Header,Footer và Content_1 là giữ nguyên.
    Phần có nhiệm vụ thay đổi dữ liệu là Content_2. Thế nên chúng ta cần tạo 1 file Template.php.
    Sau này chúng ta sẽ Include file này.
    Văn kém ko biết diễn đạt như thế nào, các bạn thông cảm.
    *Chú ý: Ở file config.php chúng ta cần include file xtemplate.php
    PHP Code:
    <?php
        
    //...
        //Cấu hình và kết nối CSDL
        
    include 'xtemplate.class.php';

        
    $tpl = New XTemplate('main.tpl');
    ?>
    File template.php như sau:
    PHP Code:
    <?php
    //Parse header
        
    $tpl->parse('main.header');
    //Content
        //Left menu
            
    $tpl->assign('TITLE','Left Menu 1');
            
    $arr = array(=> array('URL' => 'URL1','NAME' => 'Left menu 1'),
                            array(
    'URL' => 'URL2','NAME' => 'Left menu 2'),
                            array(
    'URL' => 'URL3','NAME' => 'Left menu 3'),
                            array(
    'URL' => 'URL4','NAME' => 'Left menu 4'));
            for(
    $i=1;$i<=count($arr);$i++){
                
    $tpl->assign('MENU',$arr***91;$i***93;);
                
                
    $tpl->parse('main.content.left_menu.loop_menu');
                
    $tpl->parse('main.content.left_menu');
                
    //Ta có 2 menu giống nhau, ta parse thêm 1 lần nữa
                
    $tpl->assign('TITLE','Left Menu 2');
                
    $tpl->parse('main.content.left_menu');
        
    //End Left Menu
        //Right menu
            
    $tpl->assign('TITLE','Right Menu 1');
            
    $arr = array(=> array('URL' => 'URL1','NAME' => 'Right menu 1'),
                            array(
    'URL' => 'URL2','NAME' => 'Right menu 2'),
                            array(
    'URL' => 'URL3','NAME' => 'Right menu 3'),
                            array(
    'URL' => 'URL4','NAME' => 'Right menu 4'));
            for(
    $i=1;$i<=count($arr);$i++){
                
    $tpl->assign('MENU',$arr***91;$i***93;);
                
                
    $tpl->parse('main.content.left_menu.loop_menu');
                
    $tpl->parse('main.content.left_menu');
                
    //Ta có 2 menu giống nhau, ta parse thêm 1 lần nữa
                
    $tpl->assign('TITLE','Right Menu 2');
                
    $tpl->parse('main.content.left_menu');
        
    //End Right Menu
        //Middle
            //Lấy CSDL như VD bên trên
            
    $q $mysql->query("SELECT * FROM table_member"); 
            if(
    $mysql->num_rows($q)){ 
                while(
    $r $mysql->fetch_array($q)){ 
                    
    extract($r); 
                    
    //Gán giá trị vào block 
                    
    $tpl->assign('MEMBER',array('ID' => $mb_id
                                                
    'NAME' => $mb_name
                                                
    'EMAIL' => $mb_email)); 
                    
    //Parse giá trị vào Block 
                    
    $tpl->parse('main.content.middle.block_table.loop_row'); 
                    
    $tpl->parse('main.content.middle.block_table'); 
                } 
            }else echo 
    'Không có dữ liệu.';
            
    $tpl->assign('TITLE','Content title 1');
            
    $tpl->parse('main.content.middle_1');
            
    $tpl->assign('TITLE','Content title 2');
            
    $tpl->parse('main.content.middle_1');
        
    //End middle
            
    //Parse toan bo Content
        
    $tpl->parse('main.content');
            
    //Parse Footer
        
    $tpl->parse('main.footer');

    //Parse Main
        
    $tpl->parse('main');
        
    //Xuat noi dung
        
    $tpl->out('main');
    ?>
    Cuối cùng là File Index.php:
    PHP Code:
    <?php
        
    include 'config.php';
        include 
    'class_mysql.php';
        
        
    $q $mysql->query("SELECT * FROM table_member"); 
            if(
    $mysql->num_rows($q)){ 
                while(
    $r $mysql->fetch_array($q)){ 
                    
    extract($r); 
                    
    //Gán giá trị vào block 
                    
    $tpl->assign('MEMBER',array('ID' => $mb_id
                                                
    'NAME' => $mb_name
                                                
    'EMAIL' => $mb_email)); 
                    
    //Parse giá trị vào Block 
                    
    $tpl->parse('main.content.middle_2.block_table.loop_row'); 
                    
    $tpl->parse('main.content.middle_2.block_table'); 
                } 
            }else echo 
    'Không có dữ liệu.';
            
    $tpl->assign('TITLE','Content title 2');
            
    $tpl->parse('main.content.middle_2');
        
        
    //chèn file Templates
        
    include 'template.php';
    ?>
    Vậy là xong. Đó là toàn bộ những kinh nghiệm của mình về XTemplate. Chúc các bạn thành công với Template Engine này.
    Được sửa bởi kylobytes lúc 16:22 ngày 29-04-2009

  6. 2 thành viên Like bài viết này:


  7. #4
    Tham gia
    28-02-2007
    Location
    Sài Gòn
    Bài viết
    460
    Like
    0
    Thanked 1 Time in 1 Post
    Cảm ơn bạn đã chia sẻ, nhưng XTemplate rất dễ dùng, có cần đến cả 1 tutorial này không nhi?

  8. Thành viên Like bài viết này:


  9. #5
    Tham gia
    20-10-2007
    Bài viết
    7
    Like
    0
    Thanked 1 Time in 1 Post

    Vui lắm !

    Tớ đã thử code theo cách của bạn OK cả.. Tớ mới Vọc XTemplate, rất hay lại đọc được Tut này của bạn... Thật hữu ích...

  10. Thành viên Like bài viết này:


  11. #6
    Tham gia
    13-12-2008
    Location
    Hà Nội
    Bài viết
    158
    Like
    0
    Thanked 1 Time in 1 Post
    Bài viết rất chi tiết cám ơn chủ topic hi vọng nhiều người sẽ đọc được bài này.

  12. Thành viên Like bài viết này:


  13. #7
    beham Guest

    Cảm ơn bài viết về hướng dẫn XTemplate

    Bài viết rất hay, ví dụ code mẫu rất dễ hiểu. Cảm ơn người viết.

  14. #8
    Tham gia
    24-01-2008
    Bài viết
    5
    Like
    0
    Thanked 1 Time in 1 Post
    Cảm ơn bạn rất nhiều! 1 bài viết tuyệt vời

  15. Thành viên Like bài viết này:


  16. #9
    Tham gia
    26-04-2008
    Bài viết
    908
    Like
    0
    Thanked 15 Times in 9 Posts
    Giá mà có thể biện luận trên đây nhỉ. Đây là những ví dụ hầu như chỉ xô dữ liện đơn thuần. Chưa thấy chỗ sử lý tình huống cần phải biện luận nhỉ.

  17. Thành viên Like bài viết này:


  18. #10
    Tham gia
    14-12-2008
    Bài viết
    1,343
    Like
    16
    Thanked 10 Times in 10 Posts
    ý anh s.code đó là đem cái xe tải ra và giới thiệu nó chở được 2 người như cái xe máy

  19. Thành viên Like bài viết này:


Trang 1 / 2 12 LastLast

Bookmarks

Quy định

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình
  •