我是drupal的新手。我在drupal7中创建了一个自定义块。现在我想在这个块中显示自定义内容类型的数据(例如广告)。这个广告具有在主页中显示广告的功能,预告片,全景模式页面。
现在问题是我想以编程方式获得类似于节点视图的块的视图模式,以便我可以获得与该视图相关的广告(即具有预告视图的广告)等。< / p>
这是我实施的方式,但未能显示视图模式
/**
* Implements hook_block_view().
*/
function Advertisement_block_view($delta = '',$view_mode) {
echo $view_mode;
$block['subject'] = t('Advertisements');
$block['content'] = Advertisement_block_content();
return $block;
}
请帮忙...
三江源
答案 0 :(得分:0)
默认情况下,Blocks不支持查看模式。至少就我所知,节点的做法并非如此。查看您使用的hook_block_view()上的 Drupal API 。它没有提到$view_mode
参数。如果使用,你实际上应该收到警告。
获取特定视图模式的广告(节点)听起来有点奇怪,因为您没有将视图模式分配到节点上,而是分配到内容类型上,这意味着所有广告一旦将节点分配给其内容类型,就可以在某种视图模式下查看节点。
如果您想要在内容类型上配置所有视图模式,可以使用field_view_mode_settings($entity_type, $bundle)
,其中$entity_type = 'node'
&amp; $bundle = 'Your_advertisement_content_type_machine_name'