Suggestion for cart : enable lightbox for product with single images

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.
14 年 前
What modification did you have to make in the Productinfo.ascx file in the folowing section:

<div class="ProductDetailsInfo">
    <div class="picture">
        <asp:Image ID="defaultImage" runat="server" />
    </div>


  to make the lightbox event fire?
14 年 前
none ...
just the code change in the codebehind is all (as detailed at the start of this post) - recompile the solution and when the product page opens up, a thumbnail image should appear in 'short description' - click thumbnail to enlarge it
14 年 前
Thanks for the help but I am having issues with recompiling this.  I am using VWD 08 and the 1.4 webready release.

I do a build but it seems none of the DLL files in the BIN folder changes so I made a cahnge in my web.config file to force my site to recompile on load but still no luck.  Any advise on the build process is appreciated.
14 年 前
VWD does not recompile  the project - you will need either visual studio08 or 2010beta

can i suggest you go to microsoft website , search for sql express and download with all features (it will download the web platform installer first)
14 年 前
A work-around would be to make your 2nd image a clear .gif, 1px by 1px.
13 年 前
Skiltz and MB,

I tried that code and it only seems to work when variants in grid is selected. But, when single product variant is selected it doesn't work. Is it true or am I missing something?  Is there a fix, because my products are displayed in single product variants?

Thanks
13 年 前
for  v1.5

open OneVariant.ascx.cs

find and edit the following accordingly :

        protected void BindProductInfo(Product product)
        {
            lProductName.Text = Server.HtmlEncode(product.Name);
            lShortDescription.Text = product.ShortDescription;
            lFullDescription.Text = product.FullDescription;

            var productPictures = product.ProductPictures;
            if(productPictures.Count > 0)
            {
                defaultImage.ImageUrl = PictureManager.GetPictureUrl(productPictures[0].PictureID, SettingManager.GetSettingValueInteger("Media.Product.DetailImageSize", 300));
                defaultImage.ToolTip = String.Format(GetLocaleResourceString("Media.Product.ImageAlternateTextFormat"), product.Name);
                defaultImage.AlternateText = String.Format(GetLocaleResourceString("Media.Product.ImageAlternateTextFormat"), product.Name);
                lvProductPictures.DataSource = productPictures;
                lvProductPictures.DataBind();
            }

//            else if(productPictures.Count == 1)
//            {
//                defaultImage.ImageUrl = PictureManager.GetPictureUrl(productPictures[0].PictureID, SettingManager.GetSettingValueInteger("Media.Product.DetailImageSize", 300));
//                defaultImage.ToolTip = String.Format(GetLocaleResourceString("Media.Product.ImageAlternateTextFormat"), product.Name);
//                defaultImage.AlternateText = String.Format(GetLocaleResourceString("Media.Product.ImageAlternateTextFormat"), product.Name);
//                lvProductPictures.Visible = false;
//            }


            else
            {
                defaultImage.ImageUrl = PictureManager.GetDefaultPictureUrl(SettingManager.GetSettingValueInteger("Media.Product.DetailImageSize", 300));
                defaultImage.ToolTip = String.Format(GetLocaleResourceString("Media.Product.ImageAlternateTextFormat"), product.Name);
                defaultImage.AlternateText = String.Format(GetLocaleResourceString("Media.Product.ImageAlternateTextFormat"), product.Name);
                lvProductPictures.Visible = false;
            }
        }


RECOMPILE AFTER ALTERATION
13 年 前
Thsank you the little change worked a treat

Steve
13 年 前
Worked like a charm.... May be better to give this option in Admin end to switch ON/OFF
13 年 前
I think it's more elegant to open lightbox directly on the default image. Here's the code if anyone's interested..

OneVariant.ascx:

<div class="picture">
            <a id="mainImage" runat="server" rel="lightbox-p"
               title="<%= lProductName.Text%>"><asp:Image ID="defaultImage" runat="server" />
            </a>
...

OneVariant.ascx.cs:
 protected void BindProductInfo(Product product)
        {
            lProductName.Text = Server.HtmlEncode(product.Name);
            lShortDescription.Text = product.ShortDescription;
            lFullDescription.Text = product.FullDescription;

            var productPictures = product.ProductPictures;
            if(productPictures.Count > 1)
            {

                mainImage.HRef = PictureManager.GetPictureUrl(productPictures[0].PictureId);
                mainImage.Title = lProductName.Text;

                defaultImage.ImageUrl = PictureManager.GetPictureUrl(productPictures[0].PictureId, SettingManager.GetSettingValueInteger("Media.Product.DetailImageSize", 300));
                defaultImage.ToolTip = String.Format(GetLocaleResourceString("Media.Product.ImageAlternateTextFormat"), product.Name);
                defaultImage.AlternateText = String.Format(GetLocaleResourceString("Media.Product.ImageAlternateTextFormat"), product.Name);
                productPictures.RemoveAt(0); //remove the default image link
                lvProductPictures.DataSource = productPictures;
                lvProductPictures.DataBind();
            }
            else if (productPictures.Count == 1)
            {
                mainImage.HRef = PictureManager.GetPictureUrl(productPictures[0].PictureId);
                mainImage.Title = lProductName.Text;

                defaultImage.ImageUrl = PictureManager.GetPictureUrl(productPictures[0].PictureId, SettingManager.GetSettingValueInteger("Media.Product.DetailImageSize", 300));
                defaultImage.ToolTip = String.Format(GetLocaleResourceString("Media.Product.ImageAlternateTextFormat"), product.Name);
                defaultImage.AlternateText = String.Format(GetLocaleResourceString("Media.Product.ImageAlternateTextFormat"), product.Name);
                lvProductPictures.Visible = false;
            }
            else
            {
                mainImage.Attributes.Remove("rel");
                
                defaultImage.ImageUrl = PictureManager.GetDefaultPictureUrl(SettingManager.GetSettingValueInteger ("Media.Product.DetailImageSize", 300));
                defaultImage.ToolTip = String.Format(GetLocaleResourceString("Media.Product.ImageAlternateTextFormat"), product.Name);
                defaultImage.AlternateText = String.Format(GetLocaleResourceString("Media.Product.ImageAlternateTextFormat"), product.Name);
                lvProductPictures.Visible = false;
            }
        }
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.