Submitted by nguyenbatbinh on Wed, 10/22/2008 - 14:39
Chào anh TH em đang học drupal muốn dùng nó để phát triển các ứng dụng web, viết module là theme.... cho nó.
- Anh có thể nói rõ cho em biết node trong drupal là gì? nó hoạt động thế nào? khi làm module cần quan tâm đến nó ra sao?
Submitted by nguyenbatbinh on Fri, 10/24/2008 - 11:13.
Anh TH cho em hỏi tí.
Em có làm một module nhỏ, vì chưa có biết cách sử dụng ajax trong drupal nên phải tạo ajax script riêng trong module đó. Nhưng khi dùng nó để truy suất cơ sở dữ liệu do cái file ajax gọi. Thì các hàm liên quan tới CSDL Mysqli không còn nữa(not connection, db_query không dùng được.) thế là đành phải tạo file fns.inc riêng đẻ kết nối.
Anh nói cho em biết cách xử lý việc này trong drupal với! Thanks
Hầu hết các request đi đến drupal site của bạn đều phải đi qua /index.php => quá trình bootstrap được thực hiện => các hàm chung chung, bao gồm cả các hàm làm việc với cơ sở dữ liệu được tải lên => Vậy là bạn gọi AJAX không đúng cách rồi. Cách thực hiện:
1. Trong hook_menu bạn đăng ký URI đến kịch bản tạo nội dung đáp trả cho AJAX request:
Submitted by quanvm (not verified) on Mon, 11/10/2008 - 15:19.
Chào bạn, vậy khi mình dùng ajax để load 1 select box, giả sử có select box quận + phường, chọn quận thì sẽ load các phường vào select 2, sau khi nhấn submit thì drupal thông báo lỗi "An illegal choice has been detected. Please contact the site administrator.". Bạn có cách giải quyết nào ở trường hợp này ko??
Submitted by Cong Thai (not verified) on Mon, 06/01/2009 - 11:54.
Vui lòng kiểm tra Permision, nếu Ok, thì phải vào code xem đoạn đó nó kiểm tra điều kiện gì? xem thỏa mãng không? nếu không thỏa mãng thì vui lòng fix lại. thân chào.
Comments
Trang nội dung đã viết
Bạn tham khảo trang này.
Thế Hồng
Ajax trong drupal
Anh TH cho em hỏi tí.
Em có làm một module nhỏ, vì chưa có biết cách sử dụng ajax trong drupal nên phải tạo ajax script riêng trong module đó. Nhưng khi dùng nó để truy suất cơ sở dữ liệu do cái file ajax gọi. Thì các hàm liên quan tới CSDL Mysqli không còn nữa(not connection, db_query không dùng được.) thế là đành phải tạo file fns.inc riêng đẻ kết nối.
Anh nói cho em biết cách xử lý việc này trong drupal với! Thanks
Ajax trong Drupal (6)
Hầu hết các request đi đến drupal site của bạn đều phải đi qua /index.php => quá trình bootstrap được thực hiện => các hàm chung chung, bao gồm cả các hàm làm việc với cơ sở dữ liệu được tải lên => Vậy là bạn gọi AJAX không đúng cách rồi. Cách thực hiện:
1. Trong hook_menu bạn đăng ký URI đến kịch bản tạo nội dung đáp trả cho AJAX request:
Drupal 6
<?php
/**
* Implementation of hook_menu
*/
function hook_menu () {
$items['path/to/ajax/callback'] = array (
'access arguments' => array ('access content'),
'page callback' => 'your_callback_name',
'type' => MENU_CALLBACK,
);
return $items;
}
?>
Đã đăng ký callback rồi, bây giờ bạn cần định nghĩa callback đó:
<?php/**
* Callback for your ajax request
*/
function your_callback_name () {
$output = "I am AJAX content...";
echo $output;
module_invoke_all ('exit');
exit;
}
?>
Đăng ký và định nghĩa xong rồi, giờ bạn sử dụng jQuery để thực hiện request tương tự như sau:
Thế Hồng
load select box
Chào bạn, vậy khi mình dùng ajax để load 1 select box, giả sử có select box quận + phường, chọn quận thì sẽ load các phường vào select 2, sau khi nhấn submit thì drupal thông báo lỗi "An illegal choice has been detected. Please contact the site administrator.". Bạn có cách giải quyết nào ở trường hợp này ko??
Vui lòng kiểm tra Permision,
Vui lòng kiểm tra Permision, nếu Ok, thì phải vào code xem đoạn đó nó kiểm tra điều kiện gì? xem thỏa mãng không? nếu không thỏa mãng thì vui lòng fix lại. thân chào.
Post new comment