欢迎各位兄弟 发布技术文章
这里的技术是共享的
一)
$export = kprint_r($vars, TRUE); // $vars - is a variable which you want to print.
print $export;
二)
print dpm($node); //前面可以不加 print 吧
三)
var_dump($user); dsm($user);
一) 二) 三) 三种方法,可能个别的不适合于某种场合,比如,一般情况下使用 kprint_r比较理想,, 但是 kprint_r 不适合于表单提交后跳转(只要是跳转,kprint_r就不适用),所以 form 表单跳转时使用 dpm,dsm
1)用dpm($变量)吧!反正在template.php中 它肯定起作用
(在用它之前要清空下缓存 (好像是页面和其它缓存)).它肯定能打出devel折叠的效果
在template.php中 使用下面两行代码 也不错
$export = kprint_r($vars, TRUE); // $vars - is a variable which you want to print.
print $export;
在template.php中 在template.php中用echo dsm($变量)效果和dpm($变量)好像是一样的
有时 感觉到 用 echo dsm($变量) 更好
var_dump($user); dsm($user); 好像这里非要是前面要加上var_dump($user);或者print_r($user)才行
<?php var_dump($node);dpr($node); ?> 用在模板文件里比较好 好像这里非要是前面要加上var_dump($node);才行
1)在模块文件中 先用dsm($aa);再用dpm($aa); 好像效果比较好 好像有时要刷新一下
在模板文件中 先用print_r($aa);再用dsm($aa); 好像效果比较好 好像有时要刷新一下
1)在被调试的页面 输 <?php dsm($node); ?> //不一定是$node, 只要是变量(如$page)就行
//有的时候 好像有问题 暂时没找到是哪里的问题 ,
2)只有先敲被调试的页面 (好像应该是管理员登录的情况下)
3)然后在后台 /admin 下 随便敲一个网址 就可以看到调试信息
<?php dpr($node); ?> <?php dvr($node); ?> //这两个都可以 但是都不友好
dsm() 向页面的消息区域输出一个简单变量(比如,一个字符串或者一个整数。) //相当于 devel 用户或节点的调试信息 有大用
//有的时候 好像有问题 暂时没找到是哪里的问题
I would put dsm($vars) in a preprocess function in template.php. Just remember if you put it in phptemplate_preprocess_page it will show you the available variables for the page.tpl.php. Likewise if you put it in phptemplate_preprocess_node it will show you the available variables for node.tpl.php.
If you want to see the available variables from a template file, you can also use get_defined_vars(). Use something like:
var_dump(get_defined_vars());
or
dsm(get_defined_vars());
得到变量
得到变量
var_dump(get_defined_vars());
or
dsm(get_defined_vars());
得到所有的全局变量
print_r($GLOBALS);
<?php print theme(array('links__system_main_menu', 'links'), $primary_links,
array(
'id' => 'main-menu',
'class' => 'links clearfix', //这是ul
),
array(
'text' => t('Main menu'),
'level' => 'h2',
'class' => 'element-invisible', //这是上面的标题
));
?>
//输出 带ul的主链接
难道是 先调用 主题_links__system_main_menu() 如果找不到的话 就调用 主题_links()
http://drupal.org/node/995940
你可以使用dsm(), dvm(),dpr(),和 dvr()函数来输出调试信息,这些信息对于其它用户是不可见的。
//只有管理员才可看到 devel模块(区块) 也是的 只有管理员才可看到
• dsm() 向页面的消息区域输出一个简单变量(比如,一个字符串或者一个整数。)
• dvm()向页面的消息区域输出一个var_dump()。对于复杂的变量比如数组或者对象使用这个函数。
• dpr() 使用一个递归函数在页面顶部输出一个复杂的变量(比如一个数组或者对象)。
• dvr()在页面顶部输出一个var_dump()。
这些函数的输出对于没有“access devel information”(“访问devel信息”)权限的用户是不可见的,这对于实时调试非常方便。
一个使用的例子如下所示:
dpr(node_load(5)); // Display the data structure of node 5.
dvr($user); // Display the $user variable.
Devel模块的其它用途
Devel模块还有一些其它一些方便函数,它们常被忽略却能增加你的开发效率的。
例如,你可以实时的切换当前查看Drupal页面的用户。这对于技术支持和调试其它角色非常有用。为了切换到另一个用户上,导航到URL http://example.com/?q=devel/switch/$uid,其中$uid是你想切换到的用户的ID。另一种方式是,启用“Switch users”(切换用户)区块,它提供了达到相同功能的一组链接。
你可以使用dsm(), dvm(),dpr(),和 dvr()函数来输出调试信息,这些信息对于其它用户是不可见的。
• dsm() 向页面的消息区域输出一个简单变量(比如,一个字符串或者一个整数。)
• dvm()向页面的消息区域输出一个var_dump()。对于复杂的变量比如数组或者对象使用这个函数。
• dpr() 使用一个递归函数在页面顶部输出一个复杂的变量(比如一个数组或者对象)。
• dvr()在页面顶部输出一个var_dump()。
这些函数的输出对于没有“access devel information”(“访问devel信息”)权限的用户是不可见的,这对于实时调试非常方便。
一个使用的例子如下所示:
dpr(node_load(5)); // Display the data structure of node 5.
dvr($user); // Display the $user variable.
在page.tpl.php 中
使用 <?php echo dsm($user);?> 用户对象
<?php echo dsm($node);?> //节点对象
I would put dsm($vars) in a preprocess function in template.php. Just remember if you put it in phptemplate_preprocess_page it will show you the available variables for the page.tpl.php. Likewise if you put it in phptemplate_preprocess_node it will show you the available variables for node.tpl.php.
If you want to see the available variables from a template file, you can also use get_defined_vars(). Use something like:
var_dump(get_defined_vars());
or
dsm(get_defined_vars());