Làm cách nào để in phần thân của một nút? [đóng cửa]


11

Tôi đang cố gắng tìm ra cách in phần thân nút trên một trang.

Tôi thường sử dụng một cái gì đó như thế này print $node->field_manufacturer[0]['view'];nhưng tôi không chắc làm thế nào để in phần thân của một nút.

Làm thế nào tôi có thể đạt được nó?

Câu trả lời:


3

Bạn có thể xem toàn bộ cấu trúc và nội dung của một nút bằng cách viết:

<pre><?php print_r($node); ?></pre>

Và sau đó chọn những gì thấy phù hợp.

Để in thân nút, bạn nên sử dụng $node->content['body']['#value'].


Tôi đã thử điều đó. Nó mang đến tất cả các thông tin. Cụ thể là lĩnh vực tùy chỉnh tôi đã tạo. Nhưng tôi không chắc chắn chính xác làm thế nào để in cơ thể (một lĩnh vực luôn luôn ở đó).
Sam Warren

1
Id trả lời câu hỏi của riêng tôi nhưng các hạn chế ngăn tôi: # điều này hiệu quả với tôi: in $ node-> content ['body'] ['# value'];
Sam Warren

16

Đối với Drupal 7, một phong cách tốt hơn là sử dụng field_get_items. Ví dụ:

<?php
  $body = field_get_items('node',$node, 'body');
  print $body[0]['value'];
?>

14

Chỉ cần thử điều này cho Drupal 7

<?php print render($content['body'])?>

Xin chào và chào mừng. Câu trả lời chỉ có mã không phải là câu trả lời tốt nhất có thể. Bạn có thể giải thích chính xác đoạn trích này được cho là như thế nào để trả lời vấn đề OP không?
Mołot

renderthường được sử dụng bên trong các .tpl.phpmẫu để định dạng các thành phần bằng cách sử dụng thông tin bố cục trong mảng kết xuất, xem ví dụ themery.com/dgd7/advified-theming/render
Maine

10

Nếu $nodelà một đối tượng nút thu được ví dụ với node_load(), trong Drupal 7 thì đây là cấu trúc của $node->body.

ảnh chụp màn hình

Ngôn ngữ được đặt cho nút tôi sử dụng trong ảnh chụp màn hình là tiếng Anh và định dạng đầu vào là HTML đầy đủ. Theo như tôi có thể thấy, nội dung của phần thân luôn được chứa trong chỉ mục "und", bất kỳ ngôn ngữ nào đã được đặt cho nút.

Trong Drupal 6, $node->bodylà một chuỗi.

Nếu bạn thực hiện hook_nodeapi('view')(Drupal 6) hoặc hook_node_view()(Drupal 7), nội dung của cơ thể được tìm thấy, tương ứng, với $node->content['body']['#value'], và $node->content['body'][0]['#markup'].

ảnh chụp màn hình


3

ngày 7:

 <?php print $node->body['und'][0]['value'] ?>

LANGUAGE_NONE thay vì und
GwenM

0

Sau đây thường hoạt động:

<?php print $node->body['value']; ?>

Chỉ cần thử nó. Không có lỗi xuất hiện nhưng cũng không có bất kỳ nội dung nào ngoại trừ ">" Bạn có biết điều gì có thể gây ra điều này không?
Sam Warren

0

Có lẽ hơi muộn, nhưng hãy thử những điều sau, nếu bạn đang sử dụng Drupal 6.

     <?php print $node->content['body']['#value'] ?>
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.