Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

gshutzy

Pioneers
  • Posts

    127
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by gshutzy

  1. i would like to edit the width of the matching product box. can anyone please tell me which file this is in. ive searched the txt file that comes with the installation instructions but can find anything that stands out.

     

    by the way, this add on is a must for anyone who has an oscommerse shop

  2. i have run into an issue with the new google feeder.

     

    just to mention THANKS JACK!

     

    : SQL error Unknown column 'DEFAULT_LANGUAGE_ID'in 'where clause'| catInfo = SELECT categories.categories_id AS curCatID, categories.parent_id AS parentCatID, categories_description.categories_name AS catName FROM categories, categories_description WHERE categories.categories_id = categories_description.categories_id AND categories_description.language_id = DEFAULT_LANGUAGE_ID

     

    any ideas. ive changed the number that indicates the default language but it either dosnt like what i change it to or it has the same fault.

     

    i have put an add-on on this. i re-added the ean addon but i shouldnt think it would affect it. it worked the first time round.

    can somebody help please?

     

    ive got the google feeder file below

     

    <?php

    // Title: Google Base Data Feeder

    // Last Update: 12/25/09 by Jack_mcs at oscommerce-solution.com

    // google feed requirements - http://www.google.co...n&answer=188494

     

    chdir('../');

    include_once 'includes/application_top.php';

     

    /*************** BEGIN MASTER SETTINGS ******************/

     

    define('SEO_ENABLED','false'); //Change to 'false' to disable if Ultimate SEO URLs is not installed

    define('FEEDNAME', 'oscommerse_data_feed.txt'); //from your googlebase account

    define('DOMAIN_NAME', 'www.vanity-flair-uk.com'); //your correct domain name (don't include www unless it is used)

    define('FTP_USERNAME', 'xxxxxxxx'); //created from within your googlebase account

    define('FTP_PASSWORD', 'xxxxxxxx'); //created from within your googlebase account

    define('FTP_ENABLED', (isset($_GET['noftp']) ? '0' : '1')); //set to 0 to disable

    define('CONVERT_CURRENCY', '0'); //set to 0 to disable - only needed if a feed in a difference currecny is required

    define('CURRENCY_TYPE', 'GBP'); //(eg. USD, EUR, GBP)

    define('DEFAULT_LANGUAGE', 0); //Change this to the id of your language. BY default 1 is english

    define('QUOTES_CATEGORY_NAME',''); //if the Quotes contribution is installed, enter the name of the quotes category here

     

    /*************** OPTIONS - IF ENABLED, ALSO SET THE SIMILAR OPTION FARTHER DOWN ******************/

    define('OPTIONS_ENABLED', 1);

    define('OPTIONS_ENABLED_AGE_RANGE', 0);

    define('OPTIONS_ENABLED_ATTRIBUTES', 0);

    define('OPTIONS_ENABLED_BRAND', 1); //if set, see options for this setting below

    define('OPTIONS_ENABLED_CONDITION', 1);

    define('OPTIONS_ENABLED_CURRENCY', 0);

    define('OPTIONS_ENABLED_EXPIRATION', 1);

    define('OPTIONS_ENABLED_FEED_LANGUAGE', 0);

    define('OPTIONS_ENABLED_GTIN', 0); //if set, a database field named products_gtin must exist

    define('OPTIONS_ENABLED_GOOGLE_PRODUCT_CATEGORY', 1); //http://www.google.com/support/merchants/bin/answer.py?answer=160081

    define('OPTIONS_ENABLED_GOOGLE_UTM', 0);

    define('OPTIONS_ENABLED_ISBN', 0); //if set, a database field named products_isbn must exist

    define('OPTIONS_ENABLED_MADE_IN', 0);

    define('OPTIONS_ENABLED_MPN', 1); //if set, see options for this setting below

    define('OPTIONS_ENABLED_PRODUCT_MODEL', 0); //displays the product model

    define('OPTIONS_ENABLED_PRODUCT_EAN', 1); //displays the products ean

    define('OPTIONS_ENABLED_PRODUCT_TYPE', 1);

    define('OPTIONS_ENABLED_SHIPPING', 0);

    define('OPTIONS_ENABLED_INCLUDE_TAX', 0); //0 = no tax, 1 = uses google method, 2 = UK Vat

    define('OPTIONS_ENABLED_UPC', 0); //if set, a database field named products_upc must exist

    define('OPTIONS_ENABLED_WEIGHT', 0);

     

    //some of the following only work if the matching option is enabled above.

    define('OPTIONS_AGE_RANGE', '20-90 years');

     

    define('OPTIONS_AVAILABILITY', 'in stock'); //in stock - Include this value if you are certain that it will ship (or be in-transit to the customer) in 3 business days or less.

    //available for order - Include this value if it will take 4 or more business days to ship it to the customer.

    //out of stock - You’re currently not accepting orders for this product.

    //preorder - You are taking orders for this product, but it’s not yet been released.

    //if empty (no entry), the data will be loaded from the database. A field in the products description table named products_availability is required

    //if "quantity," the field will be popuplated via the quantity: 0 or less = out of stock, greater than 0 = in stock

    //if "status," the field will be popuplated via the status field. in or out of stock

     

    define('OPTIONS_BRAND', 'manu'); //leave blank to load from the database field named products_brand, set to "name" to substitute the products name, manu to substitute the manufactueres name or model to substitute the products model

    define('OPTIONS_CONDITION', 'new'); //possible entries are New, Refurbished, Used or blank, which loads from the database field named products_condition

    define('OPTIONS_CURRENCY', 'USD');

    define('OPTIONS_CURRENCY_THOUSANDS_POINT', ','); //this is the thousands point as in $1,000.

    define('OPTIONS_DATE_FORMAT', 'Y-m-d'); //change how the date is formatted

    define('OPTIONS_FEED_LANGUAGE', 'en');

    define('OPTIONS_GOOGLE_UTM', '?utm_source=GoogleBase1&utm_medium=BaseFeed1&utm_campaign=products'); //see http://www.google.co...en&answer=55578

    define('OPTIONS_GOOGLE_PRODUCT_CATEGORY', 'Health & Beauty > Personal Care'); //enter db to load from a database field named google_product_category enter or enter a specific google category - see taxomy - http://www.google.co...y?answer=160081

    define('OPTIONS_GTIN', '');

    define('OPTIONS_ISBN', '');

    define('OPTIONS_MADE_IN', 'US');

    define('OPTIONS_MPN', 'model'); //leave blank to load from the database field named products_mpn, set to "name" to substitute the products name, manu to substitute the manufactueres name or model to substitute the products model

    define('OPTIONS_PRODUCT_TYPE', 'full'); //full means the full category path (i.e., hardware,printers), anything else, or blank, means just the products category (i.e., printers)

     

    //the following is for the shipping override option - enter multiple values separated by a comma

    //Format entries follow. A colon must be present for each field, whether it is entered or not.

    // COUNTRY - OPTIONAL - If country isn't included, we'll assume the shipping price applies to the target country of the item. If region isn't included, the shipping price will apply across the entire country.

    // REGION - OPTIONAL - blank for entire country, otherwise, us two-letter State (CA), full zip code (90210) or wildcard zip code (902*)

    // SERVICE - OPTIONAL - The service class or delivery speed, i.e. ground

    // PRICE - REQUIRED - Fixed shipping price (assumes the same currency as the price attribute)

    define('OPTIONS_SHIPPING_STRING', 'US:FL:Ground:7.00'); //says charge shipping to US for residents of Florida at 5% and don't apply tax to shipping

     

    define('OPTIONS_TAX_RATE' , '20.0'); //default = 0 (e.g. for 20.0% tax use "$taxRate = 20.0;") //only used in the next line

    define('OPTIONS_TAX_CALC', (OPTIONS_ENABLED_INCLUDE_TAX == 2 ? (OPTIONS_TAX_RATE/100) + 1 : '1')); //UK. US tax rate - US is ignorded since it is 1

    //the following is for the tax override option - enter multiple values separated by a comma

    //Format entries follow. A colon must be present for each field, whether it is entered or not.

    // COUNTRY - OPTIONAL - country the tax applies to - only US for now

    // REGION - OPTIONAL - blank for entire country, otherwise, us two-letter State (CA), full zip code (90210) or wildcard zip code (902*)

    // TAX - REQUIRED - default = 0 (e.g. for 5.76% tax use 5.76)

    // SHIPPING - OPTIONAL - do you charge tax on shipping - choices are y or n

    define('OPTIONS_TAX_STRING', 'US:FL:5.00:n'); //says charge tax to US for residents of Florida at 5% and don't apply tax to shipping

     

    define('OPTIONS_UPC', '');

    define('OPTIONS_WEIGHT_ACCEPTED_METHODS', 'lb'); //Valid units include lb, pound, oz, ounce, g, gram, kg, kilogram.

     

    //the following allow skipping certain items

    define('OPTIONS_IGNORE_PRODUCT_PRICE', 1); //0 = include products with price of 0 in output, 1 = ignore products with price of 0

    define('OPTIONS_IGNORE_PRODUCT_ZERO', 0); //0 = include products with qty of 0 in output, 1 = ignore products with qty of 0

     

    /*************** END MASTER SETTINGS ******************/

     

     

    /*************** NO EDITS NEEDED BELOW THIS LINE *****************/

     

    //********************

    // Start TIMER

    // -----------

    $stimer = explode( ' ', microtime() );

    $stimer = $stimer[1] + $stimer[0];

    // -----------

     

     

    $OutFile = "feeds/" . FEEDNAME;

    $destination_file = FEEDNAME;

    $source_file = $OutFile;

    $imageURL = 'http://' . DOMAIN_NAME . '/images/';

    if(SEO_ENABLED=='true'){

    $productURL = 'product_info.php'; // ***** Revised for SEO

    $productParam = "products_id="; // ***** Added for SEO

    }else{

    $productURL = 'http://' . DOMAIN_NAME . '/product_info.php?products_id=';

    }

     

    $already_sent = array();

     

    if(CONVERT_CURRENCY)

    {

    if(SEO_ENABLED=='true'){

    $productParam="currency=" . CURRENCY_TYPE . "&products_id=";

    }else{

    $productURL = "http://" . DOMAIN_NAME . "/product_info.php?currency=" . CURRENCY_TYPE . "&products_id="; //where CURRENCY_TYPE is your currency type (eg. USD, EUR, GBP)

    }

    }

     

    $feed_exp_date = @date(OPTIONS_DATE_FORMAT, time() + 2419200 );

     

    if (!($link=mysql_connect(DB_SERVER,DB_SERVER_USERNAME,DB_SERVER_PASSWORD))) {

    echo "Error when connecting itself to the data base";

    exit();

    }

    if (!mysql_select_db( DB_DATABASE , $link )) {

    echo "Error the data base does not exist";

    exit();

    }

     

    $quotes = '';

    if (QUOTES_CATEGORY_NAME !== '') {

    $quotes = " and products.customers_email_address = '' and products.quotes_email_address = ''";

    }

     

    $extraFields = '';

    if (OPTIONS_AVAILABILITY == '') {

    $extraFields .= ' products_description.products_availability as availability, ';

    }

    if (OPTIONS_ENABLED_BRAND == 1) {

    if (strlen(OPTIONS_BRAND) == 0) {

    $extraFields .= ' products.products_brand as brand, ';

    } else {

    switch (OPTIONS_BRAND) {

    case 'name': $extraFields .= ' products_description.products_name as brand, '; break;

    case 'manu': $extraFields .= ' manufacturers.manufacturers_name as brand, '; break;

    case 'model': $extraFields .= ' products.products_model as brand, '; break;

    default: $extraFields .= ' products_description.products_name as brand, ';

    }

    }

    }

    if (OPTIONS_ENABLED_CONDITION == 1 && strlen(OPTIONS_CONDITION) == 0) {

    $extraFields .= ' products.products_condition as pcondition, ';

    }

    if (OPTIONS_ENABLED_GTIN == 1 && strlen(OPTIONS_GTIN) == 0) {

    $extraFields .= ' products.products_gtin as gtin, ';

    }

    if (OPTIONS_ENABLED_ISBN == 1 && strlen(OPTIONS_ISBN) == 0) {

    $extraFields .= ' products.products_isbn as isbn, ';

    }

    if (OPTIONS_ENABLED_MPN == 1) {

    if (strlen(OPTIONS_MPN) == 0) {

    $extraFields .= ' products.products_mpn as mpn, ';

    } else {

    switch (OPTIONS_MPN) {

    case 'name': $extraFields .= ' products_description.products_name as mpn, '; break;

    case 'manu': $extraFields .= ' manufacturers.manufacturers_name as mpn, '; break;

    case 'model': $extraFields .= ' products.products_model as mpn, '; break;

    default: $extraFields .= ' products_description.products_name as mpn, ';

    }

    }

    }

    if (OPTIONS_ENABLED_UPC == 1 && strlen(OPTIONS_UPC) == 0) {

    $extraFields .= ' products.products_upc as upc, ';

    }

     

    if (OPTIONS_ENABLED_GOOGLE_PRODUCT_CATEGORY == 1 && OPTIONS_GOOGLE_PRODUCT_CATEGORY == 'db') {

    $extraFields .= ' products_description.google_product_category as google_category, ';

    }

     

     

    $sql = "

    SELECT concat( '" . $productURL . "' ,products.products_id) AS product_url,

    products_model AS prodModel,

    products_ean AS prodEAN,

    manufacturers.manufacturers_id,

    products.products_id AS id,

    products_description.products_name AS name,

    products_description.products_description AS description,

    products.products_quantity AS quantity,

    products.products_status AS prodStatus,

    products.products_weight AS prodWeight, " . $extraFields . "

    FORMAT( IFNULL(specials.specials_new_products_price, products.products_price) * " . OPTIONS_TAX_CALC . ",2) AS price,

    CONCAT( '" . $imageURL . "' ,products.products_image) AS image_url,

    products_to_categories.categories_id AS prodCatID,

    categories.parent_id AS catParentID,

    categories_description.categories_name AS catName

    FROM (categories,

    categories_description,

    products,

    products_description,

    products_to_categories)

     

    left join manufacturers on ( manufacturers.manufacturers_id = products.manufacturers_id )

    left join specials on ( specials.products_id = products.products_id AND ( ( (specials.expires_date > CURRENT_DATE) OR (specials.expires_date is NULL) OR (specials.expires_date = 0) ) AND ( specials.status = 1 ) ) )

     

    WHERE products.products_id=products_description.products_id

    AND products.products_id=products_to_categories.products_id

    AND products_to_categories.categories_id=categories.categories_id

    AND categories.categories_id=categories_description.categories_id " . $quotes . "

    AND categories_description.language_id = " . DEFAULT_LANGUAGE_ID . "

    AND products_description.language_id = " . DEFAULT_LANGUAGE_ID . "

    ORDER BY

    products.products_id ASC

    ";

     

    $quotes = '';

    if (QUOTES_CATEGORY_NAME !== '') {

    $quotes = " and categories_description.categories_name NOT LIKE '" . QUOTES_CATEGORY_NAME . "' ";

    }

     

    $catInfo = "

    SELECT

    categories.categories_id AS curCatID,

    categories.parent_id AS parentCatID,

    categories_description.categories_name AS catName

    FROM

    categories,

    categories_description

    WHERE categories.categories_id = categories_description.categories_id " . $quotes . "

    AND categories_description.language_id = " . DEFAULT_LANGUAGE_ID . "";

     

    function findCat($curID, $catTempPar, $catTempDes, $catIndex) {

    if( (isset($catTempPar[$curID])) && ($catTempPar[$curID] != 0) ) {

    if(isset($catIndex[$catTempPar[$curID]])) {

    $temp=$catIndex[$catTempPar[$curID]];

    } else {

    $catIndex = findCat($catTempPar[$curID], $catTempPar, $catTempDes, $catIndex);

    $temp = $catIndex[$catTempPar[$curID]];

    }

    }

    if( (isset($catTempPar[$curID])) && (isset($catTempDes[$curID])) && ($catTempPar[$curID] == 0) ) {

    $catIndex[$curID] = $catTempDes[$curID];

    } else {

    $catIndex[$curID] = $temp . ", " . $catTempDes[$curID];

    }

    return $catIndex;

    }

     

    $catIndex = array();

    $catTempDes = array();

    $catTempPar = array();

    $processCat = mysql_query( $catInfo )or die( $FunctionName . ": SQL error " . mysql_error() . "| catInfo = " . htmlentities($catInfo) );

     

    while ( $catRow = mysql_fetch_object( $processCat ) ) {

    $catKey = $catRow->curCatID;

    $catName = $catRow->catName;

    $catParID = $catRow->parentCatID;

    if($catName != "") {

    $catTempDes[$catKey]=$catName;

    $catTempPar[$catKey]=$catParID;

    }

    }

     

    foreach($catTempDes as $curID=>$des) { //don't need the $des

    $catIndex = findCat($curID, $catTempPar, $catTempDes, $catIndex);

    }

     

    $_strip_search = array(

    "![\t ]+$|^[\t ]+!m", // remove leading/trailing space chars

    '%[\r\n]+%m'); // remove CRs and newlines

    $_strip_replace = array(

    '',

    ' ');

    $_cleaner_array = array(">" => "> ", "®" => "", " " => " ", "®" => "", "™" => "", "™" => "", "\t" => "", " " => "", """ => "\"");

     

     

    if ( file_exists( $OutFile ) ) {

    unlink( $OutFile );

    }

     

    $output = "link\ttitle\tdescription\tprice\timage_link\tid\tavailability";

    $attributesColumns = array();

     

    //create optional section

    if(OPTIONS_ENABLED == 1) {

    if(OPTIONS_ENABLED_AGE_RANGE == 1) $output .= "\tage_range";

    if(OPTIONS_ENABLED_BRAND == 1) $output .= "\tbrand";

    if(OPTIONS_ENABLED_CONDITION == 1) $output .= "\tcondition";

    if(OPTIONS_ENABLED_CURRENCY == 1) $output .= "\tcurrency";

    if(OPTIONS_ENABLED_EXPIRATION == 1) $output .= "\texpiration_date";

    if(OPTIONS_ENABLED_FEED_LANGUAGE == 1) $output .= "\tlanguage";

    if(OPTIONS_ENABLED_GOOGLE_PRODUCT_CATEGORY == 1) $output .= "\tgoogle product_category";

    if(OPTIONS_ENABLED_GTIN == 1) $output .= "\tgtin";

    if(OPTIONS_ENABLED_ISBN == 1) $output .= "\tisbn";

    if(OPTIONS_ENABLED_MADE_IN == 1) $output .= "\tmade_in";

    if(OPTIONS_ENABLED_MPN == 1) $output .= "\tmpn";

    if(OPTIONS_ENABLED_PRODUCT_MODEL == 1) $output .= "\tmodel";

    if(OPTIONS_ENABLED_PRODUCT_EAN == 1) $output .= "\tean";

    if(OPTIONS_ENABLED_PRODUCT_TYPE == 1) $output .= "\tproduct_type";

    if(OPTIONS_ENABLED_SHIPPING == 1) $output .= "\tshipping";

    if(OPTIONS_ENABLED_INCLUDE_TAX == 1) $output .= "\ttax";

    if(OPTIONS_ENABLED_UPC == 1) $output .= "\tupc";

    if(OPTIONS_ENABLED_WEIGHT == 1) $output .= "\tweight";

     

    if (OPTIONS_ENABLED_ATTRIBUTES == 1) {

    $products_options_name_query = mysql_query("select distinct popt.products_options_id, popt.products_options_name from products_options popt, products_attributes patrib where popt.language_id = '" . (int)1 . "' order by popt.products_options_name") or die(mysql_error());

    while ($products_options_name = mysql_fetch_object($products_options_name_query)) {

    $attributesColumns[] = $products_options_name->products_options_name;

    $name = strtolower($products_options_name->products_options_name);

    $name = str_replace(" ","_", $name);

    $output .= "\tc:" . $name;

    }

     

    /*

    //If you want to only show particular attributes, comment out the above and uncomment this section.

    //Then enter two lines for each one you want to show. For example, if the atttributes you want to

    //show are named Color and Fabric, the entries would appear as follows:

     

    $attributesColumns[] = "Color";

    $attributesColumns[] = "Fabric";

     

    $output .= "\tc:" . strtolower("Color");

    $output .= "\tc:" . strtolower("Fabric");

    */

    }

    }

    $output .= "\n";

     

     

    $result=mysql_query( $sql )or die( $FunctionName . ": SQL error " . mysql_error() . "| sql = " . htmlentities($sql) );

     

    //Currency Information

    if(CONVERT_CURRENCY) {

    $sql3 = "

    SELECT

    currencies.value AS curUSD

    FROM

    currencies

    WHERE currencies.code = '" . CURRENCY_TYPE . "'";

     

    $result3=mysql_query( $sql3 )or die( $FunctionName . ": SQL error " . mysql_error() . "| sql3 = " . htmlentities($sql3) );

    $row3 = mysql_fetch_object( $result3 );

    }

     

    $loop_counter = 0;

    $statsArray = array();

     

    while( $row = mysql_fetch_object( $result ) ) {

    if (isset($already_sent[$row->id])) continue; // if we've sent this one, skip the rest of the while loop

    if (OPTIONS_IGNORE_PRODUCT_PRICE > 0 && $row->price <= 0) continue; //skip products with 0 price

    if (OPTIONS_IGNORE_PRODUCT_ZERO > 0 && $row->quantity < 1) continue; //skip products with 0 qty

    if (OPTIONS_IGNORE_PRODUCT_PRICE < 1 && $row->price <= 0) $statsArray['price']++; //record for warning

    if (OPTIONS_IGNORE_PRODUCT_ZERO < 1 && $row->quantity < 1) $statsArray['qty']++; //record for warning

     

    $statsArray['total']++;

     

    if ( $row->prodStatus == 1 ) {

    if (CONVERT_CURRENCY) {

    $row->price = preg_replace("/[^.0-9]/", "", $row->price);

    $row->price = $row->price * $row3->curUSD;

    $row->price = number_format($row->price, 2, '.', OPTIONS_CURRENCY_THOUSANDS_POINT);

    }

     

    $availability = '';

    switch (OPTIONS_AVAILABILITY) {

    case 'quantity': $availability = ($row->quantity > 0 ? 'in stock' : 'out of stock'); break;

    case 'status': $availability = ($row->prodStatus == 1 ? 'in stock' : 'out of stock'); break;

    case '': $availability = $row->availability; break;

    default: $availability = OPTIONS_AVAILABILITY;

    }

     

    $google_utm = (OPTIONS_ENABLED_GOOGLE_UTM ? OPTIONS_GOOGLE_UTM : '');

     

    if(SEO_ENABLED=='true'){

    $output .= tep_href_link($productURL,$productParam . $row->id, 'NONSSL', false) . $google_utm . "\t";

    } else {

    $output .= $row->product_url . $google_utm . "\t";

    }

     

    $output .=

    preg_replace($_strip_search, $_strip_replace, strip_tags( strtr($row->name, $_cleaner_array) ) ) . "\t" .

    preg_replace($_strip_search, $_strip_replace, strip_tags( strtr($row->description, $_cleaner_array) ) ) . "\t" .

    $row->price . "\t" .

    $row->image_url . "\t" .

    // $catIndex[$row->prodCatID] . "\t" .

    $row->id . "\t" .

    $availability;

     

    //optional values section

    if(OPTIONS_ENABLED == 1) {

    if(OPTIONS_ENABLED_AGE_RANGE == 1)

    $output .= "\t" . OPTIONS_AGE_RANGE;

    if(OPTIONS_ENABLED_BRAND == 1)

    $output .= "\t" . (isset($row->brand) ? $row->brand : (strlen(OPTIONS_BRAND) ? $row->name : "Not Supported"));

    if(OPTIONS_ENABLED_CONDITION == 1)

    $output .= "\t" . (isset($row->pcondition) ? $row->pcondition : OPTIONS_CONDITION);

    if(OPTIONS_ENABLED_CURRENCY == 1)

    $output .= "\t" . OPTIONS_CURRENCY;

    if(OPTIONS_ENABLED_EXPIRATION == 1)

    $output .= "\t" . $feed_exp_date;

    if(OPTIONS_ENABLED_FEED_LANGUAGE == 1)

    $output .= "\t" . OPTIONS_FEED_LANGUAGE;

    if(OPTIONS_ENABLED_GOOGLE_PRODUCT_CATEGORY == 1)

    $output .= "\t" . (OPTIONS_GOOGLE_PRODUCT_CATEGORY == 'db' ? $row->google_category : OPTIONS_GOOGLE_PRODUCT_CATEGORY);

    if(OPTIONS_ENABLED_GTIN == 1)

    $output .= "\t" . (isset($row->gtin) ? $row->gtin : (strlen(OPTIONS_GTIN) ? OPTIONS_GTIN : "Not Supported"));

    if(OPTIONS_ENABLED_ISBN == 1)

    $output .= "\t" . (isset($row->isbn) ? $row->isbn : (strlen(OPTIONS_ISBN) ? OPTIONS_ISBN : "Not Supported"));

    if(OPTIONS_ENABLED_MADE_IN == 1)

    $output .= "\t" . OPTIONS_MADE_IN;

    if(OPTIONS_ENABLED_MPN == 1)

    $output .= "\t" . (isset($row->mpn) ? $row->mpn : (strlen(OPTIONS_MPN) ? OPTIONS_MPN : "Not Supported"));

    if(OPTIONS_ENABLED_PRODUCT_MODEL == 1)

    $output .= "\t" . (! empty($row->prodModel) ? $row->prodModel : $row->catName);

    if(OPTIONS_ENABLED_PRODUCT_EAN == 1)

    $output .= "\t" . $row->prodEAN;

    if(OPTIONS_ENABLED_PRODUCT_TYPE == 1)

    $output .= "\t" . ((OPTIONS_PRODUCT_TYPE == strtolower('full')) ? $catIndex[$row->prodCatID] : $row->catName);

    if(OPTIONS_ENABLED_SHIPPING == 1)

    $output .= "\t" . OPTIONS_SHIPPING_STRING;

    if(OPTIONS_ENABLED_INCLUDE_TAX == 1)

    $output .= "\t" . OPTIONS_TAX_STRING;

    if(OPTIONS_ENABLED_UPC == 1)

    $output .= "\t" . (isset($row->upc) ? $row->upc : (strlen(OPTIONS_UPC) ? OPTIONS_UPC : "Not Supported"));

    if(OPTIONS_ENABLED_WEIGHT == 1)

    $output .= "\t" . $row->prodWeight . ' ' .OPTIONS_WEIGHT_ACCEPTED_METHODS;

     

    /******************* BEGIN HANDLING THE ATTRIBUTES ********************/

    if (OPTIONS_ENABLED_ATTRIBUTES == 1)

    {

    $products_attributes_query = mysql_query("select count(*) as total from products_options popt, products_attributes patrib where patrib.products_id='" . $row->id . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . (int)1 . "'");

    $products_attributes = mysql_fetch_object($products_attributes_query);

    if ($products_attributes->total > 0) {

    $products_options_name_query = mysql_query("select distinct popt.products_options_id, popt.products_options_name from products_options popt, products_attributes patrib where patrib.products_id='" . (int)$row->id . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . (int)1 . "' order by popt.products_options_name") or die(mysql_error());

     

    $trackTabs = '';

     

    while ($products_options_name = mysql_fetch_object($products_options_name_query)) {

    $products_options_array = array();

    $products_options_query = mysql_query("select pov.products_options_values_id, pov.products_options_values_name, pa.options_values_price, pa.price_prefix from products_attributes pa, products_options_values pov where pa.products_id = '" . (int)$row->id . "' and pa.options_id = '" . $products_options_name->products_options_id . "' and pa.options_values_id = pov.products_options_values_id and pov.language_id = '" . (int)1 . "'");

    while ($products_options = mysql_fetch_object($products_options_query)) {

    $products_options_array[] = array('id' => $products_options->products_options_values_id, 'text' => $products_options->products_options_values_name);

    }

     

    for ($a = 0; $a < count($attributesColumns); ++$a)

    {

    if ($products_options_name->products_options_name == $attributesColumns[$a])

    {

    if ($a == 0)

    $trackTabs = "\t";

    else

    {

    if (empty($trackTabs))

    $trackTabs = str_repeat("\t", $a);

    $trackTabs .= "\t";

    }

     

    $output .= $trackTabs;

    foreach ($products_options_array as $arr)

    $output .= $arr['text'] . ',';

    $output = substr($output, 0, -1);

    }

    }

    }

    }

    }

    /******************* END HANDLING THE ATTRIBUTES ********************/

    }

    $output .= " \n";

    }

     

    $already_sent[$row->id] = 1;

    $loop_counter++;

     

    if ($loop_counter>750) {

    $fp = fopen( $OutFile , "a" );

    $fout = fwrite( $fp , $output );

    fclose( $fp );

    $loop_counter = 0;

    $output = "";

    }

    }

     

    $fp = fopen( $OutFile , "a" );

    $fout = fwrite( $fp , $output );

    fclose( $fp );

     

    echo '<p style="margin:auto; text-align:left">';

    printf( "Feed contains %d products.", $statsArray['total'] );

    echo '</p>';

     

    $warning = false;

    if (count($statsArray['price']) > 0) {

    $warning = true;

    echo '<p style="margin:auto; text-align:left">';

    printf( " ***Warning:*** There are %d products with a price of $0.", $statsArray['price'] );

    echo '</p>';

    }

     

    if (count($statsArray['qty']) > 0) {

    $warning = true;

    echo '<p style="margin:auto; text-align:left; padding-bottom:10px; ">';

    printf( " ***Warning:*** There are %d products with a quantity of 0.", $statsArray['qty'] );

    echo '</p>';

    }

     

    $completed = 'File Completed' . ($warning ? ' (with warnings): ' : ':' );

     

    echo "$completed <a href=\"../" . $OutFile . "\" target=\"_blank\">" . $destination_file . "</a><br>\n";

    chmod($OutFile, 0777);

     

     

    //Start FTP

     

    function ftp_file( $ftpservername, $ftpusername, $ftppassword, $ftpsourcefile, $ftpdirectory, $ftpdestinationfile ) {

    // set up basic connection

    $conn_id = ftp_connect($ftpservername);

    if ( $conn_id == false ) {

    echo "FTP open connection failed to $ftpservername <BR>\n" ;

    return false;

    }

     

    // login with username and password

    $login_result = ftp_login($conn_id, $ftpusername, $ftppassword);

     

    // check connection

    if ((!$conn_id) || (!$login_result)) {

    echo "FTP connection has failed!<BR>\n";

    echo "Attempted to connect to " . $ftpservername . " for user " . $ftpusername . "<BR>\n";

    return false;

    } else {

    echo "Connected to " . $ftpservername . ", for user " . $ftpusername . "<BR>\n";

    }

     

    if ( strlen( $ftpdirectory ) > 0 ) {

    if (ftp_chdir($conn_id, $ftpdirectory )) {

    echo "Current directory is now: " . ftp_pwd($conn_id) . "<BR>\n";

    } else {

    echo "Couldn't change directory on $ftpservername<BR>\n";

    return false;

    }

    }

     

    ftp_pasv ( $conn_id, true ) ;

    // upload the file

    $upload = ftp_put( $conn_id, $ftpdestinationfile, $ftpsourcefile, FTP_ASCII );

     

    // check upload status

    if (!$upload) {

    echo "$ftpservername: FTP upload has failed!<BR>\n";

    return false;

    } else {

    echo "Uploaded " . $ftpsourcefile . " to " . $ftpservername . " as " . $ftpdestinationfile . "<BR>\n";

    }

     

    // close the FTP stream

    ftp_close($conn_id);

     

    return true;

    }

     

    if (FTP_ENABLED)

    ftp_file( "uploads.google.com", FTP_USERNAME, FTP_PASSWORD, $source_file, "", $destination_file);

     

    //End FTP

     

     

    // End TIMER

    // ---------

    $etimer = explode( ' ', microtime() );

    $etimer = $etimer[1] + $etimer[0];

     

    echo '<p style="margin:auto; text-align:center">';

    printf( "Script timer: <b>%f</b> seconds.", ($etimer-$stimer) );

    echo '</p>';

     

     

     

     

    // ---------

     

    ?>

  3. im looking for a more professional look on my website and i think that although everyone knows paypal i do feel that it lets my site down a little.

     

    my shop dosnt do much at the minute in terms of turnover but maybe this is a reason.

    im looking for something similar as paypal but purely for card payments. as i said it aint doing much so a monthly subscription is kinda out of the question. is there any card processing modules that work like paypal, on a payment fee basis only?

     

    thanks for any help

  4. what ever you do. if you are going to use this incredably invaluable tool then please use the add-on created by

    thewrath1

     

    as a temporary measure until jack uploads a proper version that will make google love us once again.

     

    i didnt think i needed it until i re-uploaded my google feed and i fell of the map. google disapproved all my products. it only takes a small ammount of time to do but its worth more than you have done before.

     

    the reason i didnt do it was because i thought i needed the upc. in actual fact i got confused with the ean so im the same as thewrath1. dont use it, never have and probably never will so it might aswell be used as the most important part of googles most recent changes.

     

    thanks thewrath1 great job.

  5. could anyone tell me if the latest update v_2.8 EU is something i should add. ive used google translate and it reads.

     

    Ported to Europe with VAT imposition

     

    Please note that only google merchant

     

    can anyone tell me what that means please. i know translation isnt perfect so was wondering if it meant something else.

     

    thanks.

     

    ps. any ideas of when the next update v_2.9 will be available.(god damn you google)

  6. i am wondering if anyone can help me. i must have done something to something but i do not know what. i have tried to seng a data feed to google and it came up with this error.

     

    : SQL error Unknown column 'products.products_brand' in 'field list'| sql = SELECT concat( 'http://www.vanity-flair-uk.com/product_info.php?products_id=' ,products.products_id) AS product_url, products_model AS prodModel, manufacturers.manufacturers_name AS mfgName, manufacturers.manufacturers_id, products.products_id AS id, products_description.products_name AS name, products_description.products_description AS description, products.products_quantity AS quantity, products.products_status AS prodStatus, products.products_weight AS prodWeight, products.products_brand as brand, FORMAT( IFNULL(specials.specials_new_products_price, products.products_price), 2) AS price, CONCAT( 'http://www.vanity-flair-uk.com/images/' ,products.products_image) AS image_url, products_to_categories.categories_id AS prodCatID, categories.parent_id AS catParentID, categories_description.categories_name AS catName FROM (categories, categories_description, products, products_description, products_to_categories) left join manufacturers on ( manufacturers.manufacturers_id = products.manufacturers_id ) left join specials on ( specials.products_id = products.products_id AND ( ( (specials.expires_date > CURRENT_DATE) OR (specials.expires_date is NULL) OR (specials.expires_date = 0) ) AND ( specials.status = 1 ) ) ) WHERE products.products_id=products_description.products_id AND products.products_id=products_to_categories.products_id AND products_to_categories.categories_id=categories.categories_id AND categories.categories_id=categories_description.categories_id AND categories_description.language_id = 1 AND products_description.language_id = 1 ORDER BY products.products_id ASC

     

    i have not used this for a couple of weeks and as far as i knew everything was fine when i last used it.

     

    could someone please help.

     

    i will be very greatful

     

    sorry sorted it!!

  7. i am wondering if anyone can help me. i must have done something to something but i do not know what. i have tried to seng a data feed to google and it came up with this error.

     

    : SQL error Unknown column 'products.products_brand' in 'field list'| sql = SELECT concat( 'http://www.vanity-flair-uk.com/product_info.php?products_id=' ,products.products_id) AS product_url, products_model AS prodModel, manufacturers.manufacturers_name AS mfgName, manufacturers.manufacturers_id, products.products_id AS id, products_description.products_name AS name, products_description.products_description AS description, products.products_quantity AS quantity, products.products_status AS prodStatus, products.products_weight AS prodWeight, products.products_brand as brand, FORMAT( IFNULL(specials.specials_new_products_price, products.products_price), 2) AS price, CONCAT( 'http://www.vanity-flair-uk.com/images/' ,products.products_image) AS image_url, products_to_categories.categories_id AS prodCatID, categories.parent_id AS catParentID, categories_description.categories_name AS catName FROM (categories, categories_description, products, products_description, products_to_categories) left join manufacturers on ( manufacturers.manufacturers_id = products.manufacturers_id ) left join specials on ( specials.products_id = products.products_id AND ( ( (specials.expires_date > CURRENT_DATE) OR (specials.expires_date is NULL) OR (specials.expires_date = 0) ) AND ( specials.status = 1 ) ) ) WHERE products.products_id=products_description.products_id AND products.products_id=products_to_categories.products_id AND products_to_categories.categories_id=categories.categories_id AND categories.categories_id=categories_description.categories_id AND categories_description.language_id = 1 AND products_description.language_id = 1 ORDER BY products.products_id ASC

     

    i have not used this for a couple of weeks and as far as i knew everything was fine when i last used it.

     

    could someone please help.

     

    i will be very greatful

  8. sorry to bother you again but i have downloaded winmerge. very useful tool. i have gone throught the idex and made the changes required but my index now looks like this.

     

    www.vanity-flai-uk.com

     

    could you please tell me where my left column is and why my right column is at the bottom.

     

    sorry for sounding like a novice.

     

    thanks for you help tho. i can see this as being very easy to use(once i have it set up)

     

    haha, i have found that when i enable the customer greeting the left and right columns change.

  9. could someone help please. i have searched this thread for the answer but i could not find it. maybe because it is so obvious.

     

    i installed this sometime ago and when i started to have a play it re-arranged all my index. by this i mean that if say i chose customer greeting = true. that would not remove the original customer greeting and just add it at the bottom of the screen. in fact it seems to do this to all the modules that this add-on has. the scroll is on there at the moment but it looks fine at the bottom.

     

     

    any help?

    please tell me if i dont make sence, i ramble most of the time.

  10. You didn't add the new field to the database. You can read back through this thread for that problem if you would like more details.

     

    For the barcode, you probably should use the GTIN option.

     

    hi jack, i have read through your detailed instructions on how to add the brand to the database. the only thing is it does not tell me what file i should be editing.

     

    the contribution you mention. is that for v2.3. if so could you direct me as i can only seem to find it for v2.2.

     

    thanks for all your help

  11. That usually means you have to provide one of the new fields. If you click on the "Learn More" link beside those failures, it will describe the fields you need. There isn't once specific answer to this since the required fields vary with the type of product. Many times, one can get away by enabling the model and brand options in the feed settings.

     

    i have just enabled brand in googlefeeder.php and i got the following when i tested the feed

     

    : SQL error Unknown column 'products.products_brand' in 'field list'| sql = SELECT concat( 'http://www.vanity-flair-uk.com/product_info.php?products_id=' ,products.products_id) AS product_url, products_model AS prodModel, manufacturers.manufacturers_name AS mfgName, manufacturers.manufacturers_id, products.products_id AS id, products_description.products_name AS name, products_description.products_description AS description, products.products_quantity AS quantity, products.products_status AS prodStatus, products.products_weight AS prodWeight, products.products_brand as brand, FORMAT( IFNULL(specials.specials_new_products_price, products.products_price), 2) AS price, CONCAT( 'http://www.vanity-flair-uk.com/images/' ,products.products_image) AS image_url, products_to_categories.categories_id AS prodCatID, categories.parent_id AS catParentID, categories_description.categories_name AS catName FROM (categories, categories_description, products, products_description, products_to_categories) left join manufacturers on ( manufacturers.manufacturers_id = products.manufacturers_id ) left join specials on ( specials.products_id = products.products_id AND ( ( (specials.expires_date > CURRENT_DATE) OR (specials.expires_date is NULL) OR (specials.expires_date = 0) ) AND ( specials.status = 1 ) ) ) WHERE products.products_id=products_description.products_id AND products.products_id=products_to_categories.products_id AND products_to_categories.categories_id=categories.categories_id AND categories.categories_id=categories_description.categories_id AND categories_description.language_id = 1 AND products_description.language_id = 1 ORDER BY products.products_id ASC

     

    any suggestions

     

    also you refered to the model. the only thing i have that should be the same the world over is the barcode. how would i input this into first my item and then the googlefeed

  12. That usually means you have to provide one of the new fields. If you click on the "Learn More" link beside those failures, it will describe the fields you need. There isn't once specific answer to this since the required fields vary with the type of product. Many times, one can get away by enabling the model and brand options in the feed settings.

     

    thanks for your reply. i know that each and every item will be different but i dont have an option in the item set up to add a brand.

     

    how do i do that. i already have manufaturer which is in the drop down menu but no brand. i suppose the brand would be the same anyway.

  13. i am getting warning from google with regards my feed

     

    Some of your items do not have valid unique product identifiers. Please add valid unique product identifiers. Otherwise, it's possible that none of your items will appear in Google search results. Learn more

    588 items 97% of total

    Examples from your items: Identifier

    Excel Therapy O2 365 Soft Scrub Missing

    Lipstick - Chocolate Missing

    Eyeshadow Mono - Sunbeam Missing

    Orly Nail Polish - BERRY BLAST 18ml Missing

    Eyeshadow Duo - Halloween Missing

     

    could someone please tell me what i need to do. im not sure if google penalises for having things missing that it prefers there.

     

    thanks

     

    could someone please help me with this. i have posted this question numerous time with no reply. i know that the help is given by choice and i shouldnt expect it really. but i am concerned that none of my products are going to show on google shopping.

     

    sorry for being abrubt but i have no other source of information.

    thanks

  14. i am getting warning from google with regards my feed

     

    Some of your items do not have valid unique product identifiers. Please add valid unique product identifiers. Otherwise, it's possible that none of your items will appear in Google search results. Learn more

    588 items 97% of total

    Examples from your items: Identifier

    Excel Therapy O2 365 Soft Scrub Missing

    Lipstick - Chocolate Missing

    Eyeshadow Mono - Sunbeam Missing

    Orly Nail Polish - BERRY BLAST 18ml Missing

    Eyeshadow Duo - Halloween Missing

     

    could someone please tell me what i need to do. im not sure if google penalises for having things missing that it prefers there.

     

    thanks

  15. You could try using the included categories file to see if the problem goes away. If it does, then there is a mistake in that file and you can use the included one to find it.

     

    sorry i do not understand the 'included categories file'. do you mean the original or in the includes file rather than admin. how would i cross check it?

     

    forgot to mention before but i have unistalled this add-on once and re-installed it. that didnt work and i was getting the same error so i concentrated on the categories file. undid all that header tags seo said to do and then re-did it. still the same problem. if i am able to remove header tags seo and have no errors could someone suggest another keyword add-on as i seem to be having too much trouble with this, at least on one site.

  16. i have received this error message.

     

    Warning: Unexpected character in input: ''' (ASCII=39) state=1 in /home/zlunfcsz/public_html/www.chrysalis-beauty.co.uk/shopping/admin/categories.php on line 1174

     

    Parse error: syntax error, unexpected $end in /home/zlunfcsz/public_html/www.chrysalis-beauty.co.uk/shopping/admin/categories.php on line 1174

     

    this has been such a frustrating time. i have 2 sites with oscommerse. one the header tags works perfectly, the other which has the error used too. by this i mean that when i first istalled header tags seo it worked perfectly. them one day i came accross an error. i tried to fix it myself and search through the topic but i couldnt find the answer.

     

    i am using version 2.3.1 and like i said it worked perfectly then one day didnt. could someone offer any advise on this.

     

    the other add-ons i have are

     

    google feed

     

    thats it really.

     

    any help is most welcome

  17. could someone please tell me how toinput the correct url into the google feed im am getting this error

     

    Invalid URL in attribute: link (511 errors)

     

    We couldn't understand the URL that you submitted. Please check the format of your URL. Learn more.

    Examples:

    Item Nr. Line No. Value

    1 2 product_info.php29

    6 7 product_info.php36

    10 11 product_info.php40

    14 15 product_info.php44

    18 19 product_info.php48

     

    as you can see there is no web address. how do i input it please.

     

    thanks.

  18. please ignore my previous post. i started from scratch and it seems to work now.

     

    but with errors.

     

    could someone help me with these please

     

    Invalid URL in attribute: link (511 errors)

     

    We couldn't understand the URL that you submitted. Please check the format of your URL. Learn more.

    Examples:

    Item Nr. Line No. Value

    7 8 product_info.php37

    13 14 product_info.php43

    15 16 product_info.php45

    16 17 product_info.php46

    17 18 product_info.php47

    Encoding problem in attribute: description (1 error)

     

    Some of the characters in your items seem to be invalid. Please verify that all the characters in your feed are valid for your selected encoding.

    Examples:

    Item Nr. Line No. Value

    331 332 WONDERFUL TONIGHT Overnight Treatment for Damaged, Dry and Depleted Hair Our dreaming hours are vital in order to regenerate our body and mind. But imagine if you could regenerate your hair at the same time... Well now you can. NEW Wonderful Tonight Overnight Treatment is specially formulated to rejuvenate dry, damaged, depleted hair in need of intense repair - whilst you sleep. Wonderful Tonight contains KERAVISā„¢, a miracle ingredient which is proven to triple the strength of damaged hair. KERAVISā„¢ is fused together with our luxury complex (also found in the Diamond Dreams range). Diamond dust and crushed pearl provide brilliant shine ā€¢ā€¢ Champagne extract intensely moisturises and provides antioxidants ā€¢ā€¢ Cashmere extract smoothes and softens to control frizz and flyaways. Simply apply a small amount of product to dry hair before going to bed ā€¢ā€¢ Work through the hair, concentrating on ends and dry areas until product is absorbed ā€¢ā€¢ Sweet dreams! ā€¢ā€¢ Shampoo and condition the next morning ā€¢ā€¢ Repeat twice a month.

    Item Warnings 2218 items affected

    Missing recommended attribute: brand (511 warnings)

     

    While items missing recommended attributes will process successfully, we recommend including relevant attributes if they are available.

    Missing recommended attribute: shipping weight (511 warnings)

     

    While items missing recommended attributes will process successfully, we recommend including relevant attributes if they are available.

    Missing recommended attribute: mpn (511 warnings)

     

    While items missing recommended attributes will process successfully, we recommend including relevant attributes if they are available.

    Missing recommended attribute: product type (511 warnings)

     

    While items missing recommended attributes will process successfully, we recommend including relevant attributes if they are available.

    Missing recommended attribute: description (174 warnings)

     

    While items missing recommended attributes will process successfully, we recommend including relevant attributes if they are available.

  19. thanks for your help jim. i seem to have sorted the problem in a way. i have managed to deleted some php and got rid of the link all together. the replacement code you gave me did not work it kept coming up with an error on line 73. cant remember it exactly but at least it works now.

     

    thanks

  20. could someone please help. i have followed the instructions carefully and this is not my first add-on. i have upped the files and made the neccessary changes but i do not see the 'Create and Upload a GoogleBase datafeed' in admin/tools. could someone please suggest why i am not seeing.

     

    just to clrify. we do mean the admin panel and tools box yes? dont want to sound stupid but it could be the smallest of things.

     

    i am running v2.3.1. also i have other add-ons. header tags seo, modular_front_page_1.2.6, Discount_Code_osC_v2.3_1.

     

    i have listed these just incase they will interfere.

     

    thanks for any help given

     

     

    Please could someone lend thier expertise to this query. i dont mean to sound impatient but i really could do with getting this addon to work. i have done this the hard way for google feeds. i manually inputted the text in excel. so you could probably imagine why i am so anxious to get this done.

  21. could someone please help. i have followed the instructions carefully and this is not my first add-on. i have upped the files and made the neccessary changes but i do not see the 'Create and Upload a GoogleBase datafeed' in admin/tools. could someone please suggest why i am not seeing.

     

    just to clrify. we do mean the admin panel and tools box yes? dont want to sound stupid but it could be the smallest of things.

     

    i am running v2.3.1. also i have other add-ons. header tags seo, modular_front_page_1.2.6, Discount_Code_osC_v2.3_1.

     

    i have listed these just incase they will interfere.

     

    thanks for any help given

  22. i have installed this box and its working very well. however i have been trying to link to the category that my image displays. but it dosnt work. it dosnt even change from the default link.

     

    i do know that i had the same problem with the header and content until i had installed the update.

     

    has anyone else had the same problem and can anyone help

     

    thanks

    graham

×
×
  • Create New...