ビルド アイテムとメディアのURL
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
Sitecoreがアイテムに使用するURLをプログラムで作成でき、この方法でアイテムとメディアの両方のURLを作成できます。APIがURLを作成する方法を制御するには、itemアイテムとメディア アイテムのsクラスをそれぞれthe the store ItemUrlBuilderOptionsクラスとMediaUrlBuilderOptionsクラスを使用します。言語の埋め込み、絶対パスまたは相対パス、表示名や項目名の使用などを制御できます。
アイテムのURLを作成する
Sitecore.Abstractions.BaseLinkManagerクラスは、アイテムのURLをレンダリングするためのパブリックAPIを提供します。
どこ
-
Itemは、URLを生成するアイテムです。
-
ItemUrlBuilderOptionsは、URLを生成するための仕様です。
ItemUrlBuilderOptions仕様を使用して、SitecoreがURLを作成する方法を制御します。このクラスは、Sitecoreがアイテムとメディア アイテムの両方のURLを生成する方法を制御するために使用する共通プロパティを含むSitecore.Links.UrlBuilders.UrlBuilderOptionsクラスを拡張します。
次の表では、これら2つのクラスのプロパティについて説明します。
UrlBuilderOptions クラス
|
財産 |
形容 |
|---|---|
|
bool? AlwaysIncludeServerUrl |
サーバURLを常に含めるかどうかを指定します。 |
|
Language Language |
言語を指定します。デフォルトはContext.Languageです。 |
|
LanguageEmbedding? LanguageEmbedding |
SitecoreがURLに言語を埋め込むかどうか、またどのように埋め込むかを指定します。 |
|
LanguageLocation? LanguageLocation |
Sitecoreが言語をURLパスに配置するか、クエリ文字列に配置するかを指定します。 |
|
bool? LowercaseUrls |
Sitecoreが小文字のURLをレンダリングするかどうかを指定します。 |
|
bool? EncodeNames |
SitecoreがURLで名前をエンコードするかどうかを指定します。 |
|
bool? UseDisplayName |
SitecoreがURLを生成するときに表示名を使用するかどうかを指定します。 |
ItemUrlBuilderOptions クラス
|
財産 |
形容 |
|---|---|
|
bool? AddAspxExtension |
SitecoreがURLに .apsx拡張子を追加するかどうかを指定します。 |
|
bool? SiteResolving |
Sitecoreがサイトの解決を有効にするかどうかを指定します。 |
|
SiteContext Site |
サイトを指定します。 |
|
bool? ShortenUrls |
SitecoreがURLを短縮するかどうかを指定します。 |
BaseLinkManagerクラスのデフォルトのSitecore実装では、Sitecore.Links.LinkProviderクラスが使用されます。LinkProviderクラスは、ItemUrlBuilderクラスを使用してアイテムのURLを生成します。カスタムURLビルダーを挿入するには、<links/itemUrlBuilder> 構成ノードにパッチを適用します。
ItemUrlBuilderクラスには、ItemUrlBuilderOptions仕様のnull値または指定されていない値のフォールバックとしてSitecoreが使用する仕様 であるDefaultItemUrlBuilderOptions型のパラメーターを1つ受け取る1つのコンストラクターがあります。
DefaultItemUrlBuilderOptionsパラメーターには、ItemUrlBuilderOptionsオプションと同じプロパティのセットがありますが、これらのプロパティをnullにすることはできません。
次の例は、設定にパッチを適用する方法を示しています。
次の表では、構成ノードとこれらのノードの値について説明します。
|
構成ノード |
価値 |
|---|---|
|
alwaysIncludeServerUrl |
Sitecoreが生成されたURLに現在のサーバー URLを常に追加するかどうかを指定します。デフォルトはfalseです。 |
|
languageEmbedding |
Sitecoreが生成するURLに言語名を埋め込むかどうかを指定します。オプションは、asNeeded | always | neverです。デフォルトはasNeededです。 |
|
languageLocation |
Sitecoreが言語をURLパスに配置するか、クエリ文字列に配置するかを指定します。オプションはfilePath | queryStringです。デフォルトはfilePathです。 |
|
lowercaseUrls |
Sitecoreが生成するURLを小文字にするかどうかを指定します。デフォルトはfalseです。 |
|
encodeNames |
Sitecoreが生成するURLに名前をエンコードするかどうかを指定します。デフォルトはtrueです。 |
|
useDisplayName |
Sitecoreがアイテムの表示名を使用するかどうかを指定します。デフォルトはfalseです。 |
|
addAspxExtension |
Sitecoreが生成するURLに .aspx拡張機能を追加するかどうかを指定します。デフォルトはfalseです。 |
|
siteResolving |
SitecoreがアイテムのURLをレンダリングするときにサイト情報を解決するかどうかを指定します。デフォルトはtrueです。 |
|
shortenUrls |
Sitecoreが生成するURLを短縮するかどうかを指定します。デフォルトはtrueです。 |
例
このアイテム /sitecore/content/home/sample itemがあり、そのアイテムに英語版とデンマーク語版がある場合、次のコードは、英語版のhttp://{HOST}/en/Sample Itemとデンマーク語版のhttp://{HOST}/da/Sample ItemのようなURLを生成します。
メディアアイテムのURLを作成する
Sitecore.Abstractions.BaseMediaManagerクラスは、メディアURLをレンダリングするための公開APIを提供します。
どこ
-
MediaItemは、URLを生成するメディアアイテムです
-
MediaUrlBuilderOptionsは、メディアURLを生成するための仕様です。
MediaUrlBuilderOptions仕様を使用して、SitecoreがURLを作成する方法を制御します。このクラスは、Sitecoreがアイテムとメディア アイテムの両方のURLを生成する方法を制御するために使用する共通プロパティを含むSitecore.Links.UrlBuilders.UrlBuilderOptionsクラスを拡張します。
次の表では、これら2つのクラスのプロパティについて説明します。
UrlBuilderOptions クラス
|
財産 |
形容 |
|---|---|
|
bool? AlwaysIncludeServerUrl |
サーバURLを常に含めるかどうかを指定します。 |
|
Language Language |
言語を指定します。デフォルトはContext.Languageです。 |
|
LanguageEmbedding? LanguageEmbedding |
SitecoreがURLに言語を埋め込むかどうか、またどのように埋め込むかを指定します。 |
|
LanguageLocation? LanguageLocation |
Sitecoreが言語をURLパスに配置するか、クエリ文字列に配置するかを指定します。 |
|
bool? LowercaseUrls |
Sitecoreが小文字のURLをレンダリングするかどうかを指定します。 |
|
bool? EncodeNames |
SitecoreがURLで名前をエンコードするかどうかを指定します。 |
|
bool? UseDisplayName |
SitecoreがURLを生成するときに表示名を使用するかどうかを指定します。 |
MediaUrlBuilderOptionsクラス
|
財産 |
形容 |
|---|---|
|
bool? AbsolutePath |
Sitecoreが絶対パスを使用してメディア リンクをレンダリングするかどうかを指定します。 |
|
bool? AllowStretch |
Sitecoreがレンダリング時にメディアを引き伸ばすことを許可するかどうかを指定します。 |
|
bool? AlwaysAppendRevision |
Sitecoreが常にメディア アイテムのリビジョンを追加するかどうかを指定します。 |
|
bool? DisableBrowserCache |
Sitecoreが、ブラウザーがメディア アイテムをキャッシュしないようにヘッダー値を設定するかどうかを指定します。 |
|
bool? DisableMediaCache |
Sitecoreが、ブラウザーがメディア アイテムをメディア キャッシュにキャッシュしないようにするプロパティを設定するかどうかを指定します。 |
|
bool? IgnoreAspectRatio |
Sitecoreがメディアのサイズを変更するときにアスペクト比を無視するかどうかを指定します。 |
|
bool? IncludeExtension |
SitecoreがURLに拡張機能を含めるかどうかを指定します。が生成されます。 |
|
bool? Thumbnail |
メディアアイテムがサムネイルであるかどうかを指定します。 |
|
bool? UseDefaultIcon |
Sitecoreがメディア アイテムにデフォルトのアイコンを使用するかどうかを指定します。 |
|
bool? UseItemPath |
SitecoreがメディアURLを作成するときにアイテム パスを使用するかどうかを指定します。 |
|
int? Height |
メディア項目の高さを指定します。 |
|
int? MaxHeight |
メディア項目の最大高さを指定します。 |
|
int? Width |
メディア項目の幅を指定します。 |
|
int? MaxWidth |
メディア項目の最大幅を指定します。 |
|
float? Scale |
メディア項目のスケールを指定します。 |
|
string DefaultIcon |
デフォルトのアイコンを指定します。 |
|
string RequestExtension |
要求メディア拡張を指定します。 |
|
string VirtualFolder |
メディアアイテムの仮想フォルダを指定します。 |
|
string ItemRevision |
メディア項目の項目リビジョンを指定します。 |
|
Color? BackgroundColor |
背景色を指定します。 |
例
メディアアイテム /sitecore/media library/Images/myImageがある場合、次のコードは次のようなURLを生成しますhttp://{HOST}/-/media/Images/myImage.ashx?bc=White&h=300&w=200