0

カスタム ノード タイプに対して独自の cck ブール フィールド 'Show author' を作成しました。ノード タイプには、node.module によって設定されたデフォルトの作成者フィールドがあり、作成者と日付を設定できます。このフィールドセットに自分のフィールドを表示したい。

ここまでで、フィールドを移動して古いフィールドの設定を解除しただけです。

$form['author']['field_show_author'] = $form['field_show_author'];
unset($form['field_show_author']);

すべて正常に動作します。フィールドは希望する場所に表示され、値は適切に保存されます。

しかし、その後 locales.modules がやってきて、すべてを台無しにしてしまいます! field_info_instances() を使用してすべてのフィールドをループしますが、フィールドが設定されていないため、配列インデックスが見つからず、失敗します。

では、ロケールを壊さずにカスタム cck フィールドを既存の作成者フィールドセットに移動するにはどうすればよいでしょうか? フォームの「ルート」ではなく、そこに追加されるように指定できますか?

4

1 に答える 1

0

だから私は問題の簡単な解決策を見つけました:

<?php
$form['field_show_author'] = array('language' => NULL);
?>

これですべての問題が解決するようです。

于 2012-12-13T08:25:38.130 に答える