Support forum login

©2006-2010 IAAI Software

Contact Us

UPC / SKU MOD

Submitted by Langdon on Wed, 2009-06-17 19:36.

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

Submitted by dmorison on Thu, 2009-06-18 07:42.

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.
--
Developer, Price Tapestry
General PHP, MySQL and Affiliate Marketing tech help for Price Tapestry customers at davidmorison.com

Submitted by Keeop on Thu, 2009-06-18 13:51.

Is it the comma at the end of this line?

field_upc='%s',

Try removing it and see what happens.

Cheers.
Keeop

Submitted by dmorison on Thu, 2009-06-18 14:20.

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.
--
Developer, Price Tapestry
General PHP, MySQL and Affiliate Marketing tech help for Price Tapestry customers at davidmorison.com

Submitted by Langdon on Wed, 2009-06-24 08:19.

Thank You David & Keeop

It was the comma... stupid mistake! :-(

Lang