1
コアコンポーネントにカスタムフィールドを保存する方法
各#__contentアイテムに単一の単純なフィールドを追加しようとしています。「連絡先」を「コンテンツ」に置き換えて、コアコンポーネントへのカスタムフィールドの追加のチュートリアルを注意深く実行しました。管理コンテンツアイテムの編集フォームにタブ/フィールドが正常に含まれているインストール可能なプラグインがあり、その厄介な「保存」機能を除いて、素晴らしい動作をします。 Savingへの唯一の参照は(もう一度、連絡先ではなくコンテンツ): 追加のフィールドは、プラグインディレクトリのforms / contact.xmlファイルからロードされます。これらのフィールドは、nameプロパティが「params」に設定されたfields要素にあることが重要です。このプロパティ名を設定しない場合、フィールドは管理サイトに表示されますが、値は保存されません。 この注意書きが存在するという事実は、Joomlaがフィールドが存在することを知っているべきであり、コアコードがそれを処理することを示唆していますが、保存されていないので、追加すべきイベントが他にあるのではないかと思っています。 ここに私が必要とするシンプルなフィールドがあります-ユーザーには見えませんが、それでも重要であり、それを保存するためのCCKの必要性の近くにはありません。 カスタムフィールドを保存できない原因は何ですか? 更新:カスタムフィールドがデータベースに保存されていることを期待して、#__ contentテーブルに同じ名前の列を追加してみました-運はありませんでした。 gdp.php class plgContentGdp extends JPlugin { protected $autoloadLanguage = true; function onContentPrepareForm($form, $data) { $app = JFactory::getApplication(); $option = $app->input->get('option'); switch($option) { case 'com_content': if ($app->isAdmin()) { JForm::addFormPath(__DIR__ . '/forms'); $form->loadFile('content', false); } return true; } return true; } } …