Lâu rồi mình chưa share gì cho anh em, bữa nay rảnh, mình ngồi tách code từ CFĐ cho anh em xài đỡ. Mình không biết gọi hàm này như thế nào cho phù hợp, nên mình gọi tạm là hàm bố cục (layout) nhé, có gì sai sót thì anh em góp ý cho em chỉnh sửa và rút kinh nghiệm ạ.
Đầu tiên, anh em ném đoạn code sau vào tệp hàm, và chỉnh sửa func tương ứng sao cho phù hợp với code của anh em. Mình đặt tạm là tệp '_functions', có nội dung như sau:
{% macro layout() %}{# lấy phiên bản hệ điều hành và đưa ra kiểu bố cục, nếu là khách thì lưu vào cookie #}{% set android = user_agent()|split(';').1 %}{% set ver_android = (android|split('d ').1)|split('.')[0] %}{% if ver_android <= 3 or 'MIDP' in user_agent()|lower or 'midp' in user_agent()|lower %}{% set layout = '0' %}{% else %}{% set layout = '1' %}{% endif %}{% if get_cookie('layout')=='' %}{{set_cookie('layout',layout)}}{% elseif get_get('layout')=='change' %}{% if get_cookie('layout')=='0' %}{{set_cookie('layout','1')}}{% else %}{{set_cookie('layout','0')}}{% endif %}{% endif %}{{get_cookie('layout')}}{% endmacro %}
{% macro layout() %}{# lấy phiên bản hệ điều hành và đưa ra kiểu bố cục, nếu là khách thì lưu vào cookie #}{% set android = user_agent()|split(';').1 %}{% set ver_android = (android|split('d ').1)|split('.')[0] %}{% if ver_android <= 3 or 'MIDP' in user_agent()|lower or 'midp' in user_agent()|lower %}{% set layout = '0' %}{% else %}{% set layout = '1' %}{% endif %}{% if get_cookie('layout')=='' %}{{set_cookie('layout',layout)}}{% elseif get_get('layout')=='change' %}{% if get_cookie('layout')=='0' %}{{set_cookie('layout','1')}}{% else %}{{set_cookie('layout','0')}}{% endif %}{% endif %}{{get_cookie('layout')}}{% endmacro %}
Cách dùng cũng khá là đơn giản thôi, tức là anh em import hàm vào tệp cần sử dụng là được. Code như sau:
{% import '_functions' as func %}{% set layout = func.layout()|trim %}{% if layout=='0' %}bố cục web đối với trình duyệt chạy trên nền tảng MIDP hoặc hệ điều hành android từ 3.0 trở xuống{% else %}bố cục web đối với hệ điều hành android 4.0 trở lên hoặc các nền tảng khác ngoài MIDP{% endif %}
{% import '_functions' as func %}{% set layout = func.layout()|trim %}{% if layout=='0' %}bố cục web đối với trình duyệt chạy trên nền tảng MIDP hoặc hệ điều hành android từ 3.0 trở xuống{% else %}bố cục web đối với hệ điều hành android 4.0 trở lên hoặc các nền tảng khác ngoài MIDP{% endif %}
Nếu người dùng muốn chuyển giao diện bố cục trang web thì chỉ cần truy cập: link-web/?layout=change là được.
Chúc anh em thành công!
Bài viết được chia sẻ tại: Valeric.Viwap.Com