Tôi đã thêm trường tùy chỉnh được gọi là 'field_header' vào loại nội dung trang cơ bản. Làm cách nào để truy cập trường này trên mẫu page.tpl.php để tôi có thể hiển thị ở bất cứ nơi nào tôi muốn? Lý tưởng nhất là tôi cũng muốn xóa nó khỏi nội dung $. Cảm ơn!Drupal 7 cách hiển thị trường tùy chỉnh
7
A
Trả lời
10
Đừng quên không phải mọi trang đều nhất thiết phải là trang nút, vì vậy bạn thực sự nên cố gắng truy cập trang này trong node.tpl.php
, chứ không phải page.tpl.php
.
Trong node.tpl.php
bạn có thể làm cho lĩnh vực cụ thể như thế này:
echo render($content['field_header']);
hide($content['field_header']); // This line isn't necessary as the field has already been rendered, but I've left it here to show how to hide part of a render array in general.
Nếu bạn hoàn toàn phải làm điều này trong page.tpl.php
sau đó bạn muốn thực hiện một chức năng preprocess trong mẫu tập tin của bạn để có được những biến bạn cần:
function mymodule_preproces_page(&$vars) {
if ($node = menu_get_object() && $node->type == 'page') {
$view = node_view($node);
$vars['my_header'] = render($view['field_header']);
}
}
Sau đó, trong page.tpl.php
bạn sẽ có quyền truy cập vào biến $my_header
mà sẽ chứa trường trả lại đầy đủ của bạn.
1
Trong node.tpl của bạn, bạn phải sử dụng mã sau đây, đối với tên trường ví dụ: field_header
<!-- For Showing only custom field's Value Use below code -->
<h2 class="title"><?php print $node->field_header['und']['0']['value'];?></h2>
<!-- ========================= OR ========================= -->
<!-- For Showing custom field Use below code , which shows custom field's value and title-->
<h2 class="title"><?php print render(field_view_field('node', $node, 'field_header')); ?></h2>
<!-- ========================= OR ========================= -->
<h2 class="title"><?php print render($content['field_header']); ?></h2>
0
từ page.tpl.php bạn có quyền truy cập vào $ node và vì vậy tất cả các lĩnh vực từ $ node
print ($node->body['und']['0']['value']);
Các vấn đề liên quan
- 1. Drupal 7 - xem tùy chỉnh với bảng tùy chỉnh, không có dữ liệu nào hiển thị
- 2. Drupal 7: Truy cập trường nút tùy chỉnh trong page.tpl.php
- 3. Thêm lĩnh vực CCK mẫu tùy chỉnh trong Drupal 7
- 4. Trang Thuật ngữ Phân loại Tùy chỉnh trong Drupal 7
- 5. Nhận giá trị của trường người dùng tùy chỉnh trong mẫu Drupal 7?
- 6. Trường nhóm/lĩnh vực có điều kiện trong Drupal 7
- 7. Hiển thị QDockWidget tùy chỉnh
- 8. Biểu mẫu Nút tùy chỉnh Drupal
- 9. Thêm bộ lọc tùy chỉnh vào chế độ xem trong Drupal 7
- 10. Làm cách nào để tạo mã thông báo tùy chỉnh trong Drupal 7?
- 11. Drupal 7 drupal_mail tước HTML?
- 12. Hiển thị JSlider với LabelTable tùy chỉnh
- 13. Drupal: Lượt xem: cách nhóm các trường
- 14. Mẫu menu tùy chỉnh ghi đè Drupal
- 15. Ẩn Tiêu đề Webform trong drupal 7
- 16. Trình đơn tùy chỉnh Drupal định vị
- 17. Drupal 7 views_embed_view và mẫu
- 18. cách hiển thị dữ liệu tùy chỉnh từ các loại bài đăng tùy chỉnh
- 19. Drupal 7 không hiển thị khối tìm kiếm mà không cần đăng nhập
- 20. Drupal: drupal_set_message không hiển thị thông báo
- 21. drupal 7 Cơ sở dữ liệu truy vấn và kết quả hiển thị sau khi gửi biểu mẫu trong mô-đun tùy chỉnh
- 22. Drupal 7 - entityFieldQuery Order
- 23. drupal 7 mô-đun mới liên kết cài đặt không hiển thị
- 24. Hiển thị trình hiển thị lỗi "không thể tải trình xem tùy chỉnh này"
- 25. Làm cách nào để xuất một trường hình ảnh drupal?
- 26. SonataAdminBundle hiển thị tùy chỉnh các trường văn bản trong danh sách
- 27. Hiển thị các trường riêng lẻ trong mẫu theo một mẫu tùy chỉnh
- 28. Cách thêm JS vào Drupal 7
- 29. Phong cách Drupal 7 đăng nhập trang
- 30. Hiển thị xsl tùy chỉnh cho trường tra cứu trong dạng xem danh sách (SharePoint 2010)
Cảm ơn! Tôi cần phải đặt tiêu đề của tôi ở một nơi cụ thể vì vậy tôi đã thử tùy chọn thứ hai của bạn, nhưng tôi không thể làm cho nó hoạt động. May mắn thay bằng cách sử dụng tùy chọn đầu tiên (và một số jQuery), tôi đã có thể giải quyết vấn đề của mình. Tôi tự hỏi tại sao echo $ vars ['my_header] không hoạt động trong trang của tôi.tpl.php – martincho
Bạn sẽ không cần $ vars [' my_header '] trong page.tpl.php trong trường hợp đó, chỉ $ my_header là đủ. – Jasmo
Cảm ơn câu trả lời đơn giản nhưng hiệu quả này. – Drake