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 に答える