Jump to content
Sign in to follow this  
Farrukh

[Contribution] Header Tags Controller for Admin MS 2.2

Recommended Posts

does header tags controller work with sts version above ? or is there a contribution tailored for it ?

I don't use STSv2 since it is really outdated but I do remember that version already had Header Tag Controller support integrated in.

 

With that said, both contributions have matured since that time and it really isn't worth it to try to work out any issues with them. The best solution if it is available to you would be to scrap the older STS/HTC and then install the latest of each onto your store.

 

:thumbsup: You may even need to update your osCommerce files as well if you haven't been keeping up the the MS2 releases.

Edited by bkellum

Bill Kellum

 

Sounds Good Productions

STS Tutorials & more: STSv4.6, STS Add-ons (STS Power Pack), STS V4 Forum STS Forum FREE TEMPLATE

Share this post


Link to post
Share on other sites
I don't use STSv2 since it is really outdated but I do remember that version already had Header Tag Controller support integrated in.

 

With that said, both contributions have matured since that time and it really isn't worth it to try to work out any issues with them. The best solution if it is available to you would be to scrap the older STS/HTC and then install the latest of each onto your store.

 

:thumbsup: You may even need to update your osCommerce files as well if you haven't been keeping up the the MS2 releases.

is there a step by step procedure to that updrage from v2.01 to 4.5 and can i use my sts_template.html file still and not lose any changes with the new version ?"

Share this post


Link to post
Share on other sites
is there a step by step procedure to that updrage from v2.01 to 4.5 and can i use my sts_template.html file still and not lose any changes with the new version ?"

I answered your STS related question in the STSv4 forum.

http://forums.oscommerce.com/index.php?s=&...t&p=1156638


Bill Kellum

 

Sounds Good Productions

STS Tutorials & more: STSv4.6, STS Add-ons (STS Power Pack), STS V4 Forum STS Forum FREE TEMPLATE

Share this post


Link to post
Share on other sites

If this appears as a double post it's because I think I posted it the wrong area the first time.

 

I have Header Tag Controllers running on my site. It is working great on all pages except those generated by product_info.php

 

I have added the page product_info on the page control page.

 

I have filled in the text control page... noticed that this page has an HTPA check box which will not stay checked.

 

I have filled "all tags" on the fill tags page

 

Still I get no info filled in for files created by product_info.php

 

Any ideas what is going wrong?

 

If you need the site info I will send it by PM


Just between us, remember there are only 10 kinds of people in the world; those who understand binary and those who don't!!

 

Remember, learning is a "do-it-yourself" experience; although, not necessarily a "do-it-BY-yourself" experience.

 

The quickest way to learn is to forget to BACKUP!

Share this post


Link to post
Share on other sites
I have added the page product_info on the page control page.
You shouldn't have done this. Header Tags come with product info added because it is a special case file. If you added it, it means either the original had been deleted or now you have two entries. Either way, it will be incorrect. You need to replace (or merge) the includes/header_tags.php and english/header_tags.php files.

 

Jack

Share this post


Link to post
Share on other sites
You shouldn't have done this. Header Tags come with product info added because it is a special case file. If you added it, it means either the original had been deleted or now you have two entries. Either way, it will be incorrect. You need to replace (or merge) the includes/header_tags.php and english/header_tags.php files.

 

Jack

 

Hi Jack,

 

I downloaded a new copy of header tag controllers and replaced both of those files. Indeed the product_info page was included. All text was set at defaults. I filled in the pages as I did before (did not make a product_info page since it existed), filled all tags. I checked all 4 boxes for the product_info page. All stayed checked this time.

 

Still all pages fill perfectly except for product_info. The source code from IE for the header for product_info is here.

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html $htmlparams>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Treasure Mountain Mining</title><base href="http://www.xxxxxxxxx.com/catalog/">

<!-- start get_javascript(applicationtop2header) //-->
<script language="javascript"><!--
function popupWindow(url) {
 window.open(url,'popupWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,re
sizable=yes,copyhistory=no,width=780,height=600,screenX=150,screenY=150,top=20,le
ft=20')
}
//--></script>
<!-- end get_javascript(applicationtop2header) //-->

<meta http-equiv="Content-Language" content="en-us">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title></title>


<link rel="stylesheet" type="text/css" href="stylesheet.css">
</head>

 

Here is the source code from the categories page (index.php) filled properly.

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>

<!-- #BeginTemplate "!template_index.php.dwt" -->

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Alexandrite  - xxxxxxxxxx - Mineral Specimen, Crystals, Gemstones for sale</title>
<meta name="Description" content="Alexandrite Dealer in Gemstones, Mineral Specimen, Crystals with Metaphysic or Metaphysical Properties" />
<meta name="Keywords" content="Alexandrite, ,mineral specimen,gemstones,crystals,mineral,specimen,for sale,gemstone,crystal,metaphysic,metaphysical,amethyst,aquamarine,azurite,citrin
e,copper,diamond,dioptase,emerald,fluorite,gold,heliodor,meteorite,phenakite,pyri
te,quartz,quartz tourmaline,ruby" />
<meta name="robots" content="noodp" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<!-- EOF: Generated Meta Tags -->
<base href="http://www.xxxxxxxxxxx.com/catalog/">

<!-- start get_javascript(applicationtop2header) //-->

<!-- end get_javascript(applicationtop2header) //-->

 <meta http-equiv="Author" content="Ralph, http://www.xxxxxxxx.com">
<meta http-equiv="Copyright" content="http;//www.xxxxx.com">
<meta http-equiv="Distribution" content="Global">
 <link rel="stylesheet" type="text/css" href="stylesheet.css">
</head>


Just between us, remember there are only 10 kinds of people in the world; those who understand binary and those who don't!!

 

Remember, learning is a "do-it-yourself" experience; although, not necessarily a "do-it-BY-yourself" experience.

 

The quickest way to learn is to forget to BACKUP!

Share this post


Link to post
Share on other sites

You're missing the Header Tags code in the head section of product_info.php and you have <title></title> decalred twice. The latter won't cause this problem but may get you into trouble with the search engines if used.

 

Jack

Share this post


Link to post
Share on other sites

Hey I'm trying to install this contribution by my index.php file and product_info.php are a bit different as to the standard one since I have a template installed. Can someone help with inserting the code. Here is a copy of of both files:

 

(index.php)

 

require('includes/application_top.php');

 

// the following cPath references come from application_top.php

$category_depth = 'top';

if (isset($cPath) && tep_not_null($cPath)) {

$categories_products_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS_TO_CATEGORIES . " where categories_id = '" . (int)$current_category_id . "'");

$cateqories_products = tep_db_fetch_array($categories_products_query);

if ($cateqories_products['total'] > 0) {

$category_depth = 'products'; // display products

} else {

$category_parent_query = tep_db_query("select count(*) as total from " . TABLE_CATEGORIES . " where parent_id = '" . (int)$current_category_id . "'");

$category_parent = tep_db_fetch_array($category_parent_query);

if ($category_parent['total'] > 0) {

$category_depth = 'nested'; // navigate through the categories

} else {

$category_depth = 'products'; // category has no products, but display the 'no products' message

}

}

}

 

require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_DEFAULT);

?>

<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">

<html <?php echo HTML_PARAMS; ?>>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">

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

<base href="<?php echo (($request_type == 'SSL') ? HTTPS_SERVER : HTTP_SERVER) . DIR_WS_CATALOG; ?>">

<link rel="stylesheet" type="text/css" href="stylesheet.css">

</head>

<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0">

<!-- header //-->

<?php require(DIR_WS_INCLUDES . 'header.php'); ?>

<!-- header_eof //-->

 

<!-- body //-->

<table border="0" width="100%" cellspacing="0" cellpadding="0">

<tr>

<!-- body_text //-->

<?php

if ($category_depth == 'nested') {

$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);

?>

<td width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="0">

<tr>

<td><table border="0" width="100%" cellspacing="0" cellpadding="2">

<tr>

<td><table border="0" width="100%" cellspacing="0" cellpadding="2">

<tr>

<?php

if (isset($cPath) && strpos('_', $cPath)) {

// check to see if there are deeper categories within the current category

$category_links = array_reverse($cPath_array);

for($i=0, $n=sizeof($category_links); $i<$n; $i++) {

$categories_query = tep_db_query("select count(*) as total from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.parent_id = '" . (int)$category_links[$i] . "' and c.categories_id = cd.categories_id and cd.language_id = '" . (int)$languages_id . "'");

$categories = tep_db_fetch_array($categories_query);

if ($categories['total'] < 1) {

// do nothing, go through the loop

} else {

$categories_query = tep_db_query("select c.categories_id, cd.categories_name, c.categories_image, c.parent_id from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.parent_id = '" . (int)$category_links[$i] . "' and c.categories_id = cd.categories_id and cd.language_id = '" . (int)$languages_id . "' order by sort_order, cd.categories_name");

break; // we've found the deepest category the customer is in

}

}

} else {

$categories_query = tep_db_query("select c.categories_id, cd.categories_name, c.categories_image, c.parent_id from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.parent_id = '" . (int)$current_category_id . "' and c.categories_id = cd.categories_id and cd.language_id = '" . (int)$languages_id . "' order by sort_order, cd.categories_name");

}

 

$number_of_categories = tep_db_num_rows($categories_query);

 

$rows = 0;

while ($categories = tep_db_fetch_array($categories_query)) {

$rows++;

$cPath_new = tep_get_path($categories['categories_id']);

$width = (int)(100 / MAX_DISPLAY_CATEGORIES_PER_ROW) . '%';

echo ' <td align="center" class="smallText" width="' . $width . '" valign="top"><a href="' . tep_href_link(FILENAME_DEFAULT, $cPath_new) . '">' . tep_image(DIR_WS_IMAGES . $categories['categories_image'], $categories['categories_name'], SUBCATEGORY_IMAGE_WIDTH, SUBCATEGORY_IMAGE_HEIGHT) . '<br>' . $categories['categories_name'] . '</a></td>' . "\n";

if ((($rows / MAX_DISPLAY_CATEGORIES_PER_ROW) == floor($rows / MAX_DISPLAY_CATEGORIES_PER_ROW)) && ($rows != $number_of_categories)) {

echo ' </tr>' . "\n";

echo ' <tr>' . "\n";

}

}

 

// needed for the new products module shown below

$new_products_category_id = $current_category_id;

?>

</tr>

</table></td>

</tr>

<tr>

<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>

</tr>

<tr>

<td><?php include(DIR_WS_MODULES . FILENAME_NEW_PRODUCTS); ?></td>

</tr>

</table></td>

</tr>

</table></td>

<?php

} elseif ($category_depth == 'products' || isset($HTTP_GET_VARS['manufacturers_id'])) {

// create column list

$define_list = array('PRODUCT_LIST_MODEL' => PRODUCT_LIST_MODEL,

'PRODUCT_LIST_NAME' => PRODUCT_LIST_NAME,

'PRODUCT_LIST_MANUFACTURER' => PRODUCT_LIST_MANUFACTURER,

'PRODUCT_LIST_PRICE' => PRODUCT_LIST_PRICE,

'PRODUCT_LIST_QUANTITY' => PRODUCT_LIST_QUANTITY,

'PRODUCT_LIST_WEIGHT' => PRODUCT_LIST_WEIGHT,

'PRODUCT_LIST_IMAGE' => PRODUCT_LIST_IMAGE,

'PRODUCT_LIST_BUY_NOW' => PRODUCT_LIST_BUY_NOW);

 

asort($define_list);

 

$column_list = array();

reset($define_list);

while (list($key, $value) = each($define_list)) {

if ($value > 0) $column_list[] = $key;

}

 

$select_column_list = '';

 

for ($i=0, $n=sizeof($column_list); $i<$n; $i++) {

switch ($column_list[$i]) {

case 'PRODUCT_LIST_MODEL':

$select_column_list .= 'p.products_model, ';

break;

case 'PRODUCT_LIST_NAME':

$select_column_list .= 'pd.products_name, ';

break;

case 'PRODUCT_LIST_MANUFACTURER':

$select_column_list .= 'm.manufacturers_name, ';

break;

case 'PRODUCT_LIST_QUANTITY':

$select_column_list .= 'p.products_quantity, ';

break;

case 'PRODUCT_LIST_IMAGE':

$select_column_list .= 'p.products_image, ';

break;

case 'PRODUCT_LIST_WEIGHT':

$select_column_list .= 'p.products_weight, ';

break;

}

}

 

// show the products of a specified manufacturer

if (isset($HTTP_GET_VARS['manufacturers_id'])) {

if (isset($HTTP_GET_VARS['filter_id']) && tep_not_null($HTTP_GET_VARS['filter_id'])) {

// We are asked to show only a specific category

$listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_MANUFACTURERS . " m, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id where p.products_status = '1' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id'] . "' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$HTTP_GET_VARS['filter_id'] . "'";

} else {

// We show them all

$listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_MANUFACTURERS . " m left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id where p.products_status = '1' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id'] . "'";

}

} else {

// show the products in a given categorie

if (isset($HTTP_GET_VARS['filter_id']) && tep_not_null($HTTP_GET_VARS['filter_id'])) {

// We are asked to show only specific catgeory

$listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_MANUFACTURERS . " m, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id where p.products_status = '1' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$HTTP_GET_VARS['filter_id'] . "' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$current_category_id . "'";

} else {

// We show them all

$listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS . " p left join " . TABLE_MANUFACTURERS . " m on p.manufacturers_id = m.manufacturers_id, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id where p.products_status = '1' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$current_category_id . "'";

}

}

 

if ( (!isset($HTTP_GET_VARS['sort'])) || (!ereg('[1-8][ad]', $HTTP_GET_VARS['sort'])) || (substr($HTTP_GET_VARS['sort'], 0, 1) > sizeof($column_list)) ) {

for ($i=0, $n=sizeof($column_list); $i<$n; $i++) {

if ($column_list[$i] == 'PRODUCT_LIST_NAME') {

$HTTP_GET_VARS['sort'] = $i+1 . 'a';

$listing_sql .= " order by pd.products_name";

break;

}

}

} else {

$sort_col = substr($HTTP_GET_VARS['sort'], 0 , 1);

$sort_order = substr($HTTP_GET_VARS['sort'], 1);

$listing_sql .= ' order by ';

switch ($column_list[$sort_col-1]) {

case 'PRODUCT_LIST_MODEL':

$listing_sql .= "p.products_model " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name";

break;

case 'PRODUCT_LIST_NAME':

$listing_sql .= "pd.products_name " . ($sort_order == 'd' ? 'desc' : '');

break;

case 'PRODUCT_LIST_MANUFACTURER':

$listing_sql .= "m.manufacturers_name " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name";

break;

case 'PRODUCT_LIST_QUANTITY':

$listing_sql .= "p.products_quantity " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name";

break;

case 'PRODUCT_LIST_IMAGE':

$listing_sql .= "pd.products_name";

break;

case 'PRODUCT_LIST_WEIGHT':

$listing_sql .= "p.products_weight " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name";

break;

case 'PRODUCT_LIST_PRICE':

$listing_sql .= "final_price " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name";

break;

}

}

 

?>

<td width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="0">

 

 

<!--

 

 

<tr>

<td><table border="0" width="100%" cellspacing="0" cellpadding="0">

<tr>

<td class="pageHeading"><?php echo HEADING_TITLE; ?></td>

<?php

// optional Product List Filter

if (PRODUCT_LIST_FILTER > 0) {

if (isset($HTTP_GET_VARS['manufacturers_id'])) {

$filterlist_sql = "select distinct c.categories_id as id, cd.categories_name as name from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c, " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where p.products_status = '1' and p.products_id = p2c.products_id and p2c.categories_id = c.categories_id and p2c.categories_id = cd.categories_id and cd.language_id = '" . (int)$languages_id . "' and p.manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id'] . "' order by cd.categories_name";

} else {

$filterlist_sql= "select distinct m.manufacturers_id as id, m.manufacturers_name as name from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c, " . TABLE_MANUFACTURERS . " m where p.products_status = '1' and p.manufacturers_id = m.manufacturers_id and p.products_id = p2c.products_id and p2c.categories_id = '" . (int)$current_category_id . "' order by m.manufacturers_name";

}

$filterlist_query = tep_db_query($filterlist_sql);

if (tep_db_num_rows($filterlist_query) > 1) {

echo ' <td align="center" class="main">' . tep_draw_form('filter', FILENAME_DEFAULT, 'get') . TEXT_SHOW . ' ';

if (isset($HTTP_GET_VARS['manufacturers_id'])) {

echo tep_draw_hidden_field('manufacturers_id', $HTTP_GET_VARS['manufacturers_id']);

$options = array(array('id' => '', 'text' => TEXT_ALL_CATEGORIES));

} else {

echo tep_draw_hidden_field('cPath', $cPath);

$options = array(array('id' => '', 'text' => TEXT_ALL_MANUFACTURERS));

}

echo tep_draw_hidden_field('sort', $HTTP_GET_VARS['sort']);

while ($filterlist = tep_db_fetch_array($filterlist_query)) {

$options[] = array('id' => $filterlist['id'], 'text' => $filterlist['name']);

}

echo tep_draw_pull_down_menu('filter_id', $options, (isset($HTTP_GET_VARS['filter_id']) ? $HTTP_GET_VARS['filter_id'] : ''), 'onchange="this.form.submit()"');

echo '</form></td>' . "\n";

}

}

 

// Get the right image for the top-right

$image = DIR_WS_IMAGES . 'table_background_list.gif';

if (isset($HTTP_GET_VARS['manufacturers_id'])) {

$image = tep_db_query("select manufacturers_image from " . TABLE_MANUFACTURERS . " where manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id'] . "'");

$image = tep_db_fetch_array($image);

$image = $image['manufacturers_image'];

} elseif ($current_category_id) {

$image = tep_db_query("select categories_image from " . TABLE_CATEGORIES . " where categories_id = '" . (int)$current_category_id . "'");

$image = tep_db_fetch_array($image);

$image = $image['categories_image'];

}

?>

</tr>

</table></td>

</tr>

<tr>

<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>

</tr>

 

 

-->

 

 

<tr>

<td><?php include(DIR_WS_MODULES . FILENAME_PRODUCT_LISTING); ?></td>

</tr>

</table></td>

<?php

} else { // default page

?>

<td width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="0">

<tr>

<td>

 

 

 

 

 

 

 

<?php include(DIR_WS_MODULES . FILENAME_NEW_PRODUCTS); ?>

 

 

 

 

 

 

 

</td>

</tr>

</table>

</td>

<?php

}

?>

<!-- body_text_eof //-->

</tr>

</table>

<!-- body_eof //-->

 

<!-- footer //-->

<?php require(DIR_WS_INCLUDES . 'footer.php'); ?>

<!-- footer_eof //-->

</body>

</html>

<?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>

 

 

 

product_info.php

 

require('includes/application_top.php');

 

require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_PRODUCT_INFO);

 

$product_check_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "'");

$product_check = tep_db_fetch_array($product_check_query);

?>

<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">

<html <?php echo HTML_PARAMS; ?>>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">

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

<base href="<?php echo (($request_type == 'SSL') ? HTTPS_SERVER : HTTP_SERVER) . DIR_WS_CATALOG; ?>">

<link rel="stylesheet" type="text/css" href="stylesheet.css">

<script language="javascript"><!--

function popupWindow(url) {

window.open(url,'popupWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,res

izable=yes,copyhistory=no,width=100,height=100,screenX=150,screenY=150,top=150,le

ft=150')

}

//--></script>

</head>

<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0">

<!-- header //-->

<?php require(DIR_WS_INCLUDES . 'header.php'); ?>

<!-- header_eof //-->

 

<!-- body //-->

<table border="0" width="100%" cellspacing="0" cellpadding="0">

<tr>

<!-- body_text //-->

<td width="100%" valign="top"><?php echo tep_draw_form('cart_quantity', tep_href_link(FILENAME_PRODUCT_INFO, tep_get_all_get_params(array('action')) . 'action=add_product')); ?>

 

<table cellspacing=0 cellpadding=0>

<tr><td><img src=images/m26.gif width=7 height=39></td><td width=497 class=bg1 valign=top style="padding-top:10px">       <span class=ca>PRODUCT</span></td><td><img src=images/m25.gif width=7 height=39></td></tr>

</table>

 

 

 

 

<table border="0" width="100%" cellspacing="0" cellpadding="0">

<?php

if ($product_check['total'] < 1) {

?>

 

<tr>

<td><?php new infoBox(array(array('text' => TEXT_PRODUCT_NOT_FOUND))); ?></td>

</tr>

<tr>

<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>

</tr>

<tr>

<td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox">

<tr class="infoBoxContents">

<td><table border="0" width="100%" cellspacing="0" cellpadding="2">

<tr>

<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

<td align="right"><?php echo '<a href="' . tep_href_link(FILENAME_DEFAULT) . '">' . tep_image_button('button_continue.gif', IMAGE_BUTTON_CONTINUE) . '</a>'; ?></td>

<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

</tr>

</table></td>

</tr>

</table></td>

</tr>

<?php

} else {

$product_info_query = tep_db_query("select p.products_id, pd.products_name, pd.products_description, p.products_model, p.products_quantity, p.products_image, pd.products_url, p.products_price, p.products_tax_class_id, p.products_date_added, p.products_date_available, p.manufacturers_id from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "'");

$product_info = tep_db_fetch_array($product_info_query);

 

tep_db_query("update " . TABLE_PRODUCTS_DESCRIPTION . " set products_viewed = products_viewed+1 where products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and language_id = '" . (int)$languages_id . "'");

 

if ($new_price = tep_get_products_special_price($product_info['products_id'])) {

$products_price = '<s style="color:#777777; font-size:10px">' . $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) . '</s> <span>' . $currencies->display_price($new_price, tep_get_tax_rate($product_info['products_tax_class_id'])) . '</span>';

} else {

$products_price = $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id']));

}

 

if (tep_not_null($product_info['products_model'])) {

$products_name = $product_info['products_name'] . '<br><span class="smallText">[' . $product_info['products_model'] . ']</span>';

} else {

$products_name = $product_info['products_name'];

}

?>

 

<tr><td height=19 colspan=3></td></tr>

<tr><td colspan=3 class=ca1>       <?=$products_name?></td></tr>

<tr><td height=17 colspan=3></td></tr>

<tr><td colspan=3 align=center><img src=images/m33.gif width=469 height=1></td></tr>

<tr><td height=3 colspan=3></td></tr>

<tr><td colspan=3>

<table cellspacing=0 cellpadding=0 width=469 align=center>

<tr><td width=271 align=center valign=middle>

 

 

 

 

 

<!-- display image -->

<?php

if (tep_not_null($product_info['products_image'])) {

?>

<table cellspacing="0" cellpadding="2" align="center">

<tr>

<td align="center" class="smallText">

<script language="javascript"><!--

document.write('<?php echo '<a href="java script:popupWindow(\\\'' . tep_href_link(FILENAME_POPUP_IMAGE, 'pID=' . $product_info['products_id']) . '\\\')">' . tep_image(DIR_WS_IMAGES . $product_info['products_image'], addslashes($product_info['products_name']), SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT, ' hspace="5" vspace="5"') . '<br>' . TEXT_CLICK_TO_ENLARGE . '</a>'; ?>');

//--></script>

<noscript>

<?php echo '<a href="' . tep_href_link(DIR_WS_IMAGES . $product_info['products_image']) . '" target="_blank">' . tep_image(DIR_WS_IMAGES . $product_info['products_image'], $product_info['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT, ' hspace="5" vspace="5"') . '<br>' . TEXT_CLICK_TO_ENLARGE . '</a>'; ?>

</noscript>

</td>

</tr>

</table>

<?php

}

?>

<!--end display image -->

 

</td>

 

<td width=2 bgcolor=#9B9B9B></td>

 

<td width=239>

<table cellspacing=0 cellpadding=0 width=217 align=center>

<tr><td height=7></td></tr>

<tr><td height=10 colspan=3></td></tr>

<tr><td height=15><b>Item #: </b><?= $products_id; ?></td></tr>

<tr><td height=10 colspan=3></td></tr>

<tr><td height=35>

 

 

 

<?

if ($product_info['products_date_available'] > date('Y-m-d H:i:s'))

echo sprintf(TEXT_DATE_AVAILABLE, tep_date_long($product_info['products_date_available']));

else

echo sprintf(TEXT_DATE_ADDED, tep_date_long($product_info['products_date_added']));

?>

<span class=ca2><br><br>Price:  <?php echo $products_price; ?></td></tr>

<tr><td height=7></td></tr>

<tr><td width=239 align=center><img src=images/m36.gif width=217 height=1></td></tr>

<tr><td height=7></td></tr>

<tr><td><?php echo tep_draw_hidden_field('products_id', $product_info['products_id']) . tep_image_submit('button_in_cart.gif', IMAGE_BUTTON_BUY_NOW); ?> </td></tr>

<tr><td height=10></td></tr>

</table>

</td></tr>

</table>

</td>

 

</tr>

<tr><td height=3 colspan=3></td></tr>

<tr><td colspan=3 align=center><img src=images/m34.gif width=511 height=1></td></tr>

<tr><td height=15 colspan=3></td></tr>

<tr><td colspan=3>

<table cellspacing=0 cellpadding=0 width=475 align=center>

<tr><td class=ca1>ITEM DESCRIPTION</td></tr>

<tr><td height=15></td></tr>

<tr><td><?php echo stripslashes($product_info['products_description']); ?><br><br>

<br>

<br></td></tr>

</table>

</td></tr>

 

 

 

 

 

<!----------------------- Not editable part -------------------------------->

 

<tr><td>

 

<?php

$products_attributes_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . (int)$HTTP_GET_VARS['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . (int)$languages_id . "'");

$products_attributes = tep_db_fetch_array($products_attributes_query);

if ($products_attributes['total'] > 0) {

?>

<table border="0" cellspacing="0" cellpadding="2">

<tr>

<td class="main" colspan="2"><?php echo TEXT_PRODUCT_OPTIONS; ?></td>

</tr>

<?php

$products_options_name_query = tep_db_query("select distinct popt.products_options_id, popt.products_options_name from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . (int)$HTTP_GET_VARS['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . (int)$languages_id . "' order by popt.products_options_name");

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

$products_options_array = array();

$products_options_query = tep_db_query("select pov.products_options_values_id, pov.products_options_values_name, pa.options_values_price, pa.price_prefix from " . TABLE_PRODUCTS_ATTRIBUTES . " pa, " . TABLE_PRODUCTS_OPTIONS_VALUES . " pov where pa.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and pa.options_id = '" . (int)$products_options_name['products_options_id'] . "' and pa.options_values_id = pov.products_options_values_id and pov.language_id = '" . (int)$languages_id . "'");

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

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

if ($products_options['options_values_price'] != '0') {

$products_options_array[sizeof($products_options_array)-1]['text'] .= ' (' . $products_options['price_prefix'] . $currencies->display_price($products_options['options_values_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) .') ';

}

}

 

if (isset($cart->contents[$HTTP_GET_VARS['products_id']]['attributes'][$products_options_name['products_options_id']])) {

$selected_attribute = $cart->contents[$HTTP_GET_VARS['products_id']]['attributes'][$products_options_name['products_options_id']];

} else {

$selected_attribute = false;

}

?>

<tr>

<td class="main"><?php echo $products_options_name['products_options_name'] . ':'; ?></td>

<td class="main"><?php echo tep_draw_pull_down_menu('id[' . $products_options_name['products_options_id'] . ']', $products_options_array, $selected_attribute); ?></td>

</tr>

<?php

}

?>

</table>

<?php

}

?>

</td>

</tr>

<tr>

<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>

</tr>

<?php

$reviews_query = tep_db_query("select count(*) as count from " . TABLE_REVIEWS . " where products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "'");

$reviews = tep_db_fetch_array($reviews_query);

if ($reviews['count'] > 0) {

?>

<tr>

<td class="main"><?php echo TEXT_CURRENT_REVIEWS . ' ' . $reviews['count']; ?></td>

</tr>

<tr>

<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>

</tr>

<?php

}

 

if (tep_not_null($product_info['products_url'])) {

?>

<tr>

<td class="main"><?php echo sprintf(TEXT_MORE_INFORMATION, tep_href_link(FILENAME_REDIRECT, 'action=url&goto=' . urlencode($product_info['products_url']), 'NONSSL', true, false)); ?></td>

</tr>

<tr>

<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>

</tr>

<?php

}

 

?>

<!--

<tr>

<td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox">

<tr class="infoBoxContents">

<td><table border="0" width="100%" cellspacing="0" cellpadding="2">

<tr>

<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

<td class="main"><?php echo '<a href="' . tep_href_link(FILENAME_PRODUCT_REVIEWS, tep_get_all_get_params()) . '">' . tep_image_button('button_reviews.gif', IMAGE_BUTTON_REVIEWS) . '</a>'; ?></td>

<td class="main" align="right"><?php echo tep_draw_hidden_field('products_id', $product_info['products_id']) . tep_image_submit('button_in_cart.gif', IMAGE_BUTTON_IN_CART); ?></td>

<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

</tr>

</table></td>

</tr>

</table></td>

</tr>

<tr>

<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>

</tr>

-->

<tr>

<td>

<?php

/*

if ((USE_CACHE == 'true') && empty($SID)) {

echo tep_cache_also_purchased(3600);

} else {

include(DIR_WS_MODULES . FILENAME_ALSO_PURCHASED_PRODUCTS);

}

*/

}

?>

 

 

</td></tr>

 

</table>

</form></td>

<!-- body_text_eof //-->

</tr>

</table>

<!-- body_eof //-->

 

<!-- footer //-->

<?php require(DIR_WS_INCLUDES . 'footer.php'); ?>

<!-- footer_eof //-->

</body>

</html>

<?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>

Share this post


Link to post
Share on other sites
Hello,

 

What I found to work for me is setting the page titles in the catalog/includes/languages/english/header_tags.php file. The default settings are at the beginning of the code. After you make adjustments, save the file of course then upload it to the server. You may need to change the permissions again. Then go to your admin and play around with the HTTA, HTKA switches to see how the switches affect your page titles. For instance for product_info I got HTDA, HTKA, HTCA, & HTPA all checked leaving HTTA unchecked. You will see Product name & category it's in the title bar.

 

Also, while you're at it grab Ultimate SEO Urls and All Products modules to help with achieving SEO goals. They are a must have.

 

I'm sorry to ask this question, but I'm using the header tags controller script and all is well except that I can't get the indivdual product page to have the product listed as the title and no description is being written.

 

I have product_info configured exactly like you mentioned and have tried several different things, but it's still not working...Can you help me?

Share this post


Link to post
Share on other sites
I'm sorry to ask this question, but I'm using the header tags controller script and all is well except that I can't get the indivdual product page to have the product listed as the title and no description is being written.

 

I have product_info configured exactly like you mentioned and have tried several different things, but it's still not working...Can you help me?

Have you ran fill tags? If so, if you look at the products edit page in admin, are those fields filled in there?

 

Jack

Share this post


Link to post
Share on other sites
Have you ran fill tags? If so, if you look at the products edit page in admin, are those fields filled in there?

 

Jack

 

I ran the fill tags program and it said it filled the products.

When I tested it, the page still didn't reflect the title with the product name in it or

have a description and key words in the header.

 

I'm confused.

Share this post


Link to post
Share on other sites

If the title and keywords are showing up in the products edit page, then it is something to do with the files in the shop. Most likely, either the code wasn't installed into product_info.php or the includes/header_tags.php and english/header_tags.php files need to be replaced.

 

Jack

Edited by Jack_mcs

Share this post


Link to post
Share on other sites
If the title and keywords are showing up in the products edit page, then it is something to do with the files in the shop. Most likely, either the code wasn't installed into product_info.php or the includes/header_tags.php and english/header_tags.php files need to be replaced.

 

Jack

 

Ok. I'll give that a try. Thanks for your help.

Share this post


Link to post
Share on other sites

Jack,

 

The problem was in the product info page and I corrected it...It now works and you are awesome.

 

Thanks for helping me understand all of this.

 

I'm so happy. :rolleyes:

Share this post


Link to post
Share on other sites

Hi Jack

 

OK I'm on my new site & have added HTC v2.6.3 :D Ultimate SEO URLs v2.1c :D Dynamic Sitemap v1.6 :D All Products with Images & a few smaller bits. I have tried to find out what is wrong...& it is probably very easy & stupid!!

 

I cannot get the category title & category sub-titles to show? The two incidences of it in index.php have the HTC code but it is blank? :( When I winmerge my working site index.php to the new one I can't see anything obvious. Any hints please?

 

Thanks

Julie

Share this post


Link to post
Share on other sites

Thanks for excellent contribution!

 

It takes a time and attention to instal but very powerful and helpful tool!

I installed v.2.6.3 for 2.2RC1 with PHP4.4.7 without STS and had error only ones in index.php - Cannot

redeclare clean_html_comments() ... but solved it by require_once function in application_top.php as

recommended in the contribution instruction for STS users.

Also no problem with previously installed Article Manager 1.5. It only display title tags in opposite

order than this contribution.

 

Sergei

Share this post


Link to post
Share on other sites

I have just installed the HeaderTags_V_ and I am having a problem , would you mind showing me the way to fix, my webpage is

 

losvendo.com

 

thanks in advance

 

Regards

Kinjatt

 

 

PLEASE ANYBODY HERE HELP ME PLEASE!!!

Share this post


Link to post
Share on other sites

You have to install the database changes. The instructions explain how.

 

Jack

Share this post


Link to post
Share on other sites

Is anyone experiencing the bugs I am?

 

Two examples:

 

I'll login to the Admin side of my site, and go to Categories and select the folder of a category and click Edit because I want to change the header tags...and I do...and the photo I uploaded originally to represent the category gets wiped out? NO IMAGE EXISTS. ???

 

Second one:

 

When I login to the Admin side...click on Header Tags...and then choose to Add A New Page...the includes/languages/english/header_tags.php file is writing the info to the wrong places on the page, thusly...screwing up the header tags for other pages?

 

Anyone else experiencing this?

 

Andrea

Share this post


Link to post
Share on other sites
Is anyone experiencing the bugs I am?

 

Two examples:

 

I'll login to the Admin side of my site, and go to Categories and select the folder of a category and click Edit because I want to change the header tags...and I do...and the photo I uploaded originally to represent the category gets wiped out? NO IMAGE EXISTS. ???

 

Second one:

 

When I login to the Admin side...click on Header Tags...and then choose to Add A New Page...the includes/languages/english/header_tags.php file is writing the info to the wrong places on the page, thusly...screwing up the header tags for other pages?

 

Anyone else experiencing this?

 

Andrea

 

the first one is a standard osc "feature" fixed in rc1 the fix for ms2.2 is here... http://www.oscommerce.com/community/contri...egory+image+fix

Share this post


Link to post
Share on other sites

Hello Jack I installed this about 2 years ago and it has greatly helped with search engine rank, THANK YOU VERY MUCH.

 

I have a problem now, I've read most osCommerce MS2 Contributions are not MySQL 5 compatible. My site is still hosted on a server with MySQL 4, I am migrating the website to a new dedicated server with MySQL 5 and cannot get the products to show, I can only get the products to show on the server with MySQL 4 installed. Do you plan to or have you realesed any updates to make this contribution compatible with MySQL 5?

 

The new dedicated server techs are trying to mirror my old server set up by installing MySQL 4 etc but they said this will ulimately leed to security holes as its no longer supported. The 2 main contributions I have installed are this and the ultimate SEO by Chemo so i'mI've asked Chemo as well. I've seached and could not find any updates for MySQL5 so appologies in advance is this question has been asked many times.

Share this post


Link to post
Share on other sites
Hello Jack I installed this about 2 years ago and it has greatly helped with search engine rank, THANK YOU VERY MUCH.

 

I have a problem now, I've read most osCommerce MS2 Contributions are not MySQL 5 compatible. My site is still hosted on a server with MySQL 4, I am migrating the website to a new dedicated server with MySQL 5 and cannot get the products to show, I can only get the products to show on the server with MySQL 4 installed. Do you plan to or have you realesed any updates to make this contribution compatible with MySQL 5?

 

The new dedicated server techs are trying to mirror my old server set up by installing MySQL 4 etc but they said this will ulimately leed to security holes as its no longer supported. The 2 main contributions I have installed are this and the ultimate SEO by Chemo so i'mI've asked Chemo as well. I've seached and could not find any updates for MySQL5 so appologies in advance is this question has been asked many times.

Both Header Tags and Ultimate SEO (depends on the version) work with mysql 5.

 

Jack

Share this post


Link to post
Share on other sites

Sorry guys posted this in STS but think it is more likely to get an answer here.

Can anyone tell me when using sts and htc what pulls the default description, for example . STORE_NAME . inserts the stores name into a webpage, what is the . XXXXX . for the default description.

Share this post


Link to post
Share on other sites
Both Header Tags and Ultimate SEO (depends on the version) work with mysql 5.

 

Jack

 

Hello Jack I have Ultimate SEO URLs v2.0 for osCommerce-ms2 with METHOD #1 - cName (v1.X series)

Header tags not sure what version it is but I would have downloaded it around 2 years ago so its gonna be 2.4~2.5 I think

Edited by Windows

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×