Post by guntis.e » Thu Sep 01, 2011 2:53 am

Could it be that there is a bug ???
What i do:
  • install Google-base feed
  • open the provided link and see the xml code of it
  • search for the product that is in the store for sure and do not find it!
Here are the specific data:
Google base feed: http://www.agalerija.com/index.php?rout ... oogle_base
Product that i cannot find in the feed: model="slipse1" product_id=82. The product is available in the frontend here: http://www.agalerija.com/slipse1?keywor ... =0&model=1

Actually i do realize that there is more than one product missing in the feed: Tehre are no products starting from id=82 up to id=97, although they are enabled and available
Last edited by guntis.e on Thu Sep 01, 2011 3:58 am, edited 1 time in total.

Guntis
Image Partneris.lv - opencart web site development and support


Active Member

Posts

Joined
Fri Jan 28, 2011 4:20 am

Post by uksitebuilder » Thu Sep 01, 2011 3:09 am

products without a description do not get entered in the feed.

This is due to the description being a required attribute for Google

User avatar
Guru Member

Posts

Joined
Thu Jun 09, 2011 11:37 pm
Location - United Kindgom

Post by guntis.e » Thu Sep 01, 2011 3:36 am

You are The Great Helper, uksitebuilder :) !

This definitely is the reason. I was checking before the public function getProducts() at
\public_html\catalog\model\catalog\product.php, but could not find the reason, as i am not so strong in SQL

Could you tell me which part of the SQL query excludes products without description? I cannot figure it out. I would like to remove this restriction for my own customized feed.

Code: Select all

$query = $this->db->query("SELECT DISTINCT *, pd.name AS name, p.image, m.name AS manufacturer, ss.name AS stock, wcd.unit AS weight_class FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN " . DB_PREFIX . "manufacturer m ON (p.manufacturer_id = m.manufacturer_id) LEFT JOIN " . DB_PREFIX . "stock_status ss ON (p.stock_status_id = ss.stock_status_id) LEFT JOIN " . DB_PREFIX . "weight_class_description wcd ON (p.weight_class_id = wcd.weight_class_id) WHERE pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND wcd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND ss.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.date_available <= NOW() AND p.status = '1'");

Guntis
Image Partneris.lv - opencart web site development and support


Active Member

Posts

Joined
Fri Jan 28, 2011 4:20 am

Post by uksitebuilder » Thu Sep 01, 2011 3:43 am

catalog/controller/feed/google_base.php

find around line 21

Code: Select all

if ($product['description']) {
which tests if there is a product description. If there is it generates the xml for it, if not, it doesn't

User avatar
Guru Member

Posts

Joined
Thu Jun 09, 2011 11:37 pm
Location - United Kindgom

Post by guntis.e » Thu Sep 01, 2011 3:58 am

thanks, thanks, thanks

of course!! i was blind ::)

Guntis
Image Partneris.lv - opencart web site development and support


Active Member

Posts

Joined
Fri Jan 28, 2011 4:20 am
Who is online

Users browsing this forum: No registered users and 2 guests