1

在将图像添加到产品变体部分之前,购物车中为产品显示的图像是该产品的产品图像列表中的第一个产品图像。现在显示 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>
                    }
4

1 回答 1

2

在 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();
于 2012-12-11T16:04:05.597 回答