2011-06-22 16 views
5

Tôi đang cố tạo trang Thuật ngữ Phân loại tùy chỉnh trong Drupal 7. Tôi đã tạo tệp trang - taxonomy.tpl.php trong thư mục mẫu của mình. Tệp chỉ in ra một tin nhắn. Bây giờ tôi cố gắng ép buộc tệp mẫu bằng cách thêmTrang Thuật ngữ Phân loại Tùy chỉnh trong Drupal 7

function template_preprocess_page($variables) { 
    if (arg(0) == 'taxonomy') { 
    $variables['template_file'] = 'page--taxonomy-tpl'; 
    } 
} 

trong template.php của tôi, nhưng nó sẽ không hoạt động. Bạn có thể giúp tôi được không? Và nếu tôi nhận được trang tùy chỉnh làm việc, làm cách nào để tìm nạp các nút với thuật ngữ này (trong trang - taxonomy.tpl.php)? Cảm ơn trước.

Trả lời

8

Hãy thử sử dụng này trong template.php của bạn:

function template_preprocess_page(&$variables) { 
    if (arg(0) == 'taxonomy') { 
    $variables['theme_hook_suggestions'][] = 'page__taxonomy'; 
    } 
} 
  • Bạn cần phải vượt qua $variables bằng cách tham khảo, vì vậy thêm một & trước khi nó
  • template_file đã thay đổi để theme_hook_suggestions trong Drupal 7
  • Bạn không cần -tpl trong đề xuất mẫu trừ khi bạn muốn nó là một phần của tên tệp như "page - taxonomy-tpl.tpl.php" mà tôi không nghĩ là những gì bạn muốn.

Để biết thêm thông tin, hãy kiểm tra template_preprocess_page(), theme_get_suggestions()Working with template suggestions

+0

Cảm ơn bạn đời - nó hoạt động! Tuy nhiên đây có phải là cách tiếp cận tốt nhất cho trang Phân loại tùy chỉnh không? Tôi muốn sử dụng tất cả các vùng của mẫu của tôi và chỉ cần tạo "nội dung chính" tùy chỉnh. Điều này có nghĩa không? Mẫu này sẽ chỉ ghi đè lên tất cả mọi thứ .. –

+0

@ s0mmer Tôi nghĩ rằng đây là cách nó phải được thực hiện. Nó đang tạo bố cục cho toàn bộ trang, không chỉ là nội dung chính. Vì vậy, nếu bạn muốn tất cả các khu vực bình thường của bạn và như vậy, mở page.tpl.php và sao chép/dán nó vào trang - taxonomy.tpl.php, sau đó từ đó bạn có thể tùy chỉnh tuy nhiên bạn thích và sẽ có khu vực bình thường của bạn, vv – Laxman13

2

Không chắc chắn nếu điều này sẽ đáp ứng yêu cầu của bạn, nhưng một trong những quan điểm mặc định D7 - hạn Phân loại - giả lập xử lý Drupal lõi của trang phân loại/hạn. Bạn có thể kích hoạt nó (nó sẽ tự động thay thế các URL phân loại chính của Drupal), và sau đó làm bất cứ thứ gì bạn muốn với nó, giữ cấu trúc trang gốc, tất cả các khối vv, sử dụng các mẫu trang của Views (xem "Thông tin theo chủ đề" trong "Nâng cao") và tất cả các chuông và còi khác ...

0

Vì bạn đang sử dụng Drupal 7, bạn cũng có thể tạo ra một tên tập tin "taxnomy-term.tpl.php" và chỉnh sửa theo yêu cầu của bạn.

Xem taxonomy-term.tpl.php