2012-05-07 3 views
7

Có nhiều loại đa phương tiện trong thư mục Quản trị trong Tridion. Tôi muốn viết một phương thức trả về id tcm cho một loại mime cụ thể, ví dụ: đối với loại mf gif nó sẽ trả về "tcm: 0-1-65544".Làm cách nào để nhận id tcm của loại đa phương tiện, hãy nói jpg từ Tridion thông qua Dịch vụ chính?

Có ai có ý tưởng về điều này không?

+1

Bạn có muốn làm điều đó client hoặc server bên? –

+1

muốn thông qua các dịch vụ cốt lõi – Aquarius24

Trả lời

3

Bạn chỉ có thể có được một danh sách tất cả các loại đa phương tiện và sau đó chọn một trong những bạn cần:

var mmType = ClientAdmin.GetSystemWideList(new MultimediaTypesFilterData()).Single(mt => ((MultimediaTypeData)mt).MimeType == "image/jpeg"); 
+0

@ user978511. cảm ơn nó đã giúp tôi rất nhiều – Aquarius24

4

Mỗi lược đồ có một thuộc tính được gọi là AllowedMultimediaTypes trả về một danh sách và Lược đồ đa phương tiện mặc định thường được thiết lập để cho phép tất cả các loại. Nếu nó không cho phép tất cả các loại, thì bạn có thể tạo một lược đồ đặc biệt cho mục đích này. Vì vậy, tất cả những gì bạn phải làm là lấy AllowedMultimediaTypes của lược đồ đa phương tiện mặc định (hoặc lược đồ đặc biệt của bạn cho phép tất cả các loại) và sau đó khớp với loại mime đầu vào của bạn vào các mimetimes của từng loại MultimediaType trả về.

Dưới đây là một số mẫu ra khỏi đỉnh (không kiểm tra):

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": 

    ... 
    } 
} 

Ngoài ra, TCM ID của các out-of-the-box loại đa phương tiện là không đổi, do đó bạn không cần phải lo lắng về chúng thay đổi sau khi Content Porting sang một môi trường khác. Do đó bạn có thể viết một lớp cung cấp ánh xạ kiểu MIME tới ID tcm. Lưu ý: điều này sẽ không được thanh lịch nếu bạn tạo các loại mục tùy chỉnh vì bạn sẽ cần phải cập nhật mã của bạn với ID TCM của nó cho mỗi môi trường Tridion.

+0

@ Nickoli Cảm ơn thông tin nhưng nếu bạn có thể chia sẻ tóm tắt mã về việc sử dụng AllowedMultimediaTypes thì wiil sẽ giúp ích rất nhiều cho tôi. Cảm ơn – Aquarius24

+0

Tôi đã cập nhật câu trả lời với một số mã mẫu cho bạn (lưu ý: bạn sẽ cần phải xác minh loại mime trong câu lệnh chuyển đổi của mã mẫu). Chúc mừng mã hóa! –

+0

@ cảm ơn Nickoli .. – Aquarius24