Guest Posted August 10, 2013 Share Posted August 10, 2013 "Your feed contains non-unique items. These items will be dropped." For those of you experiencing the above error this quick and dirty fix should solve it. In feedmachine.php around line 283: FIND: $cycle_length = floor(1000/sizeof($languages_used))*sizeof($languages_used); REPLACE WITH $cycle_length = floor(10000/sizeof($languages_used))*sizeof($languages_used); The only change was increasing 1000 to 10000. This increases the cycle length causing more of your products processed in one cycle. The duplicate problem seemed to occur at boundary points of cycles when more than one cycle was necessary. Good luck! Quote Link to comment Share on other sites More sharing options...
babyfryd Posted September 4, 2013 Share Posted September 4, 2013 Hi' What a great attribution :) I have one problem though; According to Google ( https://support.google.com/merchants/answer/1347943 ) the feed for Apparel now has to include one line (item) for each size or color of an item: You are required to submit one item per variant combination. For example, if a t-shirt is offered in 4 different colors and each color is available in 5 different sizes, you must submit a total of 20 items. The ‘Item group ID’ attribute is different from the ‘ID’ attribute. An ‘Item group ID’ attribute will have common values for a group of variants whereas the ‘ID’ attribute should have unique values across a group of variants and for all other items, as well. Has anyone found a solution for this? I am currently using this feedmachine configuration: http://addons.oscommerce.com/info/7130 But this just lists the sizes as comma-separated "1y, 2y, 3y, 4y" in a size column on the spreadsheet (it should have been made as 4 lines in the spreadsheet as 4 induvidual products) Kind regards, Mikael Quote Link to comment Share on other sites More sharing options...
Antena Posted September 28, 2013 Share Posted September 28, 2013 Please, Anyone can add the attribute "availability" to this addon? The Google merchant now need this and will cancel all your products from they listing if that's no available. Hope get good news here. Quote Link to comment Share on other sites More sharing options...
lupole Posted November 25, 2013 Share Posted November 25, 2013 Is there a way too use $exclude, too exclude an individual category from going too Google category tree function? function FM_RS_google_categories_us_en($product) { $output_field_category = ($product['parent_id'] > 0) ? $product['parent_id'] : $product['categories_id']; return (($output_field_category == 6) ? 'Arts & Entertainment > Musical Instrument Accessories > String Instrument Accessories': Quote Link to comment Share on other sites More sharing options...
julienanglet Posted November 27, 2013 Share Posted November 27, 2013 (edited) Hello, I search this function too ! how to exclude categories? How not to release products that are not in stock? Thank for your help Edited November 27, 2013 by julienanglet Quote Link to comment Share on other sites More sharing options...
Dj-Viper Posted August 23, 2014 Share Posted August 23, 2014 Hi, When generating a feed i'm getting this error.. The field products_id specified in the google-product-search.txt feed does not exist in any of the queried tables. Please ensure you have entered the correct field name and that it exists in one of the tables queried in $master_query (see code) Greetings, Anne Quote Link to comment Share on other sites More sharing options...
Guest Posted March 2, 2015 Share Posted March 2, 2015 DJ Viper, this is because you are probably running php 5.5 and there are deprecated functions in there. I have been working with this, but I'm still having a problem. I don;t know if it related to this particular issue or not: in feedmachine.php around line 335 you'll find this code: $mysqli = defined('MYSQL_EXTENSION') && MYSQL_EXTENSION == 'mysqli'; $i=0; $fields = array(); while( $i < ( $mysqli ? mysqli_num_fields($master_query) : mysql_num_fields($master_query) ) ) { ++$i; $cur_field = ( $mysqli ? mysqli_fetch_field($master_query) : mysql_fetch_field($master_query) ); $fields[] = $cur_field->name; } change it to read: $mysqli = defined('MYSQL_EXTENSION') && MYSQL_EXTENSION == 'mysqli'; $i=0; $fields = array(); $fields_cnt = mysqli_num_fields($master_query); while( $i < $fields_cnt ) { $fields[] = mysqli_fetch_field_direct($master_query, $i)->name; ++$i; } This won't if you don't have the mysqli extension enabled in PHP. Still have a problem where it won't list but 16 of the 10,000+ products I have, but at least it stopped that particular error. now have to debug the rest of the system. Quote Link to comment Share on other sites More sharing options...
Cowardino Posted August 18, 2015 Share Posted August 18, 2015 Hello I am using Feedmachine, but there seems to be a problem with the In Stock feature in the output file. Even if products have "0" set in "quantity" the product is in the putput file with the value "In Stock", when it should have been "Out of Stock" Anyway around this problem? Best Jens Quote Link to comment Share on other sites More sharing options...
lupole Posted October 3, 2015 Share Posted October 3, 2015 I am using 2.3.4 bootstrap edge. When I try generating a feed, I am receiving this message. languages array builtcurrencies array builttaxes array builtcountries array builtcategories array built number of products: 276number of cycles: 1The field products_name specified in the google-product-search-feed-us-en.txt feed does not exist in any of the queried tables. Please ensure you have entered the correct field name and that it exists in one of the tables queried in $master_query (see code) Field "products_name", is located in the products_description table. $master_query is: while( true ) { ++$counter; $master_query = tep_db_query('SELECT ' . ( $count_run ? 'COUNT(*) as count' : 's.*, cd.*, c.*, ptc.*, mi.*, m.*, pd.*, p.*, IF(s.status, s.specials_new_products_price, p.products_price) as final_price' ) . ' FROM ' . TABLE_PRODUCTS . ' p LEFT JOIN ' . TABLE_PRODUCTS_DESCRIPTION . ' pd ON p.products_id = pd.products_id LEFT JOIN ' . TABLE_MANUFACTURERS . ' m ON p.manufacturers_id = m.manufacturers_id LEFT JOIN ' . TABLE_MANUFACTURERS_INFO . ' mi ON m.manufacturers_id = mi.manufacturers_id AND pd.language_id = mi.languages_id LEFT JOIN ' . TABLE_PRODUCTS_TO_CATEGORIES . ' ptc ON pd.products_id = ptc.products_id LEFT JOIN ' . TABLE_SPECIALS . ' s ON ptc.products_id = s.products_id LEFT JOIN ' . TABLE_CATEGORIES . ' c ON ptc.categories_id = c.categories_id LEFT JOIN ' . TABLE_CATEGORIES_DESCRIPTION . ' cd ON c.categories_id = cd.categories_id AND pd.language_id = cd.language_id WHERE pd.language_id IN(' . $languages_list . ') AND p.products_status = 1 ORDER BY p.products_id' . ( $count > 0 ? ' LIMIT ' . (($counter-1)*$cycle_length) . ', ' . $cycle_length : '' )); if( $count_run ) { $master_query_row = tep_db_fetch_array($master_query); $count = $master_query_row['count']; echo "\n" . 'number of products: ' . ($count/sizeof($languages_used)) . "\n" . 'number of cycles: ' . ceil($count/$cycle_length) . "\n"; ob_flush(); $count_run = false; --$counter; continue; } if( $begin_output_run ) { //Open Files and Check configurations $fps = array(); foreach( $feeds as $cur_feed_id => $cur_feed ) { $file = $save_path . $feeds[$cur_feed_id]['filename']; if( file_exists($file) ) { if( defined('FM_BACK_UP_OLD_FEEDS') && FM_BACK_UP_OLD_FEEDS ) { $old_file_last_modified = date('Y-m-d-H.i.s', filemtime($file)); $file_info = array(); preg_match('#^(.*?)(\..*?)?$#', $feeds[$cur_feed_id]['filename'], $file_info); rename($file, $save_path . $file_info[1] . '-' . $old_file_last_modified . ( isset($file_info[2]) ? $file_info[2] : '' )); } else { unlink($file); } } $fps[$cur_feed_id]['fp'] = fopen($file, 'a'); chmod($file, 0777); $fps[$cur_feed_id]['file'] = $file; } $mysqli = defined('MYSQL_EXTENSION') && MYSQL_EXTENSION == 'mysqli'; $i=0; $fields = array(); while( $i < ( $mysqli ? mysqli_num_fields($master_query) : mysql_num_fields($master_query) ) ) { ++$i; $cur_field = ( $mysqli ? mysqli_fetch_field($master_query) : mysql_fetch_field($master_query) ); $fields[] = $cur_field->name; } foreach( $feeds as $cur_feed_id => $cur_feed ) { $output_line = ''; foreach( $cur_feed['fields'] as $output_field_name=>$db_field ) { if( $db_field['type'] == 'DB' && !in_array($db_field['output'], $fields) ) { echo 'The field ' . $db_field['output'] . ' specified in the ' . $cur_feed['filename'] . ' feed does not exist in any of the queried tables. Please ensure you have entered the correct field name and that it exists in one of the tables queried in $master_query (see code)'; exit; } It would seem that It should work. Any suggestions. Thank you. Quote Link to comment Share on other sites More sharing options...
lupole Posted October 3, 2015 Share Posted October 3, 2015 Solved.. Quote Link to comment Share on other sites More sharing options...
hydro Posted August 9, 2016 Share Posted August 9, 2016 Currently my titles are 120 characters in length. For Google Merchant feed, they require the length to be no longer than 70 characters. How can I change in the feedmachine to limit the title in the feed to 70 characters? Thanks for you help. Quote Link to comment Share on other sites More sharing options...
GlenPig Posted January 31, 2017 Share Posted January 31, 2017 Solved.. @@lupole, I'm having the same issue on v2.3.4 bootstrap. How did you solve it please? Quote Link to comment Share on other sites More sharing options...
GlenPig Posted January 31, 2017 Share Posted January 31, 2017 The error I'm receiving is as follows... catalog path: /home/elmstok/F5BEJ3D3/htdocs/ languages array built currencies array built taxes array built countries array built categories array built number of products: 467 number of cycles: 1 Warning: mysql_num_fields() expects parameter 1 to be resource, object given in /home/elmstok/F5BEJ3D3/htdocs/admin/feedmachine.php on line 339 The field products_id specified in the google-product-feed.txt feed does not exist in any of the queried tables. Please ensure you have entered the correct field name and that it exists in one of the tables queried in $master_query (see code) Quote Link to comment Share on other sites More sharing options...
GlenPig Posted January 31, 2017 Share Posted January 31, 2017 Solved. Updated code from line 337 in /catalog/admin/feedmachine.php... $i=0; $fields = array(); while( $i < ( mysqli ? mysqli_num_fields($master_query) : mysql_num_fields($master_query) ) ) { ++$i; $cur_field = ( mysqli ? mysqli_fetch_field($master_query) : mysql_fetch_field($master_query) ); $fields[] = $cur_field->name; } Quote Link to comment Share on other sites More sharing options...
GlenPig Posted May 17, 2017 Share Posted May 17, 2017 Hi Everyone We're using Feedmachine but some products have colour and size options to them which we would like to include in the feed. According to Google we need to have an item_group_id field as well as [colour] and fields. Doe anyone know how I can get feedmachine to look at the product attributes and display a different line for each option? Many thanks Quote Link to comment Share on other sites More sharing options...
riwalker Posted January 9, 2018 Share Posted January 9, 2018 anyone seen this error: when i have one sinlge config.php file in fm-feed-configs, it all runs ok when i have 2 or more, i just get a blank screen when clicking on feedmachine (i.e feedmachine_admin.php is creating a blank web page) ideas ? i'm running PHP 5.4 Quote Link to comment Share on other sites More sharing options...
merah Posted March 18, 2019 Share Posted March 18, 2019 (edited) we tried to work the last modified feedmachine to let it work with php 7 but we only get The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later and in the logs Error on sending request(GET /admin/feedmachine_auto.php?force_update=1 HTTP/2.0); uri(/admin/feedmachine_auto.php?force_update=1) content-length(0): ReceiveAckHdr: nothing to read from backend (LVE ID 1201), check http://docs.cloudlinux.com/mod_lsapi_troubleshooting.html we already modified the hard coded pathes for ce frozen our code is this and maybe some one can look at this By the way we have already from the hosting company extra memory but with no result feedmachine.php Edited March 18, 2019 by merah Quote Link to comment Share on other sites More sharing options...
Psytanium Posted December 9, 2020 Share Posted December 9, 2020 Hello, I installed feedmachine on osc2.3.4, but have some questions please: Should I fill the FTP credentials ? How do I know if the addon is working ? The google-product-search.txt file is empty, it should have some content ? When I click Generate and upload feed now, nothing happen, should i get a success message or something ? If i run the file admin/feedmachine.php i get this error: languages array built currencies array built taxes array built countries array built categories array built number of products: 1592 number of cycles: 2 Warning: mysql_num_fields() expects parameter 1 to be resource, object given in /home/macrotro/public_html/insight/feedmachine.php on line 339 The field products_id specified in the google-product-search.txt feed does not exist in any of the queried tables. Please ensure you have entered the correct field name and that it exists in one of the tables queried in $master_query (see code) Thx Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.