Giter VIP home page Giter VIP logo

googleshopping-plugin-for-nopcommerce's Introduction

nopCommerce Feed.GoogleShopping plugin

===========

This plugin enables integration with Google Shopping, formerly Google Product Search and Froogle

nopCommerce site: https://www.nopcommerce.com

Listing on nopCommerce "extensions and themes" catalog: [https://www.nopcommerce.com/google-shopping-formerly-google-product-search](https://www.nopcommerce.com/google-shopping-formerly-google-product-search

===========

Description

Google Shopping compares thousands of online and local stores for you. Save money by comparing millions of products across stores and brands. This plugin generates the XML file that can be used to import your products to Google Shopping.

Installation instructions

  1. Download the plugin archive.
  2. Go to admin area > configuration > local plugins.
  3. Upload the plugin archive using the "Upload plugin or theme" plugin.
  4. Scroll down through the list of plugins to find the newly installed plugin. And click on the "Install" button to install the plugin.

Please find more information about how to install plugins here.

googleshopping-plugin-for-nopcommerce's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

googleshopping-plugin-for-nopcommerce's Issues

Multi-store price Issue

Version: 4.2
Plugin: Google Shopping Plugin By NopCommerce Team

Expected behavior: To retrieve product pricing from tiered pricing section when the pricing is specified for select stores. When the pricing is not specified in tiered pricing retrieve from the pricing section. This is based on the NOPCommerce team's recommendation for handling multiple stores where pricing varies per product.

Reproduce:

  1. Create xml feed for each store from Plugin

Source: https://www.nopcommerce.com/boards/topic/90022/google-shopping-plugin-multi-store-price-issue

See also: nopSolutions/nopCommerce#5287

One more post about multi-store: https://www.nopcommerce.com/boards/topic/90395/google-shopping-formely-google-product-search-multi-store-help

its not installeble for Nopcommerce 4.50

Hello,
I am trying to install that plugin from upload plugin section.

And i am got that error in logs when restart for install:

`info: FluentMigrator.Runner.MigrationRunner[1000]
SchemaMigration migrating
info: FluentMigrator.Runner.Processors.SqlServer.SqlServer2016Processor[1004]
Beginning Transaction
info: FluentMigrator.Runner.Processors.SqlServer.SqlServer2016Processor[1003]
BEGIN TRANSACTION
info: FluentMigrator.Runner.MigrationRunner[1004]
CreateTable GoogleProductRecord
info: FluentMigrator.Runner.Processors.SqlServer.SqlServer2016Processor[1003]
CREATE TABLE [dbo].[GoogleProductRecord] ([Id] INT NOT NULL IDENTITY(1,1), [ProductId] INT NOT NULL, [Taxonomy] NVARCHAR(MAX), [CustomGoods] BIT NOT NULL, [Gender] NVARCHAR(MAX), [AgeGroup] NVARCHAR(MAX), [Color] NVARCHAR(MAX), [Size] NVARCHAR(MAX), [Material] NVARCHAR(MAX), [Pattern] NVARCHAR(MAX), CONSTRAINT [PK_GoogleProductRecord] PRIMARY KEY ([Id]))
fail: FluentMigrator.Runner.MigrationRunner[0]
An error occured executing the following sql:
CREATE TABLE [dbo].[GoogleProductRecord] ([Id] INT NOT NULL IDENTITY(1,1), [ProductId] INT NOT NULL, [Taxonomy] NVARCHAR(MAX), [CustomGoods] BIT NOT NULL, [Gender] NVARCHAR(MAX), [AgeGroup] NVARCHAR(MAX), [Color] NVARCHAR(MAX), [Size] NVARCHAR(MAX), [Material] NVARCHAR(MAX), [Pattern] NVARCHAR(MAX), CONSTRAINT [PK_GoogleProductRecord] PRIMARY KEY ([Id]))
The error was Veritaban�nda 'GoogleProductRecord' adl� bir nesne zaten var.

  System.Exception: An error occured executing the following sql:
  CREATE TABLE [dbo].[GoogleProductRecord] ([Id] INT NOT NULL IDENTITY(1,1), [ProductId] INT NOT NULL, [Taxonomy] NVARCHAR(MAX), [CustomGoods] BIT NOT NULL, [Gender] NVARCHAR(MAX), [AgeGroup] NVARCHAR(MAX), [Color] NVARCHAR(MAX), [Size] NVARCHAR(MAX), [Material] NVARCHAR(MAX), [Pattern] NVARCHAR(MAX), CONSTRAINT [PK_GoogleProductRecord] PRIMARY KEY ([Id]))
  The error was Veritaban�nda 'GoogleProductRecord' adl� bir nesne zaten var.
  
   ---> Microsoft.Data.SqlClient.SqlException (0x80131904): Veritaban�nda 'GoogleProductRecord' adl� bir nesne zaten var.
     at Microsoft.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
     at Microsoft.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
     at Microsoft.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
     at Microsoft.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
     at Microsoft.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean isAsync, Int32 timeout, Boolean asyncWrite)
     at Microsoft.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry, String methodName)
     at Microsoft.Data.SqlClient.SqlCommand.ExecuteNonQuery()
     at FluentMigrator.Runner.Processors.SqlServer.SqlServerProcessor.ExecuteNonQuery(String sql)
  ClientConnectionId:a6e3c4f0-03d1-480b-88ae-fabc4b5818c0
  Error Number:2714,State:6,Class:16
     --- End of inner exception stack trace ---
     at FluentMigrator.Runner.Processors.ProcessorBase.ReThrowWithSql(Exception ex, String sql)
     at FluentMigrator.Runner.Processors.SqlServer.SqlServerProcessor.ExecuteNonQuery(String sql)
     at FluentMigrator.Runner.Processors.SqlServer.SqlServerProcessor.Process(String sql)
     at FluentMigrator.Runner.Processors.ProcessorBase.Process(CreateTableExpression expression)
     at FluentMigrator.Expressions.CreateTableExpression.ExecuteWith(IMigrationProcessor processor)
     at FluentMigrator.Runner.MigrationRunner.<>c__DisplayClass80_0.<ExecuteExpressions>b__1()
     at FluentMigrator.Runner.StopWatch.Time(Action action)
     at FluentMigrator.Runner.MigrationRunner.ExecuteExpressions(ICollection`1 expressions)

info: FluentMigrator.Runner.Processors.SqlServer.SqlServer2016Processor[1004]
Rolling back transaction
info: FluentMigrator.Runner.Processors.SqlServer.SqlServer2016Processor[1003]
ROLLBACK TRANSACTION
info: FluentMigrator.Runner.MigrationRunner[1000]
SlidersDataMigration migrating
info: FluentMigrator.Runner.Processors.SqlServer.SqlServer2016Processor[1004]
Beginning Transaction
info: FluentMigrator.Runner.Processors.SqlServer.SqlServer2016Processor[1003]
BEGIN TRANSACTION
info: FluentMigrator.Runner.Processors.SqlServer.SqlServer2016Processor[1004]
Rolling back transaction
info: FluentMigrator.Runner.Processors.SqlServer.SqlServer2016Processor[1003]
ROLLBACK TRANSACTION
`

your XML data feed file is too long and exceeds our size limit of 5,242,880 bytes (5 MB) or characters

Hi,

With a few rules in Facebook catalog manager, we can use same feed file in Facebook catalog. But recently facebook updated some rules for feed file because of that we are getting this error when we try to upload file

Error = "your XML data feed file is too long and exceeds our size limit of 5,242,880 bytes (5 MB) or characters."

This error occurs due to, XML document doesn't use indent when generating XML file & if you open it in notepad then all text shown in one line.

so I resolved it by applying this solution
var settings = new XmlWriterSettings { Encoding = Encoding.UTF8, Indent = true // newly added line };

Stackoverflow Link

After this modification even if you open a file in notepad, you will see single property only in each line. Also, facebook accepts this file for feed too.

1 more important thing is, file size increased from 20 MB to 23 MB in my case.

Thanks.

Nop 4.20 Support

Any plan to support 4.2 or does the 4.10 version work with 4.2

Plugin doesn't support when product have multiple sizes

This plugin doesn't support product with multiple sizes. Normally user create ProductAttribute named as size & add product sizes into product in nopCommerce.

The problem I found out because, even we insert product data with sizes you will fetch only first size for feed and rest of them are skipped. It's due to ProductId (int as datatype) in GoogleProductRecord. you need to add 1 more column name as "Grouped_Product_Id" as datatype int & change datatype of ProductId to string.

you can follow this link

I'm also working on this feature so please let me know if you want my contribution

SKUs would be better for the feed

writer.WriteElementString("g", "id", googleBaseNamespace, product.Id.ToString());

As per Google

Best practices
These best practices can help you go beyond the basic requirements to optimize your product data for performance.

Use SKUs as IDs where possible. SKUs help us to understand the structure of your landing page. Since SKUs are unique, they can also help prevent you from accidentally reusing IDs.

https://support.google.com/merchants/answer/6324405?hl=en

Link not generated in 4.6

The product link generation is returning null since 4.6. This stops the shopping feed from working.

The line

var productUrl = GetUrlHelper().RouteUrl("Product", new { SeName = await _urlRecordService.GetSeNameAsync(product) }, await GetHttpProtocolAsync());

should read

var productUrl = GetUrlHelper().RouteUrl<Product>(new { SeName = await _urlRecordService.GetSeNameAsync(product) }, await GetHttpProtocolAsync());

Automatically generate feed every night

Hello there
Currently I don't see any code that would automatically update the feed every X minutes/hours/days/weeks or that would listen to any product inserts/updates. So currently the customer needs to manually create the feed everytime any product changes is that correct?

Issue in multi-store

I'm grateful there is a free component, however, there's a bug in the Xml feed for a store that has a different url prefix. I have two stores, the main store with a url of https://honeypaihia.nz, and a German store https://de.honeypaihia.nz. The feed for the German store omits the "de." prefix for the landing page and the thumbnail image. I would be awesome if this could be fixed.

Product ID in product feed?

Hi, I can't see that any of product ID's is included in the product feed. I have for example a product that definitely has manufacturer ID in database, but in xml there's nothing resembling the ID at all. It looks like this:

<title></title> Lilla Åland stolar]]> https://walfrid.se/images/thumbs/000/0006257_dyna-till-lilla-aland-stol_360.jpeg https://walfrid.se/images/thumbs/000/0006258_dyna-till-lilla-aland-stol_360.jpeg https://walfrid.se/images/thumbs/002/0020575_dyna-till-lilla-aland-stol_360.jpeg new 2023-06-17 in stock 1125.00 SEK

Even in the plugin description it say that we should have an ID or two on every product, but they are not being sent to Google?

/Damir

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.