グーグルで何時間も実験した後、私は:(
Joomla 3の記事にフォームを追加する必要があります。フォームは記事の追加フィールドからデータを収集し、メールで送信します。記事はFlexicontentによって管理されます。 Flexicontentは標準のコンテンツマネージャーをオーバーライドするため、「content」プラグイン内にプラグインを作成しようとしました(後で「flexicontent」も試しました)。記事に基づく: http://docs.joomla.org/Adding_custom_fields_to_the_article_componenthttp://betweenbrain.com/notes/72-fun-with-joomla-forms - https://github.com/joomla/joomla-cms/blob/master/plugins/user/profile/profile.php#L168
これらはすべて、ある種のフォーム(ユーザー、コンテンツ、連絡先)をオーバーライドします。
プラグインフォルダー、プラグインphpファイル、プラグインマニフェスト(xmlファイル)、フォームフィールドを含むXMLを作成しました。次に、指示に従って、phpファイルにonContentPrepareForm()と記述しました。ただし、flexiconentテンプレートで「$ this」変数を確認したところ、フォームの形跡はありませんでした。このフォームをテンプレートにどのように配置すればよいですか?
サードパーティのプラグインを使用することもできますが、Flexicontentカスタムフィールドから変数を渡すにはどうすればよいですか?
プラグインがインストールされ、有効になっている
引用された記事はどちらもJoomlaコンテンツマネージャを参照しています。
Flexicontentは拡張されていますが、onContentPrepareFormはFlexicontent構成で呼び出されたりレンダリングされたりしていません。
単純な記事でプレーンなJoomlaでプラグインをテストすることをお勧めします。期待どおりに動作したら。 Flexicontentで有効にしてみてください。
「$ this」に関しては、常に現在のオブジェクトインスタンスを参照します。プラグインのコンテキストにいる場合、それはプラグインです。テンプレートのコンテキストにいる場合、それはテンプレートです。 onContentPrepareFormは文字列をレンダリングして返すことに注意してください。この文字列はテンプレートに連結されるだけです。カスタムフィールドはプラグイン内でのみ管理されます。