2016-03-23 13 views
0

私はsitecoreのURLのパスを取得し、実際のURLと一致させるメニューを持っています。 IE:私が何をしようとしています何URLの代わりにタイトルフィールドを取得する方法

ホーム/メイン/フォルダ/この-ある-タイトル= www.website.com/this-is-the-title

は、「タイトル」フィールドを使用していますSitecoreでpathプロパティの代わりにページにタイトルを表示することができます。

HTML

<ItemTemplate> 
    <div class="leftNavImage"> 
     <li> 
     <asp:HyperLink ID="innerHyperLink" runat="server" ></asp:HyperLink> 
     </li> 
    </div> 
</ItemTemplate> 

C#

if (innerItem != null) 
{ 
    if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) 
    { 
     // this creates a link to the page in sitecore once clicked 
     HyperLink topNavigation = (HyperLink)e.Item.FindControl("innerHyperLink"); 
     topNavigation.NavigateUrl = LinkManager.GetItemUrl(innerItem); 
     topNavigation.Text = innerItem.Name; 
    } 
} 

私はハイパーリンクその間のフロントエンドに追加しようとしたが、それがなかった全てのタイトルを取り、代わりにページリンクのすべてのリンクで複製しました。また、タイトルを表すためにバックエンドに変数を設定しようとしましたが、協力していませんでした。var title = Sitecore.Context.Item ["Title"]。ToString; 。私はそれが簡単な答えだと確信していますが、私はそれを見逃しているようです。

<ItemTemplate> 
    <div class="leftNavImage"> 
     <li> 
      <asp:HyperLink ID="innerHyperLink" runat="server" > 
       <sc:Text Field="Title" Item="<%# Container.DataItem %>" runat="server" /> 
      </asp:HyperLink> 
     </li> 
    </div> 
</ItemTemplate> 

あなたは完全にコードの背後にあるコードを取り除きたい場合は、あなたとasp:HyperLinkを置き換えることができます:あなたはまた、単にsc:Textsc:FieldRendererコントロールを使用して、リピーターに項目を設定することができ

答えて

2
if (innerItem != null) 
    { 
     if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) 
     { 
      // this creates a link to the page in sitecore once clicked 
      HyperLink topNavigation = (HyperLink)e.Item.FindControl("innerHyperLink"); 
      topNavigation.NavigateUrl = LinkManager.GetItemUrl(innerItem); 
      topNavigation.Text = innerItem["Title"]; 

     } 
    } 
+0

shazam ...ありがとう!それは簡単だとわかった – Keith

2

<a href="<%# Sitecore.Links.LinkManager.GetItemUrl((Sitecore.Data.Items.Item) Container.DataItem) %>"> 
    <sc:Text Field="Title" Item="<%# Container.DataItem %>" runat="server" /> 
</a> 
+0

私はこれを後でお使いになります – Keith

関連する問題