Plone 4.2 (4.0.1 から) にアップグレードし、テーマ製品を XDV から Diazo に移行しています。
オーバーレイからカスタム ページ テンプレートにフォームを送信すると、結果のページが「プレーン」になるバグが発生しました。「プレーン」とは、表示されるコンテンツがメイン コンテンツ エリアのみであること、plone ナビゲーション、ロゴがないこと、スタイル シートが存在しないことなどを意味します。このページに渡された「情報」メッセージがあり、それがレンダリングされますページの上部 (ただし、plone またはテーマ スタイルでスタイル設定されているものはありません)。ターゲット ページが Plone スペースの外に完全にレンダリングされるようなものです。
rules.xml に追加して、対応する ajax_load = python: request.form.get('ajax_load') をテーマ コントロール パネルの [詳細設定] セクションのパラメーターに追加しようとしました。ただし、オーバーレイはまだテーマ化されており、フォームのターゲット ページはまだ「プレーン」です (「テーマ化されていない」とは言いません。テーマ化されていない Plone ページでさえ、基本的なロゴ、ナビゲーションなどをまだ持っているからです)。
また、オーバーレイ テンプレートにこの ID のアイテムを追加して貼り付けようとしましたが、オーバーレイは引き続きテーマ化されます。
テーマルールを使用しています
オーバーレイがテーマのままである理由と、これが問題の一部であるかどうかわかりませんか? また、フォーム ターゲット ページ テンプレートが「プレーン」にレンダリングされる理由も不明です。
同じフォームを(オーバーレイからではなく)通常どおり送信すると、ターゲットページは適切にテーマ化されてレンダリングされます...
これをデバッグするためのヒントは大歓迎です。
Plone 4.2.0.1 と plone.app.theming 1.1a2 を使用しています。私のテーマはファイル システム ベースです。
編集:私のオーバーレイフォームのいくつかは正しく機能しています。違いは、フォーム アクションの場所にあるようです。
form tal:attributes="action request/URL" - 正常に動作します
form tal:attributes="action string:${context/absolute_url}/@@view" - オーバーレイ フォームから呼び出された場合、最初のレンダリングで「プレーンな」ページが表示されます (上記で説明したように、同じフォームから呼び出された場合は問題ありません)。オーバーレイで)
「プレーンな」ページ html は次のようになることに注意してください (ベースの Plone や Theme ヘッドが含まれていないことに注意してください):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><base href="http://localhost:8080/Plone/sectionfoo/sectionbar/mypage" /><!--[if lt IE7]></base><![endif]--></head>
<body class="template-view portaltype-myCustomType site-Plone section-sectionfoo icons-on havePortlets haveLeftPortlets haveRightPortlets" dir="ltr">
<h1 class="documentFirstHeading">Why is this page plain?</h1>
...
また、テーマ製品を完全にアンインストールしようとしましたが、バニラ plone のこれらの特定のオーバーレイ フォームから同じ動作が見られます...