protected void btnProductDetails_Click(object sender, CommandEventArgs e) { int productID = Convert.ToInt32(e.CommandArgument); string productURL = SEOHelper.GetProductURL(productID); Response.Redirect(productURL); }
protected void dlAlsoPurchasedProducts_ItemDataBound(object sender, DataListItemEventArgs e) { if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { Product product = e.Item.DataItem as Product; if (product != null) { string productURL = SEOHelper.GetProductURL(product); HyperLink hlImageLink = e.Item.FindControl("hlImageLink") as HyperLink; if (hlImageLink != null) { ProductPictureCollection productPictures = product.ProductPictures; if (productPictures.Count > 0) { hlImageLink.ImageUrl = PictureManager.GetPictureUrl(productPictures[0].Picture, SettingManager.GetSettingValueInteger("Media.Product.ThumbnailImageSize", 125), true); } else { hlImageLink.ImageUrl = PictureManager.GetDefaultPictureUrl(SettingManager.GetSettingValueInteger("Media.Product.ThumbnailImageSize", 125)); } hlImageLink.NavigateUrl = productURL; hlImageLink.ToolTip = String.Format(GetLocaleResourceString("Media.Product.ImageLinkTitleFormat"), product.Name); hlImageLink.Text = String.Format(GetLocaleResourceString("Media.Product.ImageAlternateTextFormat"), product.Name); } HyperLink hlProduct = e.Item.FindControl("hlProduct") as HyperLink; if (hlProduct != null) { hlProduct.NavigateUrl = productURL; hlProduct.Text = product.Name; } } } }
protected void BindData() { Product product = ProductManager.GetProductByID(ProductID); if (product != null) { hlProduct.NavigateUrl = SEOHelper.GetProductURL(product); hlProduct.Text = Server.HtmlEncode(product.Name); lShortDescription.Text = product.ShortDescription; if (NopContext.Current.User == null || NopContext.Current.User.IsGuest) { lblEmailAFriend.Text = GetLocaleResourceString("Products.OnlyRegisteredUsersCanEmailAFriend"); txtFriendsEmail.Enabled = false; txtPersonalMessage.Enabled = false; btnEmail.Enabled = false; } else { lblEmailAFriend.Text = string.Empty; txtFriendsEmail.Enabled = true; lblFrom.Text = NopContext.Current.User.Email; txtPersonalMessage.Enabled = true; btnEmail.Enabled = true; } } else { this.Visible = false; } }
protected void btnAddToCart_Click(object sender, CommandEventArgs e) { int productID = Convert.ToInt32(e.CommandArgument); int productVariantID = 0; if (ProductManager.DirectAddToCartAllowed(productID, out productVariantID)) { List <string> addToCartWarnings = ShoppingCartManager.AddToCart(ShoppingCartTypeEnum.ShoppingCart, productVariantID, string.Empty, 1); if (addToCartWarnings.Count == 0) { Response.Redirect("~/ShoppingCart.aspx"); } else { string productURL = SEOHelper.GetProductURL(productID); Response.Redirect(productURL); } } else { string productURL = SEOHelper.GetProductURL(productID); Response.Redirect(productURL); } }
public string GetProductURL(ShoppingCartItem shoppingCartItem) { ProductVariant productVariant = shoppingCartItem.ProductVariant; if (productVariant != null) { return(SEOHelper.GetProductURL(productVariant.ProductID)); } return(string.Empty); }
private string getProductUrlWithPricelistProvider(int ProductID, int AffiliateID) { string URL = SEOHelper.GetProductURL(ProductID); if (AffiliateID != 0) { URL = CommonHelper.ModifyQueryString(URL, "AffiliateID=" + AffiliateID.ToString(), null); } return(URL); }
public string GetProductURL(int ProductVariantID) { ProductVariant productVariant = ProductManager.GetProductVariantByID(ProductVariantID); if (productVariant != null) { return(SEOHelper.GetProductURL(productVariant.ProductID)); } return(string.Empty); }
private void WriteProducts(StringBuilder sb, List <Product> productCollection) { foreach (Product product in productCollection) { string shortDescription = String.IsNullOrEmpty(product.ShortDescription)? "" : String.Format(" - {0}", product.ShortDescription); sb.AppendFormat("<li><a href=\"{0}\">{1}</a>{2}</li>", SEOHelper.GetProductURL(product), Server.HtmlEncode(product.Name), shortDescription); } }
private void WriteProducts() { ProductCollection products = ProductManager.GetAllProducts(false); foreach (Product product in products) { string url = SEOHelper.GetProductURL(product); UpdateFrequency updateFrequency = UpdateFrequency.weekly; DateTime updateTime = product.UpdatedOn; WriteUrlLocation(url, updateFrequency, updateTime); } }
protected void lvRecentlyViewedProducts_ItemDataBound(object sender, ListViewItemEventArgs e) { if (e.Item.ItemType == ListViewItemType.DataItem) { ListViewDataItem dataItem = e.Item as ListViewDataItem; if (dataItem != null) { Product product = dataItem.DataItem as Product; if (product != null) { HyperLink hlProduct = dataItem.FindControl("hlProduct") as HyperLink; hlProduct.NavigateUrl = SEOHelper.GetProductURL(product); } } } }
private SiteMapNode ChangeProductMap(SiteMapResolveEventArgs e, SiteMapNode parent) { SiteMapNode currentProductNode = e.Provider.FindSiteMapNode("~/Sitemap-Products.aspx").Clone(true); try { SiteMapNode tempNode = currentProductNode; Product product = ProductManager.GetProductByID(ProductId); tempNode.Url = SEOHelper.GetProductURL(product.ProductID); tempNode.Description = product.Name; tempNode.Title = product.Name; tempNode.ParentNode = parent; } catch { } return(currentProductNode); }
private void BindData() { if (product != null) { string productURL = SEOHelper.GetProductURL(product); ProductPictureCollection productPictures = product.ProductPictures; if (productPictures.Count > 0) { hlImageLink.ImageUrl = PictureManager.GetPictureUrl(productPictures[0].Picture, ProductImageSize, true); hlImageLink.ToolTip = String.Format(GetLocaleResourceString("Media.Product.ImageLinkTitleFormat"), product.Name); hlImageLink.Text = String.Format(GetLocaleResourceString("Media.Product.ImageAlternateTextFormat"), product.Name); } else { hlImageLink.ImageUrl = PictureManager.GetDefaultPictureUrl(this.ProductImageSize); hlImageLink.ToolTip = String.Format(GetLocaleResourceString("Media.Product.ImageLinkTitleFormat"), product.Name); hlImageLink.Text = String.Format(GetLocaleResourceString("Media.Product.ImageAlternateTextFormat"), product.Name); } hlImageLink.NavigateUrl = productURL; } }
protected void dlRelatedProducts_ItemDataBound(object sender, RepeaterItemEventArgs e) { if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { RelatedProduct relatedProduct = e.Item.DataItem as RelatedProduct; Product product = relatedProduct.Product2; if (relatedProduct != null && product != null) { string productURL = SEOHelper.GetProductURL(product); Label lblPrice = e.Item.FindControl("lblPrice") as Label; if (product.ProductVariants.Count > 0) { if (!product.HasMultipleVariants) { ProductVariant productVariant = product.ProductVariants[0]; decimal oldPriceBase = TaxManager.GetPrice(productVariant, productVariant.OldPrice); decimal finalPriceWithoutDiscountBase = TaxManager.GetPrice(productVariant, PriceHelper.GetFinalPrice(productVariant, false)); decimal oldPrice = CurrencyManager.ConvertCurrency(oldPriceBase, CurrencyManager.PrimaryStoreCurrency, NopContext.Current.WorkingCurrency); decimal finalPriceWithoutDiscount = CurrencyManager.ConvertCurrency(finalPriceWithoutDiscountBase, CurrencyManager.PrimaryStoreCurrency, NopContext.Current.WorkingCurrency); lblPrice.Text = PriceHelper.FormatPrice(finalPriceWithoutDiscountBase); } else { ProductVariant productVariant = product.MinimalPriceProductVariant; if (productVariant != null) { decimal fromPriceBase = TaxManager.GetPrice(productVariant, PriceHelper.GetFinalPrice(productVariant, false)); decimal fromPrice = CurrencyManager.ConvertCurrency(fromPriceBase, CurrencyManager.PrimaryStoreCurrency, NopContext.Current.WorkingCurrency); lblPrice.Text = String.Format(GetLocaleResourceString("Products.PriceRangeFromText"), PriceHelper.FormatPrice(fromPrice)); } } } Image hlImageLink = e.Item.FindControl("hlImageLink") as Image; if (hlImageLink != null) { ProductPictureCollection productPictures = product.ProductPictures; if (productPictures.Count > 0) { hlImageLink.ImageUrl = PictureManager.GetPictureUrl(productPictures[0].Picture, SettingManager.GetSettingValueInteger("Media.Product.ThumbnailImageSize", 84), true); } else { hlImageLink.ImageUrl = PictureManager.GetDefaultPictureUrl(SettingManager.GetSettingValueInteger("Media.Product.ThumbnailImageSize", 84)); } //hlImageLink.NavigateUrl = productURL; //hlImageLink.ToolTip = String.Format(GetLocaleResourceString("Media.Product.ImageLinkTitleFormat"), product.Name); //hlImageLink.Text = String.Format(GetLocaleResourceString("Media.Product.ImageAlternateTextFormat"), product.Name); } HyperLink hlProduct = e.Item.FindControl("hlProduct") as HyperLink; if (hlProduct != null) { hlProduct.NavigateUrl = productURL; //hlProduct.Text = product.Name; } } } }
protected void BindData() { Category category = CategoryManager.GetCategoryByID(CategoryID); //настройка видимости фильтра Category baseCategory = category; Category prevCat = category; while (baseCategory.ParentCategory != null) { prevCat = baseCategory; baseCategory = baseCategory.ParentCategory; } string categoryName = baseCategory.Name.ToLower(); AdjustFilters(prevCat, categoryName); AdjustColorsFilter(categoryName, category); // настройка лидеров продаж List <BestSellersReportLine> report = OrderManager.BestSellersReport(720, 10, 1); if (report.Count == 0) { ((TwoColumn)Page.Master).SalesLeader.Visible = false; } else { int index = report.Count > 9 ? 9 : report.Count - 1; ProductVariant productVariant = ProductManager.GetProductVariantByID(report[new Random().Next(index)].ProductVariantID); if (productVariant.Product.ProductPictures.Count > 0) { ((TwoColumn)Page.Master).imgSalesLeader.ImageUrl = PictureManager.GetPictureUrl(productVariant.Product.ProductPictures[0].Picture); } else { ((TwoColumn)Page.Master).imgSalesLeader.ImageUrl = PictureManager.GetPictureUrl(productVariant.Picture); } ((TwoColumn)Page.Master).hlSalesLeader.NavigateUrl = SEOHelper.GetProductURL(productVariant.Product); } // настройка уникального предложения if (category.FeaturedProducts.Count > 0) { Product product = category.FeaturedProducts[new Random().Next(category.FeaturedProducts.Count - 1)]; if (product.ProductPictures.Count > 0) { ((TwoColumn)Page.Master).imgUniqueProposal.ImageUrl = PictureManager.GetPictureUrl(product.ProductPictures[0].Picture); } else { ((TwoColumn)Page.Master).imgUniqueProposal.ImageUrl = PictureManager.GetPictureUrl(product.ProductVariants[0].Picture); } ((TwoColumn)Page.Master).hlUniqueProposal.NavigateUrl = SEOHelper.GetProductURL(product); } else { ((TwoColumn)Page.Master).Unique.Visible = false; } lDescription.Text = category.Description; SmallDescription.Text = category.SmallDescription; int totalRecords; Int32.TryParse(productsCount.SelectedItem.Text, out pageSize); if (pageSize == 0) { pageSize = Int32.MaxValue; } SortParameter sortParameter = GetSortParameter(); List <int> psoFilterOptions = new List <int>(); psoFilterOptions.AddRange(((TwoColumn)Page.Master).PSOFilterOption); psoFilterOptions.AddRange(this.designVariant.GetDesignVariantIds()); psoFilterOptions.AddRange(this.weddingBunchVariant.GetDesignVariantIds()); psoFilterOptions.AddRange(this.houseFlowersVariant.GetDesignVariantIds()); decimal?priceMin = CommonHelper.QueryStringInt("minCost", 0); if (priceMin == 0) { var twoColumn = (TwoColumn)Page.Master; if (twoColumn != null) { priceMin = twoColumn.MinPriceConverted; } } decimal?priceMax = CommonHelper.QueryStringInt("maxCost", 0); if (priceMax == 0) { var twoColumn = (TwoColumn)Page.Master; if (twoColumn != null) { priceMax = twoColumn.MaxPriceConverted; } } int minHeight = CommonHelper.QueryStringInt("minHeight", 0); int maxHeight = CommonHelper.QueryStringInt("maxHeight", int.MaxValue); int minWidth = CommonHelper.QueryStringInt("minWidth", 0); int maxWidth = CommonHelper.QueryStringInt("maxWidth", int.MaxValue); ProductCollection productCollection = ProductManager.GetAllProducts(CategoryID, 0, null, priceMin, priceMax, pageSize, CurrentPageIndex, psoFilterOptions, (int)sortParameter.SortBy, sortParameter.Ascending, minHeight, maxHeight, minWidth, maxWidth, out totalRecords); SetItemsToGrid(totalRecords, productCollection, categoryName); }
private void BindData() { if (product != null) { string productURL = SEOHelper.GetProductURL(product); hlProduct.Text = Server.HtmlEncode(product.Name); ProductPictureCollection productPictures = product.ProductPictures; if (productPictures.Count > 0) { hlImageLink.ImageUrl = PictureManager.GetPictureUrl(productPictures[0].Picture, ProductImageSize, true); hlImageLink.ToolTip = String.Format(GetLocaleResourceString("Media.Product.ImageLinkTitleFormat"), product.Name); hlImageLink.Text = String.Format(GetLocaleResourceString("Media.Product.ImageAlternateTextFormat"), product.Name); } else { hlImageLink.ImageUrl = PictureManager.GetDefaultPictureUrl(this.ProductImageSize); hlImageLink.ToolTip = String.Format(GetLocaleResourceString("Media.Product.ImageLinkTitleFormat"), product.Name); hlImageLink.Text = String.Format(GetLocaleResourceString("Media.Product.ImageAlternateTextFormat"), product.Name); } hlImageLink.NavigateUrl = productURL; lShortDescription.Text = product.ShortDescription; ProductVariantCollection productVariantCollection = product.ProductVariants; if (productVariantCollection.Count > 0) { if (!product.HasMultipleVariants) { ProductVariant productVariant = productVariantCollection[0]; decimal finalPriceWithoutDiscountBase = TaxManager.GetPrice(productVariant, PriceHelper.GetFinalPrice(productVariant, false)); lblPrice.Text = PriceHelper.FormatPrice(finalPriceWithoutDiscountBase); if (Request.Cookies["Currency"] != null && Request.Cookies["Currency"].Value == "USD") { lblPrice.Text += "$"; } } else { ProductVariant productVariant = product.MinimalPriceProductVariant; if (productVariant != null) { decimal fromPriceBase = TaxManager.GetPrice(productVariant, PriceHelper.GetFinalPrice(productVariant, false)); decimal fromPrice = CurrencyManager.ConvertCurrency(fromPriceBase, CurrencyManager.PrimaryStoreCurrency, NopContext.Current.WorkingCurrency); lblPrice.Text = String.Format(GetLocaleResourceString("Products.PriceRangeFromText"), PriceHelper.FormatPrice(fromPrice)); } } } else { lblPrice.Visible = false; } #region scjaarge's change if (!lblPrice.Visible || lblPrice.Text.Trim() == string.Empty) { litOrderOrNa.Text = "Нет в наличии"; } #endregion scjaarge's change } }
public void CreateCompareTable() { this.tblCompareProducts.Rows.Clear(); this.tblCompareProducts.Width = "100%"; ProductCollection compareProducts = ProductManager.GetCompareProducts(); if (compareProducts.Count > 0) { HtmlTableRow headerRow = new HtmlTableRow(); this.AddCell(headerRow, " "); HtmlTableRow productNameRow = new HtmlTableRow(); this.AddCell(productNameRow, " "); HtmlTableRow priceRow = new HtmlTableRow(); HtmlTableCell cell = new HtmlTableCell(); cell.InnerText = GetLocaleResourceString("Products.CompareProductsPrice"); cell.Align = "center"; priceRow.Cells.Add(cell); List <int> allAttributeIDs = new List <int>(); foreach (Product product in compareProducts) { ProductSpecificationAttributeCollection productSpecificationAttributes = SpecificationAttributeManager.GetProductSpecificationAttributesByProductID(product.ProductID, null, true); foreach (ProductSpecificationAttribute attribute in productSpecificationAttributes) { if (!allAttributeIDs.Contains(attribute.SpecificationAttributeOptionID)) { allAttributeIDs.Add(attribute.SpecificationAttributeOptionID); } } } foreach (Product product in compareProducts) { HtmlTableCell headerCell = new HtmlTableCell(); HtmlGenericControl headerCellDiv = new HtmlGenericControl("div"); Button btnRemoveFromList = new Button(); btnRemoveFromList.ToolTip = GetLocaleResourceString("Products.CompareProductsRemoveFromList"); btnRemoveFromList.Text = GetLocaleResourceString("Products.CompareProductsRemoveFromList"); btnRemoveFromList.CommandName = "Remove"; btnRemoveFromList.Command += new CommandEventHandler(this.btnRemoveFromList_Command); btnRemoveFromList.CommandArgument = product.ProductID.ToString(); btnRemoveFromList.CausesValidation = false; btnRemoveFromList.CssClass = "removeButton"; btnRemoveFromList.ID = "btnRemoveFromList" + product.ProductID.ToString(); headerCellDiv.Controls.Add(btnRemoveFromList); HtmlGenericControl productImagePanel = new HtmlGenericControl("p"); productImagePanel.Attributes.Add("align", "center"); HtmlImage productImage = new HtmlImage(); productImage.Border = 0; //productImage.Align = "center"; productImage.Alt = "Product image"; ProductPictureCollection productPictures = product.ProductPictures; if (productPictures.Count > 0) { productImage.Src = PictureManager.GetPictureUrl(productPictures[0].Picture, SettingManager.GetSettingValueInteger("Media.Product.ThumbnailImageSize", 125), true); } else { productImage.Src = PictureManager.GetDefaultPictureUrl(SettingManager.GetSettingValueInteger("Media.Product.ThumbnailImageSize", 125)); } productImagePanel.Controls.Add(productImage); headerCellDiv.Controls.Add(productImagePanel); headerCell.Controls.Add(headerCellDiv); headerRow.Cells.Add(headerCell); HtmlTableCell productNameCell = new HtmlTableCell(); HyperLink productLink = new HyperLink(); productLink.Text = Server.HtmlEncode(product.Name); productLink.NavigateUrl = SEOHelper.GetProductURL(product); productLink.Attributes.Add("class", "link"); productNameCell.Align = "center"; productNameCell.Controls.Add(productLink); productNameRow.Cells.Add(productNameCell); HtmlTableCell priceCell = new HtmlTableCell(); priceCell.Align = "center"; ProductVariantCollection productVariantCollection = product.ProductVariants; if (productVariantCollection.Count > 0) { ProductVariant productVariant = productVariantCollection[0]; //decimal oldPrice = productVariant.OldPrice; //decimal oldPriceConverted = CurrencyManager.ConvertCurrency(oldPrice, CurrencyManager.PrimaryStoreCurrency, NopContext.Current.WorkingCurrency); decimal finalPriceWithoutDiscountBase = TaxManager.GetPrice(productVariant, PriceHelper.GetFinalPrice(productVariant, false)); decimal finalPriceWithoutDiscount = CurrencyManager.ConvertCurrency(finalPriceWithoutDiscountBase, CurrencyManager.PrimaryStoreCurrency, NopContext.Current.WorkingCurrency); priceCell.InnerText = PriceHelper.FormatPrice(finalPriceWithoutDiscount); } priceRow.Cells.Add(priceCell); } productNameRow.Attributes.Add("class", "productName"); priceRow.Attributes.Add("class", "productPrice"); this.tblCompareProducts.Rows.Add(headerRow); this.tblCompareProducts.Rows.Add(productNameRow); this.tblCompareProducts.Rows.Add(priceRow); if (allAttributeIDs.Count > 0) { foreach (int specificationAttributeID in allAttributeIDs) { //SpecificationAttribute attribute = SpecificationAttributeManager.GetSpecificationAttributeByID(specificationAttributeID); SpecificationAttributeOption attributeOption = SpecificationAttributeManager.GetSpecificationAttributeOptionByID(specificationAttributeID); HtmlTableRow productRow = new HtmlTableRow(); this.AddCell(productRow, Server.HtmlEncode(attributeOption.SpecificationAttribute.Name)).Align = "left"; foreach (Product product2 in compareProducts) { HtmlTableCell productCell = new HtmlTableCell(); { ProductSpecificationAttributeCollection productSpecificationAttributes2 = SpecificationAttributeManager.GetProductSpecificationAttributesByProductID(product2.ProductID, null, true); foreach (ProductSpecificationAttribute attribute2 in productSpecificationAttributes2) { if (attributeOption.SpecificationAttributeOptionID == attribute2.SpecificationAttributeOptionID) { productCell.InnerHtml = (!String.IsNullOrEmpty(attribute2.SpecificationAttributeOption.Name)) ? Server.HtmlEncode(attribute2.SpecificationAttributeOption.Name) : " "; } } } productCell.Align = "center"; productCell.VAlign = "top"; productRow.Cells.Add(productCell); } this.tblCompareProducts.Rows.Add(productRow); } } string width = Math.Round((decimal)(90M / compareProducts.Count), 0).ToString() + "%"; for (int i = 0; i < this.tblCompareProducts.Rows.Count; i++) { HtmlTableRow row = this.tblCompareProducts.Rows[i]; for (int j = 1; j < row.Cells.Count; j++) { if (j == (row.Cells.Count - 1)) { row.Cells[j].Style.Add("width", width); row.Cells[j].Style.Add("text-align", "center"); } else { row.Cells[j].Style.Add("width", width); row.Cells[j].Style.Add("text-align", "center"); } } } } else { btnClearCompareProductsList.Visible = false; tblCompareProducts.Visible = false; } }
private void BindData() { if (product != null) { string productURL = SEOHelper.GetProductURL(product); hlProduct.NavigateUrl = productURL; hlProduct.Text = Server.HtmlEncode(product.Name); ProductPictureCollection productPictures = product.ProductPictures; if (productPictures.Count > 0) { hlImageLink.ImageUrl = PictureManager.GetPictureUrl(productPictures[0].Picture, this.ProductImageSize, true); hlImageLink.ToolTip = String.Format(GetLocaleResourceString("Media.Product.ImageLinkTitleFormat"), product.Name); hlImageLink.Text = String.Format(GetLocaleResourceString("Media.Product.ImageAlternateTextFormat"), product.Name); } else { hlImageLink.ImageUrl = PictureManager.GetDefaultPictureUrl(this.ProductImageSize); hlImageLink.ToolTip = String.Format(GetLocaleResourceString("Media.Product.ImageLinkTitleFormat"), product.Name); hlImageLink.Text = String.Format(GetLocaleResourceString("Media.Product.ImageAlternateTextFormat"), product.Name); } hlImageLink.NavigateUrl = productURL; lShortDescription.Text = product.ShortDescription; ProductVariantCollection productVariantCollection = product.ProductVariants; if (productVariantCollection.Count > 0) { if (!product.HasMultipleVariants) { ProductVariant productVariant = productVariantCollection[0]; decimal oldPriceBase = TaxManager.GetPrice(productVariant, productVariant.OldPrice); decimal finalPriceWithoutDiscountBase = TaxManager.GetPrice(productVariant, PriceHelper.GetFinalPrice(productVariant, false)); decimal oldPrice = CurrencyManager.ConvertCurrency(oldPriceBase, CurrencyManager.PrimaryStoreCurrency, NopContext.Current.WorkingCurrency); decimal finalPriceWithoutDiscount = CurrencyManager.ConvertCurrency(finalPriceWithoutDiscountBase, CurrencyManager.PrimaryStoreCurrency, NopContext.Current.WorkingCurrency); if (finalPriceWithoutDiscountBase != oldPriceBase && oldPriceBase != decimal.Zero) { lblOldPrice.Text = PriceHelper.FormatPrice(oldPrice); lblPrice.Text = PriceHelper.FormatPrice(finalPriceWithoutDiscount); } else { lblOldPrice.Visible = false; lblPrice.Text = PriceHelper.FormatPrice(finalPriceWithoutDiscount); } btnAddToCart.Visible = (!productVariant.DisableBuyButton); } else { ProductVariant productVariant = product.MinimalPriceProductVariant; if (productVariant != null) { decimal fromPriceBase = TaxManager.GetPrice(productVariant, PriceHelper.GetFinalPrice(productVariant, false)); decimal fromPrice = CurrencyManager.ConvertCurrency(fromPriceBase, CurrencyManager.PrimaryStoreCurrency, NopContext.Current.WorkingCurrency); lblPrice.Text = String.Format(GetLocaleResourceString("Products.PriceRangeFromText"), PriceHelper.FormatPrice(fromPrice)); } btnAddToCart.Visible = false; } } else { lblOldPrice.Visible = false; lblPrice.Visible = false; btnAddToCart.Visible = false; } } }
/// <summary> /// Generate froogle feed /// </summary> /// <param name="stream">Stream</param> public static void GenerateFeed(Stream stream) { const string googleBaseNamespace = "http://base.google.com/ns/1.0"; XmlWriterSettings settings = new XmlWriterSettings { Encoding = Encoding.UTF8 }; using (XmlWriter writer = XmlWriter.Create(stream, settings)) { writer.WriteStartDocument(); writer.WriteStartElement("rss"); writer.WriteAttributeString("version", "2.0"); writer.WriteAttributeString("xmlns", "g", null, googleBaseNamespace); writer.WriteStartElement("channel"); writer.WriteElementString("title", string.Format("{0} Google Base", SettingManager.StoreName)); writer.WriteElementString("link", "http://base.google.com/base/"); writer.WriteElementString("description", "Information about products"); ProductCollection products = ProductManager.GetAllProducts(false); foreach (Product product in products) { ProductVariantCollection productVariants = ProductManager.GetProductVariantsByProductID(product.ProductID, false); foreach (ProductVariant productVariant in productVariants) { writer.WriteStartElement("item"); writer.WriteElementString("link", SEOHelper.GetProductURL(product)); writer.WriteElementString("title", productVariant.FullProductName); writer.WriteStartElement("description"); string description = productVariant.Description; if (String.IsNullOrEmpty(description)) { description = product.FullDescription; } if (String.IsNullOrEmpty(description)) { description = product.ShortDescription; } if (String.IsNullOrEmpty(description)) { description = product.Name; } writer.WriteCData(description); writer.WriteEndElement(); // description writer.WriteStartElement("g", "brand", googleBaseNamespace); writer.WriteFullEndElement(); // g:brand writer.WriteElementString("g", "condition", googleBaseNamespace, "new"); writer.WriteElementString("g", "expiration_date", googleBaseNamespace, DateTime.Now.AddDays(30).ToString("yyyy-MM-dd")); writer.WriteElementString("g", "id", googleBaseNamespace, productVariant.ProductVariantID.ToString()); string imageUrl = string.Empty; ProductPictureCollection productPictures = product.ProductPictures; if (productPictures.Count > 0) { imageUrl = PictureManager.GetPictureUrl(productPictures[0].Picture, SettingManager.GetSettingValueInteger("Media.Product.ThumbnailImageSize"), true); } writer.WriteElementString("g", "image_link", googleBaseNamespace, imageUrl); decimal price = productVariant.Price; writer.WriteElementString("g", "price", googleBaseNamespace, price.ToString(new CultureInfo("en-US", false).NumberFormat)); writer.WriteStartElement("g", "product_type", googleBaseNamespace); writer.WriteFullEndElement(); // g:brand //if (productVariant.Weight != decimal.Zero) //{ // writer.WriteElementString("g", "weight", googleBaseNamespace, string.Format(CultureInfo.InvariantCulture, "{0} {1}", productVariant.Weight.ToString(new CultureInfo("en-US", false).NumberFormat), MeasureManager.BaseWeightIn.SystemKeyword)); //} writer.WriteEndElement(); // item } } writer.WriteEndElement(); // channel writer.WriteEndElement(); // rss writer.WriteEndDocument(); } }