正在折腾drupal的同志们,这篇文章来解决你们头昏那个脑涨的问题啦。总结了一些经验,几记录下来备用。具体如下:

一  安装相关

1 安装drupal超时(主要是安装中文翻译的时候)

方法一:
修改php.ini文件:memory_limit = 256M (依实际情况设定)
方法二:
打开\sites\default\settings.php文件,在最后增加以下两行:
ini_set(‘memory_limit’, ’256M’); //加大php的内存 也可以在php.ini中设置
ini_set(‘max_execution_time’, 2000); //加大页面执行时间 php.ini中的默认值是30 (秒)

二  主题相关

1 主题出问题后强制恢复系统默认主题

2 获取当前页的模版文件列表

在你使用的当前主题文件夹下有个template.php,在其中的xxxxx_process_page方法代码块中(没有就建立)增加一下代码:

例如:

这样你随便打开某个页面就会在页首打印出该页获取的模版文件的顺序以及模版文件名称,一目了然,注意系统加载的优先级顺序是倒序的。而不用去翻n多文档,实验n次,纠结n次了。。。,明眼人可能看出来了,变量列表中的theme_hook_suggestions就是模版信息数组。你其实可以随便修改定制的。。。呃,慎重,最好按照后面一个小结的方法来增加。

3 自定义模板文件名称

有时候你想根据特定的格式来获取模版文件。举个例子,如果你想根据内容类型来制定模版,那么你可以同样在template.php中xxxxx_process_page方法中增加一下代码

这样当drupal打开某内容的页面时,将优先使用你定义的模版文件,是不是貌似很吊?当然更改之后记得清空系统自己的缓存,要不然它依然会加载之前默认的模板,只需执行一下:

另外值得一提的是HOOK的复写,上面的xxxxx_process_page其实就是 hook_process_HOOK的复写,而drupal加载这些HOOK的顺序如下:

4 动态改变当前页面所对应的菜单项

依然是在xxxxx_process_page中增加以下代码:

这样,如果当前页面的内容类型是selftype的话,那么当前激活的菜单就将是该内容类型对应的标签。其中menu_set_active_item中设置的是 菜单项的系统地址。

三 一些常用的方法

1 获取,node中自定义的字段

2 获取node中自定义字段的可以render显示的数组:

3 获取node中某文件字段(图片,媒体)的地址

4 drupal 中现在已经内置了jquery和jqueryui模块,但是jquery至增加了core,比如我们要加一个tabs;

5 drupal中常用的模块api

四  一些数据库操作

HTTPX 基础教程-新乡seo|网站优化,网站建设_微信公众号:zeropython—昊天博客