Tridion の管理フォルダには、多くのマルチメディア タイプがあります。特定の MIME タイプの tcm id を返すメソッドを作成したいと考えています。たとえば、gif MIME タイプの場合、「tcm:0-1-65544」を返す必要があります。
誰でもこれについて考えられますか?
Tridion の管理フォルダには、多くのマルチメディア タイプがあります。特定の MIME タイプの tcm id を返すメソッドを作成したいと考えています。たとえば、gif MIME タイプの場合、「tcm:0-1-65544」を返す必要があります。
誰でもこれについて考えられますか?
各スキーマには、リストを返すAllowedMultimediaTypesというプロパティがあり、デフォルトのマルチメディアスキーマは通常、すべてのタイプを許可するように設定されています。すべてのタイプが許可されていない場合は、この目的のために特別なスキーマを作成できます。
したがって、あなたがしなければならないのは、デフォルトのマルチメディアスキーマ(またはすべてのタイプを許可する特別なスキーマ)のAllowedMultimediaTypesを取得し、入力されたmimeタイプを返された各MultimediaTypeのmimetimeと一致させることです。
これがトップからのサンプルです(テストされていません):
Schema defaultMMSchema = (Schema)engine.GetObject("Your-Default-MMSchema-WebDav-Path");
IList<MultimediaType> mmTypes = defaultMMSchema.AllowedMultimediaTypes;
foreach(MultimediaType mt in mmTypes)
{
switch(mt.MimeType)
{
case "jpg":
...
}
}
または、すぐに使用できるマルチメディアタイプのTCM IDは一定であるため、別の環境へのコンテンツ移植後に変更されることを心配する必要はありません。したがって、mimeタイプからtcmIDへのマッピングを提供するクラスを作成できます。注:カスタムアイテムタイプを作成する場合、各Tridion環境ごとにTCM IDでコードを更新する必要があるため、これはそれほど洗練されていません。
すべてのマルチメディアタイプのリストを取得して、必要なものを選択するだけです。
var mmType = ClientAdmin.GetSystemWideList(new MultimediaTypesFilterData()).Single(mt => ((MultimediaTypeData)mt).MimeType == "image/jpeg");