Don't miss out Virtual Happy Hour this Friday (April 26).

Try our conversational search powered by Generative AI!

Rendering Images in Content Areas



Not sure how to map the default view for an image that has been added to a Content Area. Pre 12 version the default view was possible to be added under ~/Views/Shared/DisplayTemplates/Image.cshtml.

Trying my luck currently with Template Coordinator with no luck so far. Any hints and ideas would be appreciated.


Mar 04, 2023 17:33

Got this working with Template Coordinator - or IViewTemplateModelRegistrator, but don't think that it is the correct and most straight forward way.

For those who would be interested in this - added a registration for content of type ImageData and passed the data to a view like:

            viewTemplateModelRegistrator.Add(typeof(ImageData), new TemplateModel
                Name = "Image",
                Inherit = true,
                AvailableWithoutTag = true,
                Path = DisplayTemplatesPath("Image.cshtml")

Used the ImageData.Content link to extract the url etc..

Any other way of processing this would be appreciated.

Thank you,

Mar 04, 2023 17:49

Seems a valid solution although an alternate suggestion would be to use an PartialContentComponent, example from Alloy 

/// <summary>
/// Controller for the image file.
/// </summary>
public class ImageFileViewComponent : PartialContentComponent<ImageFile>
    private readonly UrlResolver _urlResolver;

    public ImageFileViewComponent(UrlResolver urlResolver)
        _urlResolver = urlResolver;

    /// <summary>
    /// The index action for the image file. Creates the view model and renders the view.
    /// </summary>
    /// <param name="currentContent">The current image file.</param>
    protected override IViewComponentResult InvokeComponent(ImageFile currentContent)
        var model = new ImageViewModel
            Url = _urlResolver.GetUrl(currentContent.ContentLink),
            Name = currentContent.Name,
            Copyright = currentContent.Copyright

        return View(model);
Mar 06, 2023 0:08
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.