UPC / SKU MOD
Hello,
(Sorry for creating the new topic as I couldn't figure out how to post / respond to a current node.)
I'm trying to make the UPC/SKU MOD which I think requires the changes at http://www.pricetapestry.com/node/313 which I have followed to no success (tariff example).
**
I was able to register a feed with the database modification, but before the PHP Code changes.
After the PHP Code changes, I go through the registration process and see the new UPC & SKU options I've added in "Registration Step 2 - Merchant Info and Field Mapping", but when I click on "register" it just goes back to the "Feed Registration" page without registering the feed or generating an error.
**
First I modified the setup.sql to add the fields upc & sku to the tables (Worked fine)
CREATE TABLE feeds (
id int(11) NOT NULL auto_increment,
filename varchar(255) NOT NULL default '',
registered int(11) NOT NULL default '0',
imported int(11) NOT NULL default '0',
products int(11) NOT NULL default '0',
format varchar(255) NOT NULL default '',
merchant varchar(255) NOT NULL default '',
field_name varchar(255) NOT NULL default '',
field_description varchar(255) NOT NULL default '',
field_image_url varchar(255) NOT NULL default '',
field_buy_url varchar(255) NOT NULL default '',
field_price varchar(255) NOT NULL default '',
field_category varchar(255) NOT NULL default '',
user_category varchar(255) NOT NULL default '',
field_brand varchar(255) NOT NULL default '',
user_brand varchar(255) NOT NULL default '',
field_sku varchar(255) NOT NULL default '',
field_upc varchar(255) NOT NULL default '',
clicks int(11) NOT NULL default '0',
PRIMARY KEY (id),
KEY merchant (merchant)
) TYPE=MyISAM;
--
-- Table structure for table `filters`
--
CREATE TABLE filters (
id int(11) NOT NULL auto_increment,
filename varchar(255) NOT NULL default '',
field varchar(255) NOT NULL default '',
name varchar(30) NOT NULL default '',
created int(11) NOT NULL default '0',
data blob NOT NULL,
PRIMARY KEY (id)
) TYPE=MyISAM;
--
-- Table structure for table `products`
--
CREATE TABLE products (
id int(11) NOT NULL auto_increment,
merchant varchar(255) NOT NULL default '',
name varchar(255) NOT NULL default '',
description text NOT NULL,
image_url varchar(255) NOT NULL default '',
buy_url text NOT NULL,
price decimal(10,2) NOT NULL default '0.00',
search_name varchar(255) NOT NULL default '',
category varchar(255) NOT NULL default '',
brand varchar(255) NOT NULL default '',
sku varchar(255) NOT NULL default '',
upc varchar(255) NOT NULL default '',
dupe_hash varchar(32) NOT NULL default '',
rating int(11) NOT NULL default '0',
reviews int(11) NOT NULL default '0',
PRIMARY KEY (id),
UNIQUE KEY dupe_filter (dupe_hash),
KEY merchant (merchant),
KEY name (name),
KEY search_name (search_name),
KEY category (category),
KEY brand (brand),
FULLTEXT KEY name_2 (name)
) TYPE=MyISAM;Second, I modified includes/admin.php
Line 3
function admin_register($filename,$format,$merchant,$fieldName,$fieldDescription,$fieldImageURL,$fieldBuyURL,$fieldPrice,$fieldCategory,$userCategory,$fieldBrand,$userBrand,$fieldSku,$fieldUpc)Line 59
$sql = sprintf("INSERT INTO `".$config_databaseTablePrefix."feeds` SET
filename='%s',
registered='%s',
format='%s',
merchant='%s',
field_name='%s',
field_description='%s',
field_image_url='%s',
field_buy_url='%s',
field_price='%s',
field_category='%s',
user_category='%s',
field_brand='%s',
user_brand='%s',
field_sku='%s',
field_upc='%s',
",
database_safe($filename),
time(),
database_safe($format),
database_safe(tapestry_normalise(ucwords($merchant),'\.')),
database_safe($fieldName),
database_safe($fieldDescription),
database_safe($fieldImageURL),
database_safe($fieldBuyURL),
database_safe($fieldPrice),
database_safe($fieldCategory),
database_safe(tapestry_normalise($userCategory)),
database_safe($fieldBrand),
database_safe(tapestry_normalise($userBrand)),
database_safe($fieldSku),
database_safe($fieldUpc)
);Line 263
/* create product record */
$sku = $record[$admin_importFeed["field_sku"]];
$upc = $record[$admin_importFeed["field_upc"]];
$sql = sprintf("INSERT INTO `".$config_databaseTablePrefix."products` SET
merchant='%s',
name='%s',
description='%s',
image_url='%s',
buy_url='%s',
price='%s',
search_name='%s',
category='%s',
brand='%s',
sku='%s',
upc='%s',
dupe_hash='%s'
",
database_safe($admin_importFeed["merchant"]),
database_safe($record[$admin_importFeed["field_name"]]),
database_safe(isset($record[$admin_importFeed["field_description"]])?$record[$admin_importFeed["field_description"]]:""),
database_safe(isset($record[$admin_importFeed["field_image_url"]])?$record[$admin_importFeed["field_image_url"]]:""),
database_safe($record[$admin_importFeed["field_buy_url"]]),
database_safe($record[$admin_importFeed["field_price"]]),
database_safe($searchName),
database_safe($category),
database_safe($brand),
database_safe($record[$admin_importFeed["field_sku"]]),
database_safe($record[$admin_importFeed["field_upc"]]),
$dupe_hash
);Third, I modified admin/feeds_register.php
Line 63
admin_register($filename,$format,$_POST["merchant"],$_POST["fieldName"], (isset($_POST["fieldDescription"])?$_POST["fieldDescription"]:"") , (isset($_POST["fieldImageURL"])?$_POST["fieldImageURL"]:"") ,$_POST["fieldBuyURL"],$_POST["fieldPrice"],$_POST["fieldCategory"],$_POST["userCategory"],$_POST["fieldBrand"],$_POST["userBrand"],$_POST["fieldSku"],$_POST["fieldUpc"]);Line 165
field("<strong>Price</strong>","fieldPrice");
field("<strong>SKU</strong>","fieldSku");
field("<strong>UPC</strong>","fieldUpc");
print "</table>";Thanks for your help!
Lang
Is it the comma at the end of this line?
field_upc='%s',Try removing it and see what happens.
Cheers.
Keeop
Well spotted, Keeop...!
Lang - if you're not sure about anything email me all the modified files and I'll check them over.
Cheers,
David.
Thank You David & Keeop
It was the comma... stupid mistake! :-(
Lang
Hello Lang,
Your code changes look fine, so i'm not sure why it would not be picking up the form
and handling it correctly.
Could you perhaps email me your modified admin/feeds_register_step2.php
and i'll check it out for you...
Cheers,
David.