Lesson14 drupal7 覆写联系我们页面,使用module_invoke函数调区块,制作谷歌地图和百度地图

日期:2014-05-16 阅读:9513

  • 第一部分:使用module_invoke函数调区块,联系我们和谷歌地图
  • 第二部分:百度地图在联系我们页面的应用

https://drupal.org/documentation/modules/contact

如何在tpl里输出block:

$block = module_invoke('block', 'block_view', '6');// 6就是id
print render($block['content']);

-----------

如果要支持 Contextual Links 模块,就要用下面的代码:

 $block = block_load('block', '1');
print drupal_render(_block_get_renderable_array(_block_render_blocks(array($block))));

 $block = block_load('views', 'topslideshow-block');
print drupal_render(_block_get_renderable_array(_block_render_blocks(array($block))));

但这种做法会报错:Strict warning: Only variables should be passed by reference in include()

所以只有hook了,hook_block_view_alter 那就比较烦了。

http://dominiquedecooman.com/blog/drupal-7-tip-add-contextual-links-anything

 

--------------------

学到现在,我们已经知道,一个菜单也是区块,所以可以这样:

admin/structure/block/manage/system/main-menu/configure

$block = module_invoke('system', 'block_view', 'main-menu');//这样就把main-menu菜单给调出来了。
print render($block['content']);

https://api.drupal.org/api/drupal/includes%21module.inc/function/module_invoke/7

------------

学到现在,我们也知道views也有区块,也可以用module_invoke调出来。

$block = module_invoke('views', 'block_view', 'banner-block_carousel');//banner-block_carousel是在views里定义的名字
print render($block['content']);

----------------

关于google map 谷歌地图:

在drupal里,可以使用drupal模块来实现,比如 gmap 和 simple_gmap

但感觉使用有点复杂,不如直接用drupal人工桥的方式,把google map 谷歌地图 应用到drupal7的联系我们页面。

-----------

关于百度地图:

由于谷歌不稳定的原因,其实用百度的也很方便。
百度地图生成器>>  
拾取坐标系统(通过地址获取经纬度)>>  

 

具体请看文档>>

 

<<点击返回

Drupal7视频教程 Drupal7主题 Drupal7最新文档 Drupal7推荐文档