1. Hãy ủng hộ PhienBanMoi.Com bằng cách LIKE trang FANPAGE , GOOGLE+ dưới mỗi bài viết hoặc chia sẻ website nếu thấy hữu ích. Trân trọng cảm ơn!
  2. [Thông Báo] Tuyển thành viên viết bài KIẾM TIỀN trên PhienBanMoi.Com


    Nhằm mục đích phát triển Phienbanmoi.com hơn nữa, có thêm các bài viết thông tin thực sự hữu ích từ những thành viên tích cực. BQT đã quyến định tạo ra cơ hội kiếm tiền từ các bài viết được đăng tải và chia sẻ trên diễn đàn

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 Thành Viên Cống Hiến

    11
    11
    0

    Lượt xem: 2,204


    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
     

    Bình Luận Bằng Facebook

    root thích bài này.

Chia sẻ trang này