Ina Code Blog

bunch of code in one place
Jun
4

Fatal error: Cannot re-assign $this in /home/…../admin/includes/classes/upload.php on line 31

Posted by admin in osCommerce, tips

I logged in to osCommerce shop administration and I got this error:

Fatal error: Cannot re-assign $this in /home/…../admin/includes/classes/upload.php on line 31

Few days ago the shop was transferet to a server with PHP5 installed. So the problem needs to be fiksed and here is how:

Open file /admin/includes/classes/upload.php and obviously go to line 31 or find:

$this = null;

And replace it with:

unset($this);

The administration should work perfectly now.

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Mar
18

osCommerce: Add category and product name in title tag

Posted by admin in osCommerce, tips

I’m doing search engine optimization for a shop powered by osCommerce. Title tags are very important for that, so I wanted it to look like this: Shop name :: Category name :: Product name.

If you are using STS (Simple Template System) use:

  1. Open file /catalog/includes/modules/sts_inc/general.php
  2. Find line:

    $sts->template[’headertags’]= “<title>” . TITLE .”</title>”;

    and replace it with:

    // BOF add category and product name in title tag
    $product_title_query = tep_db_query(”select pd.products_name, pd.products_description from ” . TABLE_PRODUCTS . ” p, ” . TABLE_PRODUCTS_DESCRIPTION . ” pd where p.products_id = ‘” . (int)$HTTP_GET_VARS[’products_id’] . “‘ and pd.products_id = p.products_id and pd.language_id = ‘” . (int)$languages_id . “‘”);
    $product_title = tep_db_fetch_array($product_title_query); // get product name

    $category_query = tep_db_query(”select cd.categories_name, c.categories_image from ” . TABLE_CATEGORIES . ” c, ” . TABLE_CATEGORIES_DESCRIPTION . ” cd where c.categories_id = ‘” . (int)$current_category_id . “‘ and cd.categories_id = ‘” . (int)$current_category_id . “‘ and cd.language_id = ‘” . (int)$languages_id . “‘”);
    $category = tep_db_fetch_array($category_query); // get category name

    $sts->template[’headertags’]= “<title>” . TITLE . ” :: ” . $category[’categories_name’] . ” :: ” . $product_title[’products_name’] . “</title>”;
    // EOF add category and product name in title tag

  3. Upload the file and you’re done!

If you are using basic osCommerce use:

  1. Open file /catalog/index.php
  2. Find line:

    <title><?php echo TITLE; ?></title>

    and replace it with:

    <?php // BOF add category and product name in title tag
    $product_title_query = tep_db_query(”select pd.products_name, pd.products_description from ” . TABLE_PRODUCTS . ” p, ” . TABLE_PRODUCTS_DESCRIPTION . ” pd where p.products_id = ‘” . (int)$HTTP_GET_VARS[’products_id’] . “‘ and pd.products_id = p.products_id and pd.language_id = ‘” . (int)$languages_id . “‘”);
    $product_title = tep_db_fetch_array($product_title_query); // get product name

    $category_query = tep_db_query(”select cd.categories_name, c.categories_image from ” . TABLE_CATEGORIES . ” c, ” . TABLE_CATEGORIES_DESCRIPTION . ” cd where c.categories_id = ‘” . (int)$current_category_id . “‘ and cd.categories_id = ‘” . (int)$current_category_id . “‘ and cd.language_id = ‘” . (int)$languages_id . “‘”);
    $category = tep_db_fetch_array($category_query); // get category name
    ?>
    <title><?php echo TITLE . ” :: ” . $category[’categories_name’] . ” :: ” . $product_title[’products_name’]; ?></title>

  3. Do the same for file /catalog/product_info.php
  4. Upload files and that’s it!

Note: Page title (TITLE) is found in your language file (for example: /catalog/includes/language/english.php)

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Mar
6

osCommerce - Your Shopping Cart is empty!

Posted by admin in osCommerce, tips

I installed Ultimate SEO contribution to my osCommerce shop. Then i noticed, if I click on ‘Buy now’ button from product listing page, I get ‘Your Shopping Cart is empty!’ page. That’s not good for business right, so I had to fix the problem. So to do that, open /includes/modelus/product_listing.php and find code:

$lc_text = ‘<a href=”‘ . tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array(’action’)) . ‘action=buy_now&products_id=’ . $listing[’products_id’]) . ‘”>’ . tep_image_button(’button_buy_now.gif’, IMAGE_BUTTON_BUY_NOW) . ‘</a> ‘;

and repleace it with:

$lc_text = ‘<a href=”‘ . tep_href_link(basename($PHP_SELF), ‘action=buy_now&products_id=’ . $listing[’products_id’]) . ‘”>’ . tep_image_button(’button_buy_now.gif’) . ‘</a> ‘;

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Feb
4

osCommerce: 1046 - No Database Selected

Posted by admin in osCommerce, tips

Here is a solution to error:

1046 - No Database Selected
select configuration_key as cfgKey, configuration_value as cfgValue from configuration
[TEP STOP]

Open file /catalog/includes/confugure.php and check if your database properties (DataBase Name, UserName and PassWord) are correct.

define(’DB_SERVER’, ‘localhost’); // in most cases you don’t have to change this
define(’DB_SERVER_USERNAME’, ‘database_username’);
define(’DB_SERVER_PASSWORD’, ‘database_password’);
define(’DB_DATABASE’, ‘database_name’);

Make the same check in file /catalog/admin/includes/confugure.php for admin area to work.

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]