【问题标题】: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();
    

    【讨论】:

    • 谢谢你太棒了,我什至从未想过要去看那里。效果很好
    猜你喜欢
    • 2011-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多