Hi LAM
From having a look at CatalogController.cs it doesn't look like the PictureModel for the Category is created in the Category Method.
It creates for subcategories but not the current category
//prepare picture model
int pictureSize = _mediaSetting.CategoryThumbPictureSize;
var categoryPictureCacheKey = string.Format(ModelCacheEventConsumer.CATEGORY_PICTURE_MODEL_KEY, x.Id, pictureSize, true, _workContext.WorkingLanguage.Id, _webHelper.IsCurrentConnectionSecured());
subCatModel.PictureModel = _cacheManager.Get(categoryPictureCacheKey, () =>
{
var pictureModel = new PictureModel()
{
FullSizeImageUrl = _pictureService.GetPictureUrl(x.PictureId),
ImageUrl = _pictureService.GetPictureUrl(x.PictureId, pictureSize),
Title = string.Format(_localizationService.GetResource("Media.Category.ImageLinkTitleFormat"), subCatName),
AlternateText = string.Format(_localizationService.GetResource("Media.Category.ImageAlternateTextFormat"), subCatName)
};
return pictureModel;
});
At a guess the following should do the trick in 2.5 do it after you create the model on line 701(?)
//prepare picture model
int pictureSize = _mediaSetting.CategoryThumbPictureSize; // use a different size here
var categoryPictureCacheKey = string.Format(ModelCacheEventConsumer.CATEGORY_PICTURE_MODEL_KEY, model.Id, pictureSize, true, _workContext.WorkingLanguage.Id, _webHelper.IsCurrentConnectionSecured());
model.PictureModel = _cacheManager.Get(categoryPictureCacheKey, () =>
{
var pictureModel = new PictureModel()
{
FullSizeImageUrl = _pictureService.GetPictureUrl(x.PictureId),
ImageUrl = _pictureService.GetPictureUrl(x.PictureId, pictureSize),
Title = string.Format(_localizationService.GetResource("Media.Category.ImageLinkTitleFormat"), model.Name),
AlternateText = string.Format(_localizationService.GetResource("Media.Category.ImageAlternateTextFormat"), model.Name)
};
return pictureModel;
});
Not tested this code but should be along these lines
HTH
Dave