23

以前にこれを行ったことがあることは知っていますが、どこでどのように行ったか思い出せないようです。

Sitecore のアイテムへのリンクを作成したいと考えています。このコード:

Sitecore.Data.Items.Item itm = Sitecore.Context.Database.GetItem(someID);
return itm.Paths.Path.ToString();

次の文字列を生成します。

http://localhost/sitecore/content/Home/Item1/Item11/thisItem

代わりにこの文字列が欲しいです:

http://localhost/Item1/Item11/thisItem.aspx

アイテムへのパスを取得する正しい方法は何ですか? この場合、通常の Sitecore リンクは使用できません。

Sitecore.Web.UI.WebControls.Link
4

6 に答える 6

37

Sitecore v6 またはそれ以降のものを実行していると仮定すると、これが必要になります (8.2-6 でテスト済み、9 でも動作するはずです)。

Sitecore.Links.LinkManager.GetItemUrl(item);
于 2009-03-23T20:30:52.380 に答える
4

まだ Sitecore 5.3 を使用している場合は、これを使用できます。このメソッドは、Sitecore 6.0 で廃止されることに注意してください。

string url = item.Paths.GetFriendlyUrl();
于 2009-07-31T02:49:26.147 に答える
0

これを試して

  <asp:HyperLink ID="hlItem" runat="server">

    </asp:HyperLink>

aspx.cs

   Sitecore.Data.Items.Item itm = Sitecore.Context.Database.GetItem("/sitecore/content/Home");

    hlItem.Navigateurl =sitecore.links.linkmanager.getitemurl(itm);
于 2014-08-29T15:51:10.697 に答える
-6

これによっても行うことができます:

Item.Paths.FullPath

それは次と同じです:

Sitecore.Links.LinkManager.GetItemUrl(item);
于 2012-08-09T17:59:58.800 に答える