問題タブ [diazo]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
plone - Diazo テーマと ZCML の resourceDirectory に同じフォルダーを使用する
Resource FolderとDiazo Resourcesのドキュメントで、次のようにそれぞれリソース フォルダーを作成できると思います。
と
私の質問は次のとおりです。1 つの同じディレクトリを使用して、両方のリソース フォルダー登録のニーズを満たすことはできますか? 適切でない場合、どのような問題が発生する必要がありますか?
xml - Plone - XSLT/Diazo - Plone を置き換える portal-personaltools マークアップ
Plone portal-personaltools メニューのマークアップを置き換えようとしていますが、いくつかの問題に遭遇しています。最初の問題は、XSL 変換が実行されているかどうかわからないことです。タグ内に配置しています。私の rules.xml ファイルは次のとおりです。
正解です?XSL 変換が実行されているかどうかさえわからないため、私の XSL 変換は完了していませんが、変換しようとしているコードは次のとおりです。
これに:
アップデート:
Plone がサインイン ボタンとユーザー アクション メニューをどのように表示するかについて、2 つ目の質問があります。ユーザーがログインしていないときにサインイン ボタンを表示し、ユーザーがログインしている間はユーザー アクション メニューのみを表示するようにルールを変更するにはどうすればよいですか? 私が修正した rules.xml は、この投稿の最後にある、追加のメモ/情報の後にあります。
Dan の修正に基づくスクリーンショット
ダンによって提供されたソリューションにいくつかのわずかな変更を加えた後、ユーザーがログインしている間にユーザー アクション メニューを示すドロップダウンと共にユーザー名を表示するユーザー アクション メニューを用意しました。ユーザーがログオフしている間、私が今持っているのはサインイン ボタンのない空の Twitter Bootstrap ボタン。
ログアウトしたスクリーンショット
ログイン中のスクリーンショット
ユーザーがログに記録されていない場合、HTML マークアップを次のように表示したいと考えています。
しかし、私の HTML マークアップは現在、ユーザーがログインしていないときに表示されます。
最後に、変更した rules.xml
前もって感謝します!
resources - Ploneポータルレジストリに新しいスタイルの静的リソースを見つけてクックさせるにはどうすればよいですか?
のようなIDで登録したすべてのJSで++theme++mythemename/js/myscript.js
、次のエラーが発生しますportal_javascripts
。(resource not found or not accessible)
localhost/mysite/++theme++mythemename/js/myscript.js
(Diazoが無効になっていても)アクセスできるので、IDが正しいことはわかっています。
開発モードがオンの場合、リソースは最終的な HTML で配信されます。ただし、プロダクション モードでは、クッキング プロセスは黙って失敗します。またはほとんど。に表示されたものとは異なるキャッシュキーを取得するだけでなく、クックportal_javascripts/manage_jsComposition
されたファイルにアクセスすると、次のエラー メッセージが表示されます。
/* XXX ERROR -- access to '++theme++mythemename/js/myscript.js' not authorized */
それらに対処する方法についてのヒントはありますか?それとも、本当に生のままにしておく必要がありますか?
css - 特定のコンテナからテーマを除外する
diazo と少なくとも twitter-bootstrap の一部を使用して、plone によって管理される Web サイトのテーマを作成しています。個人的にはあまり嬉しくない組み合わせですが、そういう風にリクエストされました。さて、私は先日、内部のエディターでスタイル設定された、独自のデザインで提供されると思われるポートレットがいくつかあることを知らされました (エディターは、スタイルを直接 html に書き込むようです)。つまり、それ以上テーマを適用する必要はありませんが、ブートストラップ css はパターンを認識し、とにかくハイジャックします。
のフォームを使用してそれをブロックしようとしました<notheme css:if-content=".theStaticPortlet" />
が、このようなコンテナーが見つかるたびに、サイト全体でテーマがブロックされてしまいました.
特定のコンテナ/クラスがテーマに悩まされないようにする方法はありますか?
ajax - DiazoでPloneのfolder_rename_formを表示する
私は<notheme if="$ajax_load" />
rules.xmlに持って<notheme if-path="folder_rename_form/" />
いますが、[アクション] メニューの名前変更オーバーレイが表示されるように追加する必要があることもわかりました。しかし、このルールでは、folder_contents に移動してアイテムを選択し、そこから名前の変更をクリックすると、テーマのないページが表示されます。名前の変更が両方の場所で適切に機能するようにするには、どの規則を使用できますか?
#portal-column-content からすべてを取得しているので、#content があります。
plone - Diazo と xslt "call-template"
diazo ルールで xslt の "call-template" ディレクティブを使用しようとしています。
しかし、xsl:template を設定し、ルールで xsl:call-template を使用して呼び出すと、diazo デバッガーから例外が発生します。
要素テンプレートはスタイルシートの子としてのみ許可されています
どうしたの?call-tempalte を使用できますか? そうでない場合、どうすれば xslt テンプレートで自分自身を繰り返さないことができますか?
例:
diazo は xsl:stylesheet ( https://github.com/plone/diazo/blob/master/lib/diazo/normalize-rules.xsl ) として定義されたファイルでこれを管理できることがわかりましたが、ルールでは直接ではありませんが、アドオン パッケージでこれをどのように管理しますか?
ありがとう
xslt - 値を追加して特定のタグの属性を変更する
この例のようにhttps://plone-theming-with-diazo.readthedocs.org/en/latest/snippets_diazo/recipes/index.html#add-attributes-on-the-fly 特定のすべてのクラスを変更する必要がありますタグ、値の追加 (コンテンツ側)。
このルールは機能しません:
「navTreeLevel0」クラスの ul 内のすべての li タグに値「no-bullet」を追加したいと考えています。
Diazo は例外を発生させません。
同じルールファイルで同様の状況が発生しましたが、この場合は機能します:
どうしたの?ヴィート