跳转到主要内容
丞辰网络 提交于 7 June 2015

用drupal制作一个小型论坛过程中,想可以通过后台给每个论坛版块添加一个小图标,但是在路径“首页 » 管理 » 结构 » 论坛”这个设置界面里面找不到地方添加图标,也没有地方可以添加新字段,在热心群友“大连小齐”指点下,知道了可以通过“首页 » 管理 » 结构 » 分类 » 论坛”下,添加新字段,设置如下图

1.jpg

红色框里面的就是自己添加的新字段

由于我是想在forum-list.tpl.php里面获取到这个新增加的值,所以我hook了preprocess_forum_list,我的样式名为onetheme,hook函数如下:

function onetheme_preprocess_forum_list(&$variables){
  foreach ($variables['forums'] as $id => $forum) {
    if(!isset($variables['forums'][$id]->icon)){
      $taxonomy_term=taxonomy_term_load($variables['forums'][$id]->tid);
      $imageuri=$taxonomy_term->field_forum_image['und'][0]['uri'];
      $variables['forums'][$id]->icon=file_create_url($imageuri);
    }
  }
}

这里要说明的是为什么要再次用taxonomy_term_load函数加载多一次每个论坛版块的内容,因为默认加载的论坛版块里面是没有新增加的字段的。

最后在forum-list.tpl.php就可以循环中通过$forum->icon获取到每个论坛版块的图标了。

 

标签
Drupal 版本