© 2017 Pblog.TK Nhận Thiết Kế Wap/Web Giá Rẻ. Inbox - 01226209308 !!

Share function Rewrite URL dạng đẹp bằng TWIG

Đăng Cách đây 10 tháng bởi Poker |

Như các bạn đã biết, URL có ảnh hưởng rất lớn và rất quan trọng trong SEO. Việc làm đẹp URL cho trang web của bạn sẽ giúp các SE đánh giá cao trang web hơn từ đó tối ưu hoá công cụ tìm kiếm! Làm đẹp URL thực chất là việc viết lại URL. Nếu bạn đang sử dụng hosting có thể sử dụng file .htaccess, còn trên Xtgem ta phải dùng code để làm điều đó. Có thể bạn đã biết, URL bài viết của blog Xtgem khi tiêu đề bằng tiếng việt sẽ rất xấu. Tuy nhiên ta có thể cải thiện điều đó, trên URL của blog dạngdomain/__xtblog_entry/id-ten-bai-vietthì id là thứ quan trọng nhất còn tên bài viết phía sau ta có thể tùy chỉnh. Hôm nay mình sẽ chia sẻ cho các bạnfunction rewrite URL bằng TWIGviết lại URL tuyệt đẹp, không lỗi tiếng việt, loại bỏ các kí tự đặc biệt khỏi URL!tạo slug cho SEO friendly bằng twig


Hướng dẫn sử dụng function rewrite URL bằng TWIG

- Trước tiên để sử dụng TWIG bạn phải đang thao tác với xtblog, xtforum, xtchat hay xtguestbook nhá. Tạo file function.twig trong thư mục_xtgem_templatespost code:
Copy Code
{% macro rwurl(url) %} {# function rewrite url bởi RoSino18k #} {% set url = url|lower|replace({'á':'a','à':'a','ả':'a','ã':'a','ạ':'a','ă':'a','ắ':'a','ằ':'a','ẳ':'a','ẵ':'a','ặ':'a','â':'a','ấ':'a','ầ':'a','ẩ':'a','ẫ':'a','ậ':'a','æ':'a','ä':'a','đ':'d','ð':'d','é':'e','è':'e','ẻ':'e','ẽ':'e','ẹ':'e','ê':'e','ế':'e','ề':'e','ể':'e','ễ':'e','ệ':'e','í':'i','ì':'i','ỉ':'i','ĩ':'i','ị':'i','ï':'i','î':'i','ó':'o','ò':'o','ỏ':'o','õ':'o','ọ':'o','ô':'o','ố':'o','ồ':'o','ổ':'o','ỗ':'o','ộ':'o','ơ':'o','ớ':'o','ờ':'o','ở':'o','ỡ':'o','ợ':'o','ö':'o','ø':'o','ú':'u','ù':'u','ủ':'u','ũ':'u','ụ':'u','ư':'u','ứ':'u','ừ':'u','ử':'u','ữ':'u','ự':'u','ü':'u','û':'u','ý':'y','ỳ':'y','ỷ':'y','ỵ':'y','ỹ':'y'}) %}{% set url = url|url_encode|replace({'%20':'-','~':'-','.':'-','--':'-'}) %}{% if '%' in url %}{% for pt in url|split('%') %}{% if pt matches '/^[A-Z0-9][A-Z0-9]/' %}{% set cut = '%'~pt[:2] %}{% set url = url|replace({(cut):'-'}) %}{% endif %}{% endfor %}{% endif %}{% set url = url|replace({'--':'-'})|trim('-') %}{{url}}{% endmacro %}

Nguyên lí hoạt động đó là code sẽ thay thế các kí tự tiếng việt thành các kí tự không dấu. Tiếp theo bộ lọc url_encode sẽ chuyển các kí tự đặc biệt về dạng chuẩn ASCII. Tiếp tục replace các dấu cách, ~, dấu chấm thành kí tự gạch ngang, chạy vòng lặp xoá đi những kí tự đặc biệt khỏi URL. Cuối cùng là rút ngắn nhiều kí tự gạch ngang thành 1 kí tự và xoá bỏ kí tự này ở 2 đầu chuỗi.

- Tại file muốn sử dụng bạn sử dụng code:

Copy Code
{% import 'function.twig' as func %} {{func.rwurl(var)}}

với var là biến chứa chuỗi cần rewrite

hoặc nếu function nằm ngay trên file bạn đang code có thể sử dụng cú pháp ngắn gọn

Copy Code
{{_self.rwurl(var)}}

Ví dụ:

Copy Code
{{func.rwurl('Bài viết mới!')}}

sẽ có kết quả là:

bai-viet-moi

Chúc các bạn thành công!

Bình Luận Bài Viết

Cùng Chuyên Mục