0

我的目标是使用 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; ?>

空函数失败,所以我尝试了 if(strlen([account:field-bedrijfsnaam-bedrijf]) > 0) ,但没有成功。使用 strlen 的令牌似乎不是空的,并且 empty 函数根本不起作用。

显示 php 评估的图像

在我输入 xml 代码的字段下方,drupal 说我可以使用 $account 和 $site 变量进行评估。我想知道是否可以使用这些来检查字段数据是否为空?

它是一个对象,那么我如何正确检查 $account 中的字段是否为空?由于我不能使用 print_r(数据被发送到外部站点),我不知道该怎么做。

如果不可能,有谁知道如何解决它......?

提前谢谢。

4

1 回答 1

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。因此,如果其他人查看此内容,则需要将其替换为他们正在使用的任何实体类型。

希望能帮助到你!

于 2013-08-02T12:24:11.200 回答