how to show product thumbnail on orderdetails

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.
Il y a 13 ans
I just change some code on administration/modules/OrderDetails.ascx

I added:


               <asp:TemplateField HeaderText="<% $NopResources:Admin.Products.Image %>">
            <ItemTemplate>
                <asp:Image runat="server" ID="imgProduct" ImageUrl='<%#GetProductImageUrl((Product)Container.DataItem)%>' />
            </ItemTemplate>
        </asp:TemplateField>



and OrderDetails.ascx.cs
i added
public string GetProductImageUrl(Product product)
        {
            ProductPicture productPicture = product.DefaultProductPicture;
            if(productPicture != null)
            {
                return PictureManager.GetPictureUrl(productPicture.Picture, SettingManager.GetSettingValueInteger("Media.ShoppingCart.ThumbnailImageSize", 80));
            }
            else
            {
                return PictureManager.GetDefaultPictureUrl(SettingManager.GetSettingValueInteger("Media.ShoppingCart.ThumbnailImageSize", 80));
            }
        }



But it does not work. anybody have done it? or any advice for it ?

Thanks a lot
Il y a 13 ans
'OrderProductVariant' collection is bound but you're trying to cast 'Product' object (<%#GetProductImageUrl((Product)Container.DataItem)%>). It's wrong. You need to pass OrderProductVariant (<%#GetProductImageUrl((OrderProductVariant)Container.DataItem)%>) and use OrderProductVariant.ProductVariant.Product property into GetProductImageUrl method
Il y a 13 ans
nopCommerce team | a.m. wrote:
'OrderProductVariant' collection is bound but you're trying to cast 'Product' object (<%#GetProductImageUrl((Product)Container.DataItem)%>). It's wrong. You need to pass OrderProductVariant (<%#GetProductImageUrl((OrderProductVariant)Container.DataItem)%>) and use OrderProductVariant.ProductVariant.Product property into GetProductImageUrl method



thanks for your help;

I just try to follow your method to change my code, but still not working




I change the orderdetail.ascx.cs

        public string GetProductImageUrl(OrderProductVariant orderProductVariant)
        {
            ProductVariant productPicture = OrderProductVariant.ProductVariant.Product.DefaultProductPicture;
            if (productPicture != null)
            {
                return PictureManager.GetPictureUrl(productPicture.Picture, SettingManager.GetSettingValueInteger("Media.ShoppingCart.ThumbnailImageSize", 80));
            }
            else
            {
                return PictureManager.GetDefaultPictureUrl(SettingManager.GetSettingValueInteger("Media.ShoppingCart.ThumbnailImageSize", 80));
            }
        }

the debug find:  " it can not found "GetProductImageUrl"
Do I need Define the GetProductImageUrl again ?
Il y a 13 ans
1. Replace ProductVariant productPicture = OrderProductVariant.ProductVariant.Product.DefaultProductPicture; with ProductVariant productPicture = orderProductVariant.ProductVariant.Product.DefaultProductPicture;
2. Recompile your solution
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.