mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-08-01 18:45:54 +08:00
Added additional tokens for MediaLibraryPickerField
Chained tokens to Text.
This commit is contained in:
parent
ef6298d272
commit
b3da02c6a6
@ -21,22 +21,70 @@ namespace Orchard.MediaLibrary.Tokens {
|
||||
public void Describe(DescribeContext context) {
|
||||
context.For("MediaLibraryPickerField", T("First media for Media Library Picker Field"), T("Tokens for Media Picker Fields"))
|
||||
.Token("Url", T("Url"), T("The url of the media."), "Url")
|
||||
.Token("MimeType", T("Mime Type"), T("The mime type of the media."), "Text")
|
||||
.Token("Caption", T("Caption"), T("The caption of the media."), "Text")
|
||||
.Token("AlternateText", T("Alternate Text"), T("The alternate text of the media."), "Text")
|
||||
.Token("FolderPath", T("Folder Path"), T("The hierarchical location of the media."), "Text")
|
||||
.Token("FileName", T("File Name"), T("The file name of the media, if applicable."), "Text")
|
||||
;
|
||||
}
|
||||
|
||||
public void Evaluate(EvaluateContext context) {
|
||||
context.For<MediaLibraryPickerField>("MediaLibraryPickerField")
|
||||
.Token("Url", field => {
|
||||
var mediaId = field.Ids.FirstOrDefault();
|
||||
var media = _contentManager.Get<MediaPart>(mediaId);
|
||||
return media == null ? "" : media.MediaUrl;
|
||||
var mediaPart = MediaPart(field);
|
||||
return mediaPart == null ? "" : mediaPart.MediaUrl;
|
||||
})
|
||||
.Chain("Url", "Url", field => {
|
||||
var mediaId = field.Ids.FirstOrDefault();
|
||||
var media = _contentManager.Get<MediaPart>(mediaId);
|
||||
return media == null ? "" : media.MediaUrl;
|
||||
var mediaPart = MediaPart(field);
|
||||
return mediaPart == null ? "" : mediaPart.MediaUrl;
|
||||
})
|
||||
.Token("MimeType", field => {
|
||||
var mediaPart = MediaPart(field);
|
||||
return mediaPart == null ? "" : mediaPart.MimeType;
|
||||
})
|
||||
.Chain("MimeType", "Text", field => {
|
||||
var mediaPart = MediaPart(field);
|
||||
return mediaPart == null ? "" : mediaPart.MimeType;
|
||||
})
|
||||
.Token("Caption", field => {
|
||||
var mediaPart = MediaPart(field);
|
||||
return mediaPart == null ? "" : mediaPart.Caption;
|
||||
})
|
||||
.Chain("Caption", "Text", field => {
|
||||
var mediaPart = MediaPart(field);
|
||||
return mediaPart == null ? "" : mediaPart.Caption;
|
||||
})
|
||||
.Token("AlternateText", field => {
|
||||
var mediaPart = MediaPart(field);
|
||||
return mediaPart == null ? "" : mediaPart.AlternateText;
|
||||
})
|
||||
.Chain("AlternateText", "Text", field => {
|
||||
var mediaPart = MediaPart(field);
|
||||
return mediaPart == null ? "" : mediaPart.AlternateText;
|
||||
})
|
||||
.Token("FolderPath", field => {
|
||||
var mediaPart = MediaPart(field);
|
||||
return mediaPart == null ? "" : mediaPart.FolderPath;
|
||||
})
|
||||
.Chain("FolderPath", "Text", field => {
|
||||
var mediaPart = MediaPart(field);
|
||||
return mediaPart == null ? "" : mediaPart.FolderPath;
|
||||
})
|
||||
.Token("FileName", field => {
|
||||
var mediaPart = MediaPart(field);
|
||||
return mediaPart == null ? "" : mediaPart.FileName;
|
||||
})
|
||||
.Chain("FileName", "Text", field => {
|
||||
var mediaPart = MediaPart(field);
|
||||
return mediaPart == null ? "" : mediaPart.FileName;
|
||||
})
|
||||
;
|
||||
}
|
||||
|
||||
private MediaPart MediaPart(MediaLibraryPickerField field) {
|
||||
var mediaId = field.Ids.FirstOrDefault();
|
||||
return _contentManager.Get<MediaPart>(mediaId);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user