0

私の目標は、drupal を使用して xml コードを解析し、外部 Web サイトで処理してデータベースに保存することです。

この目的のために、ルールモジュールを使用しています。しかし、私は解決できないように見える小さな問題を抱えています。

たとえば、次の 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 を使用して空ではないようで、空の関数はまったく機能しません。

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 に答える