Features + Git + Drush,打造你的Drupal开发与维护标准工作流

By admin |

还在为如何将本地的开发工作如何部署到生产环境而皱眉头?本文以实战历程教你如何一步步将你的工作成果从开发环境部署到生产环境。

如题所示,需要用到Features, Git, Drush;如果你还不知道他们是神马?自行补脑。
如果你理解并会用features,用过Drush,知道Git是干什么的,请继续阅读。否则自己看着办:)

这里演示如何将自己开发环境做好的一个slideshow,从开发环境部署到生产环境并启用。
假设你的项目代码已经使用git进行版本控制,并在开发环境与生产环境都是通过git clone方式获取代码。
在开发环境中制作一个slideshow,方案如下:

建立一个新的内容类型叫做slideshow,并添加相关的图片字段,连接字段,介绍字段等。同时启用模块views slideshow并做好相关配置然后保存。
将以上做好的配置导出为一个features,features里面应该包含内容类型slideshow及views的相关配置;命名为:home_slideshow,解压features放到目录sites/all/modules/custom/features下面。

在开发环境命令行方式下,执行如下命令:

Drupal核心与模块版本及版本号的选择的一些个人经验

By admin |

本文试图根据个人一点经验,对Drupal核心及模块版本号的选择做出一点说明。并尝试回答Drupal 8何时可用的问题。

软件版本号的基础知识,可以自行到百度百科上学习。
http://baike.baidu.com/view/707808.htm
一般来说,一些知名软件,如Windows, office, linux等都有一套自己的软件版本号规则。

对于Drupal来说,根据我的经验观察,会遵循如下规律:
Drupal核心:
    主版本号.子版本号[-版本后缀]
    实例:8.0-alpha10
Drupal第三方模块:
    Drupal核心版本号.x-主版本号.子版本号[-版本后缀]
    实例:7.x-3.0-rc3

一般情况下用到的版本后缀如下:

记录一次在虚拟机上安装的AMP下解决Drupal clean url的过程

By admin |

一些前提条件:
网站域名:site.com
网站安装目录:/var/www

通过git把代码pull到服务器及部署好数据库之后,发现clean url无法启用,下面是排查及解决步骤:

1: 建立个info.php文件,里面录入:
[php]
<?php
phpinfo();
?>
[/php]
并保存好,查看页面发现apache mod_rewrite模块未启用,linux下执行以下命令安装启用rewrite模块:
a2enmod rewrite
然后重启apache服务:
sudo service apache2 restart
在此检测,clean url仍然不工作。

2: 通过google搜索如下关键词:
“drupal apache clear url not working”
找到如下文章:
https://drupal.org/node/1572984

关于Drupal模块,那些不得不说的事

By admin |

Drupal之所以受到那么多人的喜欢,除了本身内核的强大,另外跟Drupal模块的支持强大不无关系。Drupal有很多非常厉害的模块,模块本身的构架思想就有很多值得品味的地方。

CCK
这个模块在Drupal 6下面,跟views的地位是差不多的。安装量一直是数一数二的。
在Drupal 7,这个模块不存在了。但是模块的思想被Drupal 7借鉴并发扬光大,成为了Drupal 7里面的field和field ui模块。

Views
这个模块无需多说,我当初学Drupal 的时候,也是因为这个模块的强大而对Drupal着迷。
无论实在Drupal 6还是Drupal 7,这个模块安装量绝对是前三。对于Drupal 建站者来说,这个模块基本就是必装模块了。
在Drupal 8,这个模块进入核心了,以后我们没必要在下载这个模块了。

Drupal Queue简介及代码实例

By admin |

Drupal Queue 是Drupal 7提供的新功能。

Queue items to allow later processing.

The queue system allows placing items in a queue and processing them later. The system tries to ensure that only one consumer can process an item.

翻译成中文,大概意思就是:

Queue条目可以延迟操作。

Drupal Queue用户按照序列化执行一定的操作。Queue系统确保每一次系统消费可以处理一个项目。

根据以上描述,Queue有如下特性

  • 序列化

  • 操作延迟化

  • 序列里的条目只会被成功执行一次。

Drupal 的 system_settings_form 用法

By admin |

对于Drupal开发者来说,善用system_settings_form这个东西,可以在一定程度上提升你的开发效率,并降低代码的维护成本。

该函数通常用在自定义模块,对一些用户自定义配置的保存。

下面以代码实例来解析该函数的用法。 

提高您的效率,使用linux路径变量

By admin |

我们在linux下进行开发过程中,需要经常使用cd命令改变不同的工作目录.在这个过程中,你需要频繁的按tab键来自动补全路径.

其实总结下,我们经常要切换的路径无非就是固定几个.对于drupal开发者,估计50%都是这样的操作:

cd /var/www/drupal/sites/default/modules

这样算下来,你要到这个路径,应该要按键不少于12次,其中包括6次tab键.
我每次进这个路径都很蛋疼,不知道你的感觉如何?

其实linux里面有个叫路径变量的东西,善用这个东西,可以在一定程度上提高你的效率.

如何实现?
编辑 vi ~/.bash_profile;在文件底部加入以下

drupal=/var/www/drupal7
sdm=sites/default/modules
sam=sites/all/modules

保存之后,在执行以下命令:

source ~/.bash_profile