drupal

Thêm views filter cho các date field

Date là một module rất tốt để bổ sung các field date/date time cho các kiểu dữ liệu. Tuy nhiên, các field này lại không hỗ trợ views-filter, cho nên chúng ta không thể sử dụng views để lọc bớt nội dung dựa trên các field này. Để thực hiện điều này, chúng ta cần phải viết module bổ sung.

Module testimonials

Module cho phép người dùng tạo testimonial, tổ chức theo groups, mỗi groups được phát sinh một block tương ứng. Có thể tùy chỉnh các tiêu chí trình bày dựa trên mỗi group.

Trình bày block, trường hợp JS không được kích hoạt, một testimonial ngẫu nhiên thuộc group sẽ hiển thị. Nếu JS được kích hoạt, lần lượt các testimonials trong group sẽ được hiển thị, hiệu ứng nhẹ nhàng được sử dụng trong lúc các testimonials chuyển đổi.

Download ở đây: testimonials-6.x-1.x-dev.zip

Thế Hồng

Dùng chung thông tin người dùng cho nhiều Drupal site

Bạn có nhiêu drupal site khác nhau, nhưng muốn người dùng của website này cũng có thể sử dụng cùng thông tin đăng nhập ở các website khác, thông tin thay đổi ở site này, kéo theo thông tin ở các site khác cũng thay đổi, ... Tôi có một kinh nghiệm nhỏ của tôi ở project gần đây để xử lý việc này khá đơn giản.

hook_menu_alter làm được lắm trò

Hệ thống menu ở Drupal 6 đã được cải tiến rất nhiều, đẹp hơn, gọn hơn và uyển chuyển hơn. Đáng kể nhất ở đây là hook_menu_alter đã được thêm vào, giúp người thảo chương thực hiện một số thao tác tưởng chừng khó mà nay rất dễ.

Các bước để Drupal xây dựng cấu trúc menu là:
1. Gọi các hook_menu của các module để lấy về các menu items.
2*. Gọi hook_menu_alter của các module, cho phép chúng thay đổi tuỳ ý cấu trúc menu vừa được thu lượm.
3. Lưu cấu trúc menu items đã được alter vào CSDL.

Một trang trong Drupal được định nghĩa đầy đủ bởi một menu item, bao gồm, path, quyền truy cập, tiêu đề trang, callback, ... như vậy, thay đổi cấu trúc một menu item, có dẫn đến việc thay đổi hoàn toàn một trang đang có.
Hệ thống menu ở Drupal 6 đã được cải tiến rất nhiều, đẹp hơn, gọn hơn và uyển chuyển hơn. Đáng kể nhất ở đây là hook_menu_alter đã được thêm vào, giúp người thảo chương thực hiện một số thao tác tưởng chừng khó mà nay rất dễ.

Các bước để Drupal xây dựng cấu trúc menu là:
1. Gọi các hook_menu của các module để lấy về các menu items.
2*. Gọi hook_menu_alter của các module, cho phép chúng thay đổi tuỳ ý cấu trúc menu vừa được thu lượm.
3. Lưu cấu trúc menu items đã được alter vào CSDL.

Một trang trong Drupal được định nghĩa đầy đủ bởi một menu item, bao gồm, path, quyền truy cập, tiêu đề trang, callback, ... như vậy, thay đổi cấu trúc một menu item, có dẫn đến việc thay đổi hoàn toàn một trang đang có.

Tự động đánh thẻ

Một trong số các chiêu SEO là làm sao cho người dùng, hay máy đọc, đi hết trang này đến trang kia trong site. Đối với Drupal, sử dụng free tags có lẽ là cách phù hợp. Nhưng nếu có thêm được tính năng, dựa vào nội dung bài viết rồi Drupal tự động đánh thẻ thì hay biết mấy (^_^) và nếu như ở trang node details cụ thể, nếu có được tính năng, từ những tags được đánh cho node, Drupal tự phát sinh các term liên quan, thì còn gì bằng! Module cho các tính năng đó, sẽ không khó thực hiện (bạn dành thời gian code Drupal nhé).

Chuẩn lập trình Drupal, phần 1: Tổ chức tập tin và thư mục

"Chín người, mười ý", làm sao có thể cùng làm việc chung với nhau? Chỉ có một cách là đặt ra một quy ước chung, gọi là chuẩn, và mọi người trong cùng project đó *buộc* phải tuân thủ. Chuẩn chỉ là quy ước chung, không phải là cái tốt nhất, do đó, chuẩn có thể sẽ thay đổi để tốt hơn, phù hợp hơn với nhóm làm việc.

Chuẩn trong lập trình có các mục:
1. Tổ chức thư mục và tập tin
2. Chuẩn viết mã PHP
3. Chuẩn viết mã SQL
4. Chuẩn viết mã CSS
5. Chuẩn viết mã Javascript

Ở phần đầu tiên này, tôi xin đề cập đến "Tổ chức thư mục và tập tin".

Hack để cài đặt Drupal trên server với register_global = ON

Bạn không thể cài đặt Drupal nếu như server thiết lập tính năng register_globals thành ON. Năn nỉ hoài mà quản lý server không chịu cấu hình lại server => Đành phải hack code.

Mở file /modules/system/system.install, tìm hàm system_requirements(), tìm dòng:

<?php
  
if (!empty($register_globals) && strtolower($register_globals) !=
'off') {
?>

Sửa thành:

<?php
  
if (
    
false // toila.net's HACK: !empty($register_globals) &&
strtolower($register_globals) != 'off'
  
) {
?>

Sử dụng hack này cực kỳ rủi ro nhé, google thử sẽ ra
một vài thí dụ.

:-)

Thế Hồng

Syndicate content