Share code nâng cao ego biến toàn cục

22 bài đăng
02.04.2016 / 17:18
thaian2009
Bài đăng: 709
Member

Đối với code này bạn có thể set một biến hay 1 hàm từ 1 item Twig đến item Twig khác hoặc từ item đến shoutbox trong một file hoặc liên kết file.

Để dễ hiểu hơn hãy làm theo các bước

Tạo 1 file

Thêm mã Twig điền cái này vào:

TWIG
  1. {{_self.env.addGlobal('thaian',thaian2009)}}

Thêm mã Twig nữa điền cái này vào:

TWIG
  1. {{_self.env.agetGlobals('thaian'}}

Bạn thấy nó hiện là thaian2009

Thêm cái này vào shoutbox ô 1 kết quả cũng tương tự

TWIG
  1. {{_self.env.agetGlobals('thaian'}}

Có nghĩa là nó có thể lấy giá trị đó từ các giá trị được set vào thaian ở phía trên.

------------------------------------------------------------------

Chưa dừng tại đó An sẽ chỉ các bạn thêm 1 hàm vào Globals

Trong ego có sẵn 2 Globals là ses kiểu string là biến ses và api kiểu function lưu giữ các function kết nối đến Request và User data

An sẽ thêm một Globals mới là function thaian2009

Làm theo để hiểu cách hoạt động.

Tạo 1 file

Thêm Twig

TWIG
  1. {%macro ham(giatri)%}
  2. <b>{{giatri}}</b>
  3. {%endmacro%}
  4. {%import _self as thaian2009%}
  5. {{_self.env.addGlobal('thaian',thaian2009)}}

Thêm mã Twig hoặc shoutbox hoặc sự kiện

TWIG
  1. {{_self.env.getGlobals()['thaian'].ham('văn bản')}}

msS

Nguồn: http://chonguoivotinh.wap.mu vs http://cobethoitiet.wap.mu

Đã chỉnh sửa. MrKen (02.04.2016 / 17:37)
02.04.2016 / 18:50
Cvhungs20
Bài đăng: 55
Member
Vnlove.tk

cái này dùng đc khi sử dụng include site không anh

02.04.2016 / 19:06
thaian2009
Bài đăng: 709
Member
@cvhungs20 đã viết

cái này dùng đc khi sử dụng include site không anh

em test đi =]

02.04.2016 / 20:06
Cvhungs20
Bài đăng: 55
Member
Vnlove.tk

sao không đc nhỉ anh

03.04.2016 / 08:23
b0ysh0ckhn
Bài đăng: 1146
Member
Nguyễn Minh Phương

ego k cho include thì code này cũng vô ích

03.04.2016 / 10:33
thaian2009
Bài đăng: 709
Member
b0ysh0ck_hn đã viết

ego k cho include thì code này cũng vô ích

Include được vì nó render chung 1 class

03.04.2016 / 10:34
thaian2009
Bài đăng: 709
Member
@cvhungs20 đã viết

sao không đc nhỉ anh

Được em. Có thể viết tất cả macro chung 1 file xong include vào file khác để xử dụng..

03.04.2016 / 10:38
thaian2009
Bài đăng: 709
Member

Cách include như sau:

Tạo file đặt tên là "Include macro"

Thêm Twig chèn cái này vào

TWIG
  1. {%macro ham(giatri)%}
  2. <b>{{giatri|slice(0,3)}}</b> Nội dung khác
  3. {%endmacro%}
  4. {%import _self as thaian2009%}
  5. {{_self.env.addGlobal('thaian',thaian2009)}}

Tạo file thứ 2 tên "Index"

Thêm Bao gồm các tập tin khởi tạo khác chọn file Include macro

Thêm Twig

TWIG
  1. {{_self.env.getGlobals()['thaian'].ham('văn bản')}}
03.04.2016 / 13:05
b0ysh0ckhn
Bài đăng: 1146
Member
Nguyễn Minh Phương

code sd đc cho toàn trang chứ

03.04.2016 / 14:24
thaian2009
Bài đăng: 709
Member
b0ysh0ck_hn đã viết

code sd đc cho toàn trang chứ

Được mà. Phương test thử đi ^^