2

サイトコアが生成した URL からサイトコア/コンテンツを正常に削除した人はいますか?

Sitecore リンク マネージャーを使用して URL を生成しています。マルチサイトのセットアップがあり、Siteresolving オプションを true に有効にしました。ただし、Link Manager を使用してこれを機能させる方法はないようです。

GetFriendlyUrl メソッドは、サイトコア/コンテンツなしで URL を生成するようですが、残念ながら非推奨であるため、ここではオプションではありません。

LinkProvider を上書きし、URL からサイトコア/コンテンツを削除するカスタム ロジックを作成することを提案している人を見てきました。これは機能しますが、実際には良い解決策ではありません。

ここで他の Sitecore の専門家から学びたいと思っています。

参考までに: Sitecore 6.4 を使用しています。

乾杯!

4

3 に答える 3

4

このブログ投稿からサイトが正しく構成されていることを確認してください: URL に '/sitecore/content' がありますか? それを修正する時間です。

于 2012-08-01T17:59:31.660 に答える
3

私は解決策を見つけました。私のマルチサイト構成は、Mark の参照どおりに正しいものでした。この問題を解決するために私がしたことは、リンクを生成するときに使用するサイト コンテキストを指定することでした。

Sitecore.Links.UrlOptions URLOptions = new Sitecore.Links.UrlOptions();
URLOptions.Site = Sitecore.Configuration.Factory.GetSite(Your_Site_Name);
return Sitecore.Links.LinkManager.GetItemUrl(ThisItem, URLOptions);
于 2012-10-08T04:51:43.670 に答える
0

参考までに、次のスニペットは、あるサイト コンテキストのコンテンツが別のサイト コンテキストから参照されているシナリオで、正しいコンテキスト サイトを識別するのに役立つことがわかりました。Googleに正しいURLを通知するために正規リンクを更新する予定です。

public static Sitecore.Web.SiteInfo GetSite(this Sitecore.Data.Items.Item itemYouNeedToCheck)
{
return Sitecore.Configuration.Factory.GetSiteInfoList()
    .OrderByDescending(x=> x.RootPath.Length)
    .FirstOrDefault(x => x.Database!="core" &&    itemYouNeedToCheck.Paths.FullPath.StartsWith(x.RootPath));
}
于 2015-07-14T01:30:23.173 に答える