Drupal 7 开发内部培训资料, 分头诗人

怎么通过hook_menu 增加一个路径,并对这个路径设计特定界面?

赞成!
0
否决!

我想为我的一个内容类型单独制作一个tpl.php并为他设置路径为zhaopian,但现在遇到一个问题就是这个路径应该怎么添加呢?

我试着在template.php里写上

1
2
3
4
5
6
7
8
9
function erj_menu() {
$items['erj'] = array(
       'title' => 'Greeting',
        'page callback' => 'menufun_hello',
        'access callback' => TRUE,
        'type' => MENU_NORMAL_ITEM,
    );
    return $items;
}

好像没效果,是不是不应该这样写?求教0.0

3 个回答

赞成!
0
否决!

你上面的代码是没错的,但要留意几个东西:

 

1,$items['erj'], 这个是定义地址的,访问地址是:xxx.com/erj

如果你要访问地址是xxx.com/zhaopian,需要改为:$items['zhaopian']

 

2,'page callback' => 'menufun_hello',这里的menufun_hello是一个函数,你需要在文件中定义menufun_hello函数如: function menufun_hello(){return "hello 猪跑啦";}

 

3,当做完那两步后,在当前主题中,复制 page.tpl.php 一份并改名为:page-zhaopian.tpl.php(drupal 6)/ page--zhaopian.tpl.php(drupal 7)。然后把这个文件的内容改成你想要的。

 

4,清空缓存。

赞成!
0
否决!

function zhaopian_menu() {
$items['zhaopian'] = array(
       'title' => 'Greeting',
        'page callback' => 'menufun_hello',
        'access callback' => TRUE,
        'type' => MENU_NORMAL_ITEM,
    );
    return $items;
}

function menufun_hello(){
return "猪跑啦";
}

诗人,按你教,我把代码放到template.php文件里,清空缓存,然后我输入地址xxx.com/zhaopian好像没效果,还是显示  The requested page "/d7/zhaopian" could not be found. 

T.T

赞成!
0
否决!

function zhaopian_menu()

这个函数前面的zhaopian是你的主题名称吗?