問題
1. 新しいフォームを作成します: 3 つのテキスト フィールドを追加します: Firstname、Lastname、Email。 1 国籍 (インド、サウジ市民など) の「リストから選択」フィールド、およびアップロード CV という名前のアップロード フィールド。
2. 「タイトル」と「サブタイトル」という名前の 2 つのテキスト フィールドと、HTML フィールドを持つ Web コンテンツ構造を作成します。
3. 作成した構造に添付されたWebコンテンツテンプレートを作成します:
構造から2つのフィールドを読み取り、Liferayフォームを埋め込むためのコードを入力します:
$ {Title .getData()}
$ {SubTitle.getData()}
&lt; @liferay_portlet ["runtime"] < 1> portletName = "com_liferay_dynamic_data_mapping_form_web_portlet_DDMFormPortlet"
defaultPreferences = "$ {freeMarkerPortletPreferences}"
/&gt; <1 > &lt; #assign VOID = freeMarkerPortletPreferences.reset()/&gt;
4。 構造を使用して 1 つの Web コンテンツ記事を作成します。 タイトルといくつかの html テキストを追加します。
5. 作成した Web コンテンツ記事をページにドラッグ アンド ドロップします。
6. 作成したフォームを選択します。
期待される結果: フォームに入力して送信できます。
実際の結果: フォームは無効になり、[送信] ボタンも無効になります。
Environment
- DXP 7.1
解決策
-
この問題は、Web コンテンツ テンプレートのキャッシュが原因で発生します。 幸いなことに、この機能は UI でオフにすることができます。これにより、リクエストごとにフォームが更新されるようになります:
1. Web コンテンツ テンプレートを編集する
2. 編集ページ
3 の詳細セクションを展開します。 「キャッシュ可能」チェックボックスのチェックを外します
4. Web コンテンツ テンプレートを保存します
5. (オプション) フォームがまだ無効になっている場合は、関連する Web コンテンツ記事も更新してください。