1. Kết quả Event Ghost 2016


    Dưới đây là danh sách những thành viên đoạt giải thưởng trong Event Ghost 2016

XTemplate PHP

Thảo luận trong 'PHP & My SQL' bắt đầu bởi boykieu_ghetyeu, 25 Tháng bảy 2012.


  1. boykieu_ghetyeu

    boykieu_ghetyeu Thành Viên Cống Hiến

    11
    11
    0
    Cơ bản về xtemplate
    Bài 1: Cơ bản về Xtemplate
    Các bạn có thể xem và download xtemplate tại địa chỉ:
    http://www.phpxtemplate.org.
    Xtemplate được nhận biết bằng các Block. Và block lớn nhất thường đặt là main. Các block được bắt đầu và kết thúc bởi các cặp comment.
    Template: ( templ.tpl )

    Quote:

    Trong đó xxxx là biến
    VD:

    Quote:



    {vidu}


    Code PHP:
    Trong PHP Code thì Xtemplate sẽ được viết như sau:
    PHP Code:
    include_once('./xtemplate.class.php');
    $xtpl = new XTemplate('templ.tpl');
    //Gán giá trị
    $xtpl->assign('vidu', "Vi du ve Xtemplate");
    //Không biết dịch từ này thế nào, nhưng tạm hiểu là in giá trị của 1 block.
    $xtpl->parse('main');
    //In ra
    $xtpl->out('main');
    //(2 cái cuối chả bik dịch thế nào, thôi thì bik thế đã [%3AD] )
    ?>
    Chú ý hàm parse:
    Parse phải được viết theo thứ tự của block và cách nhau bởi dấu chấm.
    VD ngoài cùng là main, tiếp theo là block1,block2,block3 thì sẽ viết như thế này:
    PHP Code:
    //...
    $xtpl->parse('main.block1.block2.block3');
    //...
    ?>

    Quote:assign(Biến cần gán giá trị,giá trị cần gán)
    parse(tên của block)

    Bài 2: Mảng giá trị
    (chú ý: Trong bài này mình sẽ bỏ bớt những phần khai báo ở bài trước. )
    Bạn khai báo 1 mảng trong PHP
    PHP Code:
    ...
    $mang = array(
    'id'=>"1",
    'ten'=>"TK",
    'tuoi'=>"21"
    );
    //Gán giá trị của mảng vào DATA
    $xtpl->assign('DATA',$mang);
    $xtpl->parse('main. table');
    ...
    ?>
    Template:

    Quote:...

    id
    {DATA.id}
    Tên
    {DATA.ten#Bạn có thể comment ở đây}
    Tuổi
    {DATA.tuoi}


    ...


    Chú ý: Trong Xtemplate bạn có thể sử dụng Comment bằng cách thêm dấu # như ở VD trên.
    Bài 3: Vòng lặp
    Trong Xtemplate có 1 cái mình thấy khá là thú vị, đó là mình có thể lặp 1 block bằng PHP. VD:
    PHP Code:
    ...
    for($i=0;$i<10;$i++){
    $xtpl->parse('main.loop');
    }
    ...
    ?>
    Template:

    Quote:...
    Ví dụ về lặp 1 block

    Hehe ta se lap cai nay


    ...


    Bạn cũng có thể in lại nhiều lần 1 block bằng cách parse nhiều lần. VD:
    PHP Code:
    ...
    $xtpl->parse('main.loop');
    $xtpl->parse('main.loop');
    $xtpl->parse('main.loop');
    $xtpl->parse('main.loop');
    ...
    ?>
    Bạn có thể thay đổi biến rồi parse ra.VD:
    PHP Code:
    ...
    $xtpl->assgin('vd',"hello, i'm TK")
    $xtpl->parse('main.loop');
    $xtpl->assgin('vd',"Welcome to xtemplate")
    $xtpl->parse('main.loop');
    $xtpl->assgin('vd',"Xtemplate so easy!")
    $xtpl->parse('main.loop');
    ...
    ?>
    Template:

    Quote:...
    Ví dụ về lặp 1 block

    {vd}


    ...

    Bài 4: Đặt giá trị cho toàn bộ block.
    Đến đây mình bắt đầu thấy khá thích cái Xtemplate rồi đấy. Big Grin bạn có thể đặt giá trị cho tất cả các biến trong block. VD:
    Template

    Quote:...








    ...

    PHP Code:
    PHP Code:
    ...
    $xtpl->set_null_string('no value..');
    $xtpl->set_null_string('no email specified!', 'EMAIL');
    $xtpl->parse('main.form');
    ...
    ?>
    Như vậy với ví dụ trên thì chỉ có {EMAIL} là được gán giá trị, còn lại sẽ được gán bằng giá trị đã khai báo ở trên. ( trong ví dụ là: no value... )
    Hàm set_null_string:

    Quote:set_null_string(giá trị cần gán,[biến cần gán]);

    Bài 5: block con và gán giá trị cho block.
    Trong 1 block bạn có thể khai báo các block con.
    VD:

    Quote:...

    Block o day

    Noi dung cua subblock1



    Noi dung cua subblock2



    ...


    Nếu bạn không parse các subblock thì chúng sẽ không được in ra.
    VD:
    PHP Code:
    ...
    $xtpl->parse('main.block');
    ...
    ?>
    Khi in ra sẽ chỉ có chữ: Block ở đây. Nếu muốn các block kia được in ra bạn phải parse chúng:
    PHP Code:
    ...
    $xtpl->parse('main.block');
    $xtpl->parse('main.block.subblock1');
    $xtpl->parse('main.block.subblock2');
    ...
    ?>

    Gán giá trị cho 1 block.

    Quote:set_null_block(giá trị cần gán,[tên block cần gán]);


    VD:
    PHP Code:
    ...
    $xtpl->set_null_block('block con!');
    $xtpl->set_null_block('Block1!', 'main.block.subblock1');
    $xtpl->parse('main.block');
    ...
    ?>
    Template:

    Quote:...


    blog con 1


    blog con 2

    ....

    ..


    Khi chạy subblock1 sẽ được in ra dòng chữ: Block1
    Còn subblock2 và tất cả các sublock trong block sẽ được in ra dòng chữ: block con
    Bài 6: Include 1 file.
    Để chèn 1 file vào template mà không cần thông qua PHP ta sẽ sử dụng hàm sau:

    Quote:{FILE "file cần chèn"}



    Có lẽ mình chỉ hướng dẫn tới đây thôi. Còn lại các bạn tự tìm hiểu nhé!
    Tài liệu tham khảo:
    - Document của Xtemplate
    Mọi thắc mắc xin post luôn tại topic này nhé, tớ sẽ trả lời các bạn
     
    root thích bài này.

Chia sẻ trang này