个人是entity重度用户,经常使用entity_metadata_wrapper对entity进行set与get操作。
这是个神器,但是用不好会伤身,伤神。
下面这段代码,用来判断一个entityreference字段是否为空,可以减少很多无谓的报错。
个人是entity重度用户,经常使用entity_metadata_wrapper对entity进行set与get操作。
这是个神器,但是用不好会伤身,伤神。
下面这段代码,用来判断一个entityreference字段是否为空,可以减少很多无谓的报错。
使用Drupal开发过程中,会产生一定的测试数据,比如node,会产生很多的数据;这个时候nid会变得不可控制。
如果想重置nid从1开始,则可以使用如下步骤实现:
1:将所有node删除
2:执行语句:
define("TOKEN_URL", 'http://example.com/oauth2/token');
define("UPDATE_URL", 'http://example.com/api/order/update-status');
//第一步:调用token接口,获取token。
$data = array(
'grant_type' => 'client_credentials',
'client_id' => 'your_client_id',
'client_secret' => 'your_client_secret',
'scope' => 'basic', //这里可以根据设置好的scope灵活填写。
);
$fields_string = '';Drupal console是基于symfony 的console相关组建开发的一个drupal命令行工具。目前看来与drush有部分重叠的功能。
随着Drupal 8 rc版本的发布,应该会慢慢的有人开始研究与使用Drupal 8,那么很可能drupal console会对你很有帮助。
我在尝试安装这个console的时候,遇到问题,花了点时间,自己做了个镜像,成功安装并可使用。以后会不定期跟踪console的版本更新并更新自己的镜像。
Drupal console的官方文档地址:
预先声明下,本文内容比较小众,需要有较丰富开发经验才可看懂;初学者可以跳过。
对于feature重度用户来说,每次使用手工方式点击导出features并进行代码覆盖的方式,显然是很低效的做法。
好消息是,features提供对drush的支持,可以通过如下命令进行查看相关命令:
drush |grep features
支持的命令列表如下:
features-add (fa) Add a component to a feature module. (DEPRECATED: use features-export)
features-components List features components.
features-diff (fd) Show the difference between the default and overridden state of a feature.
$items = array(
'admin/commerce/orders/add' => '创建订单',
'admin/commerce/orders/add/delivery' => '待收货订单',
'admin/commerce/orders/add/recipt' => '收货单',
);
foreach ($items as $url => $title) {
$links[] = array('title' => $title, 'href' => $url);
}
$vars = array(
'links' => $links,安装jdk与tomcat7
apt-get install openjdk-7-jdk apt-get install tomcat7 tomcat7-admin
下载并配置apachesolr
http://archive.apache.org/dist/lucene/solr/
下载如下格式的文件:
solr-4.x.x.tgz
下载solr,尽量使用4.x的最新版本吧,5.x目录结构改动很大,没摸索出来。
Drupal并没有提供API来获得term的dpeth;但是我们仍然有方法获得。本文分享两种方法,供有需要读者自行选择。
1:自行构造函数,通过数据库查询方式来获得。
背景:
在一个电子商务网站上发现有很多@sina.com的垃圾注册用户。虽然已经开启了honeypot模块,但是没有屏蔽住此类注册。
分析:
攻击者可能比较熟悉honeypot的工作机制,可以自己编写相应的脚本实现恶意注册。
在Drupal系统中,默认情况下,用户注册都会有日志记录,保存在watchdog表中。通过分析watchdog表中的关于用户的日志的情况,可以统计出相应的信息供参考。
然后通过user block模块或其他相应模块屏蔽该恶意IP的注册。
解决步骤:
在任意mysql客户端,或者phpmysql里面执行如下sql语句:
一年一度的DrupalCamp China过去了,有幸参加,并作分享;同时有幸与commerce的作者Ryan做了合影。附上照片如下:
关于Entity的分享,到如下连接可看到:


Copyright © 2026