日期:2014-02-26 阅读:5463
dmandwp系统 - wordpress系统和DM系统区块建站>>
devel
http://drupal.org/project/devel_themer
https://drupal.org/project/devel
http://drupal.org/project/simplehtmldom
https://drupal.org/project/devel_demo
devel 学习文档http://ratatosk.net/drupal/tutorials/debugging-drupal.html
最强大的Views辅助模块--Views PHP, 这里也用到了devel . http://mentry.cn/module/views-php
------------------
drupal 7全局变量和判断--drupal主题API http://www.tvdrupal.com/drupal7_api.html
---------------------------------------
两种情况:
一是不需要注册的:见drupal7主题覆写机制: https://drupal.org/node/1089656 还有views的覆写。
另一种情况:需要写代码注册覆写的情况:
一般三种注册:一是内容类型页面,二是分类页面,三是节点的分类。 (节点的内容类型不用注册,系统自带)
第一:覆写内容类型(node type)页面page.tpl
<?php
function bartik_process_page(&$variables) {
//pre($variables['node']);行的通
if (isset($variables['node']->type)) {
$variables['theme_hook_suggestions'][]='page__'.$variables['node']->type;
}
// $variables['theme_hook_suggestions'][] = 'page__product';
// $variables['theme_hook_suggestions'][] = 'page__news';
pre($variables['theme_hook_suggestions']);
}
?>
注意,如果在template.php里没有bartik_process_page这个函数,新建后,要记得清缓存才生效。
=============================================
第二 suggestion taxonomy覆写分类页面:
function yourtheme_preprocess_page(&$variables, $hook) {
if (arg(0) == 'taxonomy' && arg(1) == 'term' && is_numeric(arg(2))) {
$term = taxonomy_term_load(arg(2));
$vocab = $term->vocabulary_machine_name;
$variables['theme_hook_suggestions'][] = 'page__' . $vocab ; //这样,就可以 把 taxonomy suggestion 成内容类型了。
}
}
第三:如果有必要,可以再 覆写节点: $variables['theme_hook_suggestions'][] = 'node__' . $vocab ;
参考:https://api.drupal.org/api/drupal/modules%21node%21node.module/function/template_preprocess_node/7
=========================================
前面讲了三个注册覆写,一般可以达到drupal主题覆写的要求了。
=========================
或者通过简单的php语句,也可以实现查看对象的功能:
function pre($v) {
echo '<pre>'.print_r($v,1).'</pre>';
}
就是print_r,我把它封装成了一个function,这样方便调用。
----
//dpm($variables); //装了devel,可以这样试下。
//dpm(get_defined_vars());
//dpm(debug_backtrace());
var_dump($view);
debug drupal http://ratatosk.net/drupal/tutorials/debugging-drupal.html
---------------------