drupal anywhere: 你必须会的drupal四大定制输出,列表、文章、模块、任意内容
补充一个更强大的D7输入输出神器:entity_metadata_wrapper,D7高性能输入输出的神器,特别推荐save方法,drupal anywhere
该文在2014-4-26号晚8点将有一场在线演示,使用QQ群视频(请加群227600605)或者使用teamviewer (密码到时公布,请留意各大drupal群).
今天带团队,要赶一个drupal commerce项目
需要团队分工速度搞定所有页面,要教会团队成员迅速完成drupal输出定制
项目是这样的,设计由专业美工外包完成,我们要套站。
1.很多的列表页要定制输出----views_get_view
2.很多文章、商品要定制输出——–node_load
3.要做一些私有模块,也要定制输出,以配合已经设计好的页面HTML—–block_load
4.任意内容的定制输出------db_query
不得不说的经验是,上面几个内容,足够你纵横半个drupal界了,当然,如果你真学会的话
本文目的:速成,所以不会涉及太多代码解析(直接copy然后在项目中理解吧,有既往的文章提供详细解析,附link)。
下面的内容,所有代码都能直接插入*.tpl.php文件当中,例如page–front.tpl.php或者node.tpl.php都没问题
也能用于drupal anywhere的输出方式:
上面的内容大多以以前写过总结,现在系统地写出来了,
默认针对drupal 7 ,因为commerce在drupal 7最成熟,理论上代码小改一下能用于drupal 6 和 drupal 8,共通的!
为了速成,不作废话,粘代码+必要解析
[列表输出--views_get_view]
既往详细总结:views_get_view,drupal开发神器,适用于drupal 6 7 8
$view = views_get_view('category'); //叫category的views
$view->set_display('root');//这个views有子块,熟悉views的话,你懂的,改成default也行,或者page_1,block_1
$view->set_items_per_page(8);//第页显示8个
$view->pre_execute();
$view->execute();
$rows=$view->total_rows;//这个views总共有多少个结果,用于计算分页!
$currentpage=$view->query->pager->current_page;//当前是第几页!
$rows = $view->result;//将结果生成数组
print_r($rows);//输出结果
[文章、商品定制输出---node_load]
既往的详细总结:node_load , node_save,drupal极快速入门,适合国人的思维。$node=node_load($nid);//[显示文章:$nid改为任一数字,例如1]
print_r($node);//了解一下这个node的结构,如果你不记得了
print $node->title;//输出title,同理,有很多东西可以输出例如CCK
[block定制输出--block_load]
既往的详细总结:drupal anywhere:输出任意block的方法
$block = block_load('block', 'trackself_test'); //输出一个名叫trackself_test的block print render($block['content']);
[任意内容的定制输出--db_query]
既往的详细总结:drupal anywhere 10: db_query输出任意内容
$result = db_query_range('SELECT n.nid, n.title, n.created
FROM {node} n WHERE n.uid = :uid
ORDER BY n.created DESC', 0, 10, array(':uid' => $uid));
foreach ($result as $record) {
print $record->title;
print $recod->nid;
}
$percent =db_query("SELECT title FROM {node}")->fetchField();//输出一个结果
更多的drupal anywhere文章:http://www.trackself.com/archives/2184.html
(