web-dev-qa-db-ja.com

jFormに基づくJoomla 3 Flexicontentカスタムフォーム

グーグルで何時間も実験した後、私は:(

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カスタムフィールドから変数を渡すにはどうすればよいですか?

プラグインがインストールされ、有効になっている

2
alekwisnia

引用された記事はどちらもJoomlaコンテンツマネージャを参照しています。

Flexicontentは拡張されていますが、onContentPrepareFormはFlexicontent構成で呼び出されたりレンダリングされたりしていません。

単純な記事でプレーンなJoomlaでプラグインをテストすることをお勧めします。期待どおりに動作したら。 Flexicontentで有効にしてみてください。

「$ this」に関しては、常に現在のオブジェクトインスタンスを参照します。プラグインのコンテキストにいる場合、それはプラグインです。テンプレートのコンテキストにいる場合、それはテンプレートです。 onContentPrepareFormは文字列をレンダリングして返すことに注意してください。この文字列はテンプレートに連結されるだけです。カスタムフィールドはプラグイン内でのみ管理されます。

4
Anibal