我有一個學生在drupal 7書籍產品,他們有一個伴侶老師的書產品。我想創建一個視圖模式,用於呈現學生用書(產品展示)以及對教師用書的實體參考,這也是一本書產品。 事情是我可以顯示id,標題或呈現實體,但不顯示其他實體字段。我想顯示的是:實體引用在視圖模式下使用其他字段
學生ISDN:_ __ _ __
教師的ISDN:_ __ _ __
...其它產品字段(學生)...
我已經嘗試了幾個模塊,如dis玩套房但沒什麼,你能幫忙嗎?我錯過了什麼?
我有一個學生在drupal 7書籍產品,他們有一個伴侶老師的書產品。我想創建一個視圖模式,用於呈現學生用書(產品展示)以及對教師用書的實體參考,這也是一本書產品。 事情是我可以顯示id,標題或呈現實體,但不顯示其他實體字段。我想顯示的是:實體引用在視圖模式下使用其他字段
學生ISDN:_ __ _ __
教師的ISDN:_ __ _ __
...其它產品字段(學生)...
我已經嘗試了幾個模塊,如dis玩套房但沒什麼,你能幫忙嗎?我錯過了什麼?
我就是這麼做的:
// Initial weight
$weight = 2;
// Student's book entity
$student_book_entity = $node->field_student_book[LANGUAGE_NONE][0]['entity'];
// Get Student's book ISBN and alter some attributes
$student_isbn_field = array_merge(field_view_field('commerce_product', $student_book_entity, 'field_book_isbn'), array(
'#field_name' => 'field_students_book_isbn',
'#title' => t('Student\'s Book ISBN'),
'#weight' => $weight++,
)
);
$node->content['field_students_book_isbn'] = $student_isbn_field;
// Teacher's book entity
$teachers_book_entity = $node->field_teacher_book[LANGUAGE_NONE][0]['entity'];
// Get Teacher's book ISBN and alter some attributes
$teacher_isbn_field = array_merge(field_view_field('commerce_product', $teachers_book_entity, 'field_book_isbn'), array(
'#field_name' => 'field_teachers_book_isbn',
'#title' => t('Teacher\'s Book ISBN'),
'#weight' => $weight++,
)
);
$node->content['field_teachers_book_isbn'] = $teacher_isbn_field;
一個快速解決方案是爲您的內容類型創建一個新的節點模板。例如:node--student.tpl.php
,然後使用以下代碼作爲示例:
$referenced_node = node_load($node->field_ref[LANGUAGE_NONE]['0']['target_id']);
print node_view($referenced_node, "teaser");
希望這會有所幫助。
我不使用的看法,我只是用視圖模式顯示單個節點。 – dotoree 2013-02-10 09:44:54
不確定node_load是否與實體一起工作,我正在嘗試通過使用hook_node_view() – dotoree 2013-02-10 10:14:51
這個模塊來完成。這段代碼從引用節點檢索'nid',然後使用'node_load'加載節點對象。沒有什麼奇怪:) – 2013-02-10 10:44:39