0

Umbracoで構築されたサイトがあり、いくつかのウィジェットが設定されたサイドバーがあります。ウィジェットの1つ(XSLTとして実行)が特定のページにのみ表示されるように設定する必要があります。xsl:ifテストと一致を使用して調べましたが、理解できません。

4

1 に答える 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 に答える