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.