Umbracoで構築されたサイトがあり、いくつかのウィジェットが設定されたサイドバーがあります。ウィジェットの1つ(XSLTとして実行)が特定のページにのみ表示されるように設定する必要があります。xsl:ifテストと一致を使用して調べましたが、理解できません。
質問する
127 次
1 に答える
1
あなたは正しい道を進んでいますが、質問にすでに試したこと(コードなど)を含める習慣を身につけてください。
クイック + ダーティ メソッド
ページの ID (コンテンツ セクションのノードのプロパティ タブにあります) を見つけて、次のコードを使用します。
<xsl:if test="$currentPage/@id = 1234">
<!-- your widget here -->
</xsl:if>
クリーナーメソッド
常にスケーラブルになるようにコードを作成するようにしてください。たとえば、将来別のページにウィジェットを含めたい場合や、コンテンツをステージングから本番環境にデプロイするときに、気付かないうちにノード ID が変更される場合があります (多くの場合ではありませんが、発生する可能性があります)。
問題のページにプロパティを追加し (これを と呼びましょうshowMyFancyWidget
)、true/false データ型として追加し、[コンテンツ] セクションでそれをフリックしてから、次のコードを使用します。
<xsl:if test="$currentPage/showMyFancyWidget = 1">
<!-- your widget here -->
</xsl:if>
このコードは、Umbraco v4.5.1 以降で機能します。v5 についてはよくわかりませんが、いずれにせよ v4.7 を支持して中止されています。
于 2012-06-27T11:46:43.270 に答える