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

请问9idz.com的首页是怎么做的?

赞成!
1
否决!

我想知道9idz.com的首页中各个 区域 的划分 是怎么实现的,我到现在只见识到drupal 博客的一面,首页是在是做不出来,还有那个CCK 到底能干吗? 求教求教,急啊!

2 个回答

赞成!
2
否决!

写四种方法给参考:

1,可以通过panels +views组建出来。这两个模块都是很普及的模块,中文资料也比较多,可以百度找到相关文章。

2,module_invoke 方法,这种方法需要写模块跟代码,需要一定的php基础跟模块编写基础。(9idz.com 用此方法)

具体方法:

2.1,创建一个模块:在此我们命名为 common 模块,并且建立 common.info,common.module,模块创建过程可以参考:http://www.drupalla.com/node/248

2.2,假使要读出最新blog文章,可以在common.module创建一个function:

1
2
function common_show_article($content_type='blog', $p1='value1', $p2='value2', .....$pn='value n')
{ 函数内容 此处省略10000}

2.3,开启common模块,并在page.tpl.php 相应的位置输入:

1
<?php print module_invoke('common', 'show_article', '参数1', '参数2', '参数3', ..... '参数n');?>

3,跟方法2有点类似,也是得建一个module,不过3用的是hook_block_info,hook_block_view 两个hook,这两个hook能实现建立一个block,这里假使也是建为 common

3.1,建立block

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/**
 
* Implements hook_block_info().
*/
function common_block_info() {
  $blocks['module_blog'] = array(
    'info' => t('module blog'),
    'cache' => DRUPAL_NO_CACHE,
  );
  return $blocks;
}
/**
* Implements hook_block_view().
*/
function common_block_view($block_name = '') {
  if ($block_name == 'module_blog') {
    $content = show_article('参数1', '参数2', '参数3', ..... '参数n');
    $block = array(
      'subject' => t('module blog'), 
      'content' => $content,   
    );
   
    return $block; // 返回
  }
}
 
function show_article($content_type='blog', $p1='value1', $p2='value2', .....$pn='value n'){ 函数内容 此处省略10000}

3.2,开启common模块,并在block 页面找到common生成的block,拉到相应区域

 

4,开启 PHP filter 模块,让drupal 的block 支持php,然后新建block,在block里面写phpcode。。。

赞成!
0
否决!

正在找这方面的文章,用下载的themes修改不是长久办法,还是得自己写