Hi again,
here is the code for loading images not only for the selected language, but also for the selected portal skin (blue, gray and orange for the moment).
Note also that you will have to create a number of new image files, one for each skin and language selected. So, each image file should have the following format:
"<File Name>_<Skin Color (Blue-Gray-Orange)>_<curentculture>.gif" (for example: "addtocartimg_Gray_en-US.gif").
Code Changes:
File: ProductDetail.ascx.cs
Member Function: processToken()
Code Implementation: added lines have blue color, commented lines have red color and unchanged code has black color
private Control processToken(string tokenName)
{
//object variable added for getting info concerning active portal skin
UI.Skins.SkinInfo skinInfo = null;
switch (tokenName)
{
...
...
case "PURCHASEIMG":
ImageButton btnPurchaseImg = new ImageButton();
//code for showing image files based on language and portal skin selected
skinInfo = UI.Skins.SkinController.GetSkin(UI.Skins.SkinInfo.RootSkin, PortalSettings.PortalId, DotNetNuke.UI.Skins.SkinType.Portal);
if (skinInfo == null)
{
//no portal skin has been selected, so use the default (blue)
btnPurchaseImg.ImageUrl = string.Format("{0}purchaseimg_{1}_{2}.gif", imagesPath, System.Drawing.Color.Blue.Name, currentCulture);
}
else
{
//portal skin has been selected
if (skinInfo.SkinSrc.Contains(System.Drawing.Color.Blue.Name) == true)
{
//blue portal skin has been selected
btnPurchaseImg.ImageUrl = string.Format("{0}purchaseimg_{1}_{2}.gif", imagesPath, System.Drawing.Color.Blue.Name, currentCulture);
}
else if (skinInfo.SkinSrc.Contains(System.Drawing.Color.Gray.Name) == true)
{
//gray portal skin has been selected
btnPurchaseImg.ImageUrl = string.Format("{0}purchaseimg_{1}_{2}.gif", imagesPath, System.Drawing.Color.Gray.Name, currentCulture);
}
else if (skinInfo.SkinSrc.Contains(System.Drawing.Color.Orange.Name) == true)
{
//orange portal skin has been selected
btnPurchaseImg.ImageUrl = string.Format("{0}purchaseimg_{1}_{2}.gif", imagesPath, System.Drawing.Color.Orange.Name, currentCulture);
}
}
//clear skinInfo object for next use
skinInfo = null;
//btnPurchaseImg.ImageUrl = imagesPath + "purchaseimg.gif";
btnPurchaseImg.ToolTip = Localization.GetString("Purchase", this.LocalResourceFile);
btnPurchaseImg.CommandArgument = productInfo.ProductID.ToString();
btnPurchaseImg.Click += new ImageClickEventHandler(btnPurchaseImg_Click);
btnPurchaseImg.Attributes.Add("ProductID", productInfo.ProductID.ToString());
return btnPurchaseImg;
...
...
case "ADDTOCARTIMG":
ImageButton btnAddToCartImg = new ImageButton();
//code for showing image files based on language and portal skin selected
skinInfo = UI.Skins.SkinController.GetSkin(UI.Skins.SkinInfo.RootSkin, PortalSettings.PortalId, DotNetNuke.UI.Skins.SkinType.Portal);
if (skinInfo == null)
{
//no portal skin has been selected, so use the default (blue)
btnAddToCartImg.ImageUrl = string.Format("{0}addtocartimg_{1}_{2}.gif", imagesPath, System.Drawing.Color.Blue.Name, currentCulture);
}
else
{
//portal skin has been selected
if (skinInfo.SkinSrc.Contains(System.Drawing.Color.Blue.Name) == true)
{
//blue portal skin has been selected
btnAddToCartImg.ImageUrl = string.Format("{0}addtocartimg_{1}_{2}.gif", imagesPath, System.Drawing.Color.Blue.Name, currentCulture);
}
else if (skinInfo.SkinSrc.Contains(System.Drawing.Color.Gray.Name) == true)
{
//gray portal skin has been selected
btnAddToCartImg.ImageUrl = string.Format("{0}addtocartimg_{1}_{2}.gif", imagesPath, System.Drawing.Color.Gray.Name, currentCulture);
}
else if (skinInfo.SkinSrc.Contains(System.Drawing.Color.Orange.Name) == true)
{
//orange portal skin has been selected
btnAddToCartImg.ImageUrl = string.Format("{0}addtocartimg_{1}_{2}.gif", imagesPath, System.Drawing.Color.Orange.Name, currentCulture);
}
}
//clear skinInfo object for next use
skinInfo = null;
//btnAddToCartImg.ImageUrl = imagesPath + "addtocartimg.gif";
btnAddToCartImg.ToolTip = Localization.GetString("AddToCart", this.LocalResourceFile);
btnAddToCartImg.CommandArgument = productInfo.ProductID.ToString();
btnAddToCartImg.Click += new ImageClickEventHandler(btnAddToCartImg_Click);
btnAddToCartImg.Attributes.Add("ProductID", productInfo.ProductID.ToString());
return btnAddToCartImg;
...
...
}
}
Any comments are welcomed?
regards,
Dimitris