我的目标是使用drupal将xml代码解析到外部网站,然后将其处理并保存在数据库中。
为此,我使用规则模块。但是我遇到了一个我似乎无法解决的小问题。
例如,我选择了一个xml行:
<FullName>[account:field-bedrijfsnaam-bedrijf]</FullName>
如果drupal令牌为空,则该字段应转到:
<FullName xsi:nil="true" />
我尝试了一些php代码来检查令牌是否为空:
<?php if(!empty('[account:field-bedrijfsnaam-bedrijf]')): ?>
<FullName>[account:field-bedrijfsnaam-bedrijf]</FullName>
<?php else: ?>
<FullName xsi:nil="true" />
<?php endif; ?>
空函数失败了,所以我尝试了(strlen([account:field-bedrijfsnaam-bedrijf])&gt; 0),但没有成功。使用strlen时令牌似乎不是空的,而空函数根本不起作用。
在我输入我的xml代码的字段下面,drupal说我可以使用$ account和$ site变量进行评估。我想知道我是否可以使用这些来检查字段数据是否为空?
它是一个对象,那么如何正确检查$ account中的字段是否为空?由于我不能使用print_r(数据被发送到外部网站),我不知道如何做到这一点。
如果不可能,有没有人知道如何解决它??
提前完成。
答案 0 :(得分:1)
您可以使用field_get_items drupal函数来获取变量并确保它存在
if(field_get_items('user', $account, 'field-bedrijfsnaam-bedrijf')) {
// code here when it is not empty
} else {
// Code when it's empty
}
传递给函数的第一个参数是entity_type。因此,如果其他人认为需要用他们正在使用的任何实体类型替换它。
希望它有所帮助!