Code auto mobile/desktop cực đơn giản cho Wap4

Đầu tiên, anh em ném đoạn code sau vào tệp chứa các macro, 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() %}

{% set UA = user_agent()|lower %}

{% import '_functions' as func %}

{% if func.signin()|trim and func.get('user_'~func.signin()|trim,'layout')=='web' %}

{% set layout = 'web' %}

{% else %}

{% if 'red hat' in UA or 'dropline' in UA or 'suse' in UA or 'mandriva' in UA or 'windows nt' in UA or 'windows xp' in UA or 'windows me' in UA or 'win98' in UA or 'win95' in UA or 'win16' in UA or 'linux' in UA and 'android' not in UA or 'ubuntu' in UA or 'kubuntu' in UA or 'debian' in UA or 'centos' in UA or 'macintosh|mac os x' in UA or 'mac_powerpc' in UA %}

{% set layout = 'web' %}

{% else %}

{% set layout = 'wap' %}

{% endif %}

{% endif %}

{{layout}}

{% endmacro %}

Bản này đỡ siđa hơn bản trước (chỉ phân chia bố cục giữa android đời cũ và điện thoại chạy nền tảng MIDP).


Cách dùng: Import hàm vào nơi cần sử dụng.

{% import '_functions' as func %}

{% if func.layout()|trim == 'web' %}

code cho giao diện web

{% else %}

code code giao diện wap

{% endif %}


Đề mô:  

WEB

tấm này mình chụp màn hình bằng điện thoại, nên không được chất lượng lắm...





- - - Bản trước - - -

{% macro layout() %}{% 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:

{% 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 %}

Chuyển đổi giao diện: domain/?layout=change