【问题标题】:Nopcommerce 2.30 Image Shown in the OrderSummary.cshtml page在 OrderSummary.cshtml 页面中显示的 Nopcommerce 2.30 图像
【发布时间】:2012-12-08 15:05:16
【问题描述】:
在将图片添加到产品多属性部分之前,购物车中为该产品显示的图片是该产品的产品图片列表中的第一个产品图片。现在显示 Productvariant 图像。
如何保留 productvariant 图片,但又恢复为使用产品图片中的第一张图片作为购物车中显示的图片?
@if (Model.ShowProductImages)
{
<td class="productpicture">
<img style="border-width: 0px;" alt="@item.Picture.AlternateText" src="@item.Picture.ImageUrl" title="@item.Picture.Title" />
</td>
}
【问题讨论】:
标签:
asp.net-mvc-3
nopcommerce
【解决方案1】:
在 Nop.Web.Controllers.ShoppingCartController.cs 中,函数 PrepareShoppingCartModel:
using (profiler.Step("Picture"))
{
//picture
if (_shoppingCartSettings.ShowProductImagesOnShoppingCart)
{
var picture = _pictureService.GetPictureById(sci.ProductVariant.PictureId);
if (picture == null)
{
picture = _pictureService.GetPicturesByProductId(sci.ProductVariant.Product.Id, 1).FirstOrDefault();
}
cartItemModel.Picture = new PictureModel()
{
ImageUrl = _pictureService.GetPictureUrl(picture, _mediaSetting.CartThumbPictureSize, true),
Title = string.Format(_localizationService.GetResource("Media.Product.ImageLinkTitleFormat"), cartItemModel.ProductName),
AlternateText = string.Format(_localizationService.GetResource("Media.Product.ImageAlternateTextFormat"), cartItemModel.ProductName),
};
}
}
只需将开头部分更改为:
var picture = _pictureService.GetPicturesByProductId(sci.ProductVariant.Product.Id, 1).FirstOrDefault();