2008-10-27 25 views
11

Tôi có mô-đun Profile, CCK và Views2 được cài đặt trên trang web Drupal 6. Tôi đã thêm một trường chuỗi vào hồ sơ người dùng. Tôi có thể lọc dễ dàng trên các giá trị đặt trước, thông qua trình xây dựng GUI của Views, thực sự độc đáo. Tuy nhiên, tôi muốn các tiêu chí lọc được đặt động dựa trên các biến môi trường khác (cụ thể là $_SERVER['SERVER_NAME']).Làm cách nào để tạo bộ lọc tùy chỉnh cho Mô-đun Chế độ xem của Drupal?

Có cơ bản 'Làm cách nào để viết-một-tùy chỉnh-drupal-lượt xem-bộ lọc' ở đâu đó ngoài kia? Tôi đã tìm kiếm thông qua các tài liệu, nhưng nó không rõ ràng cho tâm trí đơn giản của tôi về cách làm điều đó.

Trả lời

0

Có khả năng, đã xem xét các loại bộ lọc được cài đặt cho trang web của riêng tôi, bộ lọc phải dựa trên một số trường cơ sở dữ liệu, trong trường hợp đó, những gì bạn đang cố gắng đạt được là không thể. Dường như các bộ lọc cung cấp mệnh đề WHERE cho truy vấn SQL được tạo ra.

Đã nói tất cả điều đó, nếu bạn muốn theo đuổi thêm, đặt cược tốt nhất của bạn là bắt đầu với một mô-đun đã cung cấp bộ lọc cho Chế độ xem. Có các bộ lọc được cung cấp với Chế độ xem cho mô-đun Nút; Ngoài ra, bạn có thể xem số audio module cũng cung cấp một số bộ lọc. Ngoài ra, việc đăng lên diễn đàn Drupal hoặc danh sách hỗ trợ có thể bật lên một mô-đun khác cho phép bạn đạt được những gì bạn đang cố gắng.

0

có bạn có thể làm điều đó. Thử sử dụng mô-đun "chặn bộ lọc lượt xem". Khi bạn bật khối .. hãy trích xuất html của khối từ "nguồn xem" khi xem trang. Bây giờ vô hiệu hóa "khối bộ lọc lượt xem" ... tạo khối tùy chỉnh của riêng bạn .. thêm mã vào nó với bất kỳ css nào bạn muốn làm cho nó trông đẹp mắt. Trong mã này sử dụng php để tự động chỉ định những gì bạn muốn cho bộ lọc ban đầu được lựa chọn. Hãy chắc chắn rằng bạn thực sự chọn lĩnh vực bộ lọc dựa trên .. sau đó trong khối php tùy chỉnh sử dụng mã php để viết điều kiện IF để kiểm tra giá trị server_name và gán cho biến lọc giá trị phù hợp. "

Có lẽ có thể các cách khác (có thể tốt hơn) để làm điều đó để viết một mô-đun để sử dụng bộ lọc. Vì vậy, đây chỉ là một gợi ý, hãy thử "Views PHP Filter". .

  • của thành viên drupal (username drupal: drupdrips)
3

Bạn có thể tạo yo chức năng riêng của ur như sau để thêm bộ lọc của riêng bạn.

<?php custom_views_embed_view($view_name, $display_id) { 
$view = views_get_view($view_name); 
$view->set_display($display_id); 
$id = $view->add_item($display_id, 'filter', 'node', 'created', 
         array('value' => array('type' => 'date', 'value' => date('c')), 'operator' => '<=')); 
return $view->execute_display($display_id); 
} 
?> 
+0

@AbhiG có bao giờ bạn thử phương pháp này? đây có vẻ là một đoạn mã thú vị. tôi nên đặt mã của tôi trong nhà điều hành, thay thế '<=' phải không? –

0

Bạn có thể sử dụng viewsphpfilter mô-đun cho phép xem bộ lọc bởi node id. tuy nhiên có một miếng vá nếu bạn cần mở rộng này cho user views

Các vấn đề liên quan