0

私は Asp.Net CMS Umbraco を使用していますが、Umbraco CMS に固有のものがあるかどうかを判断するための助けが必要です操作。

私が使用しているメニュー バー コードは、Umbraco に同梱されているフレンドリー ゴースト テーマに基づいています。

メニューで異なる色を使用する通常の方法は次のようになります

       div # menu ul.rMenu li.page-item-(some number) {background-color: # (whatever);}

        ...

        ...

<li class "rMenu-expand page-item-(the same number as above)"><a href="(link to whatever site on the menu)">
    <span> Wording for the particular tab </span></a></li>

そしてビンゴ...(いくつかの)タブには(何でも)色があります!


ただし、Umbraco は、上記の戦略と完全に互換性がない別のセットアップを使用しているようです。*umbTextpage id *parentID *nodeType ... または、まだ気づいていないまったく別のものを見るべきですか?

nodeName は特定のタブの文言に使用されていると思います...それでは、nodeType はタブ自体を参照する必要がありますか???


それは素晴らしいです、ありがとう。ただし、メニューは xslt を使用して動的に生成されます。そのコード (xslt に変換されたもの) をメニュー生成プロセスに挿入する必要があると思いますか...

 <xsl:for-each select="$currentPage/ancestor-or-self::* [@level=$level]/* [@isDoc and string(umbracoNaviHide) != '1']">

     <li>

       <xsl:if test="@id = $currentPage/@id">

          <xsl:attribute name="class">current</xsl:attribute>

       </xsl:if>

      <a class="navigation" href="{umbraco.library:NiceUrl(@id)}">

       <span><xsl:value-of select="@nodeName"/></span>

      </a>

    </li> 

...または事後にレーザーコードを使用しようとしますか (つまり、メニューを作成し、その後メニューの要素を循環させて、各ノードに数値の「タグ」を与えます)?

4

1 に答える 1

0

Umbraco の優れた点は、レイアウトを完全に制御できることです。好きなようにメニューを作成できます。

メニューの生成に xslt と razor のどちらを使用しているかはわかりませんが、「page-number-」に追加する一意の番号を取得しようとしている場合は、ノードの ID を使用してください。ノードの名前が編集された場合。

Umbraco 4.7 カミソリを使用すると、次のようになります。

@{
    <ul>
    @foreach (var node in Model.AncestorOrSelf().Children.Where("Visible"))
    {
        <li class="rMenu-expand page-item-@node.Id">
            <a href="@node.Url">
                <span>@node.Name</span>
            </a>
        </li>
    }
    </ul>
}
于 2012-06-14T12:22:04.437 に答える