theme_links example

Submitted by admin on Sun, 12/01/2013 - 12:19

theme links使用实例:

$links =  array(
  'item1' => array( 'title' => '1st Item', 'href' => 'path/one' , 'attributes' => array()),
  'item2' => array( 'title' => '2nd Item', 'href' => 'path/two' , 'attributes' => array()),
);
$vars = array(
  'links' => $links, 
  'attributes' => array('class' => 'outclass')
);
print theme('links', $vars);

 执行以上,将会输出如下结果:

关于drupal hook(钩子机制) 和 performance(性能)的讨论

Submitted by admin on Mon, 03/11/2013 - 09:27

http://groups.drupal.org/node/285633
drupal groups上的一个问题,必须要回答。同时这也是曾经困扰我的问题。花了一个多小时做整理和解析。同时也在自己的博客记录下,以备更多人能够少被这个问题困扰。
原文链接:
http://groups.drupal.org/node/285633#comment-898648

这是一个老生常谈的问题。

hook机制是drupal最具吸引力的特性。 Hook机制赋予drupal强大的灵活性和扩展性。
如果要使用drupal做开发,hook是必须要跨过去的一道坎。

介绍一个神奇的drupal模块 conditional styles

Submitted by admin on Sun, 12/23/2012 - 13:06

介绍一个神奇的drupal模块 conditional styles
这个模块,要和zen主题配合使用。使用如下的方法:
conditional-stylesheets[if IE 7][all][] = ie7specific.css
在zen子主题的info文件写上去。意思就是如果浏览器就加在ie7specific.css这个css文件,而对于其他浏览器,则不加载此css文件。这样你就可以在这个文件写你针对ie7的优化代码了。
以上是神奇之一。

神奇之二:
看此模块的源码(7.2x版本),只有两个函数
conditional_styles_preprocess_html();
conditional_styles_preprocess_maintenance_page();

使用此模块只需在自己主题的info(drupal 7)文件加入如下语句即可:

破解drupal 的theme_pager之谜

Submitted by admin on Tue, 12/04/2012 - 03:34

drupal 的theme_pager,可以提供快速的pager list输出,只要给定几个参数就可以了,这就极大的方便了我们。
一般来说,系统提供默认的pager list,但是我们可以在自己的程序中调用theme_pager,从而控制显示。下面给出代码片段,分为drupal 6版本和drupal 7版本,两者有些不同。

drupal 6版 theme_pager示例:
[php]
global $pager_page_array, $pager_total;
$pager_total[0] = 98;
$page = isset($_GET['page']) && is_numeric($_GET['page']) ? max(0, min($_GET['page'], 98)) : 0;
$pager_page_array[0] = $page;
$pager = theme('pager');
[/php]