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

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

赞成!
1
否决!

你好

在【请问9idz.com的首页是怎么做的?】http://www.drupalla.com/node/330

看到的是主页的制作方法。

 

想请问文章页面例如【http://9idz.com/node/367】,是如何修改模板的?

 

谢谢

5 个回答

赞成!
0
否决!

1,sidebar是通过http://www.drupalla.com/node/330 做的,配配抢先看是最新的文章,热门文章是点击量排序的,这个sidebar 在page--article.tpl.php 定义(是对应article 内容类型的page.tpl.php重写)。

 

内容部分是在在node--article.tpl.php(是对应article 内容类型的node.tpl.php重写)

 

这个是加入百度的JS控件,也可以选用jiathis

这个是通过判断当前文章的id,然后获取当前文章的 tag标签,再找到拥有相同标签的文章做关联,列出一个简单的关联列表。

赞成!
0
否决!

谢谢回复。

问题追加:针对这个article内容类型,node--article.tpl.php,如果要实现html和php分离(方便美工和程序员独立工作),有哪些好的建议?

谢谢。

赞成!
0
否决!

内容部分,可以直接用theme()输出,举例:

1
2
3
$output .= theme('pager');
$output .= theme('yourtheme', array('rows' => $rows));//yourtheme 是自定义模板 yourtheme.tpl.php
$output .= theme('pager');

然后复制一个yourtheme.tpl.php 在模板里面,这样设计师就能轻松的修改样式了

赞成!
0
否决!
1
2
3
4
5
不是很明白,
【$output .= theme('yourtheme', array('rows' => $rows));//yourtheme 是自定义模板 yourtheme.tpl.php】
这段代码是写在哪里?
这种写法有资料推荐吗?
谢谢
赞成!
0
否决!
1
$output .= theme('yourtheme', array('rows' => $rows));//yourtheme 是自定义模板 yourtheme.tpl.php】的实现方法

略记如下:

参考资料:Drupal theme 自定义简单步骤流程http://hellodrupal.info/node/108

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
D7版步骤如下
1.在module里的代码
/**
*注册theme
*例子:http://hellodrupal.info/node/108
* $vars['my_themes_file'] = theme('goods_news', "hello my themes");
*/
function  investopedia_theme_theme() {
  return array(
    'hot_news' => array(
      'variables' => array('title' => NULL),//传递给模板里的参数,数字型,对象,数组等等   
      'template' => 'hot-news',//模板名称,不需要加.tpl.php,程序会自动检索。如果不指定模板路径,默认搜索模块同位置  
    ),
  );
}

 

1
2
3
/*注册theme end*/
2.自定义的模块目录下:hot-news.tpl.php文件
<?php

 

1
2
3
4
5
6
7
8
9
10
11
12
/**
* @file
*/
?>
<?php if ($title): ?>
  <div class="vars_my">
  <p>I am from hot-news.tpl.php</p>
    <?php print $title; ?>
  </div>
<?php endif; ?>
3. node.tpl.php文件里
<?php print "test my theme file:" .&nbsp; theme( 'hot_news', array('title'=>'hot_names themes:') ); ?>