Jump to content
Sign in to follow this  
Farrukh

[Contribution] Header Tags Controller for Admin MS 2.2

Recommended Posts

Thanks Jack, any idea where I might add that section to, roughly the same line number or else where? Would it help if I posted my codes?

 

Thanks!

It has to be added around the same area. In some templates it can be difficult to do due to the design of the page.

 

Jack

Share this post


Link to post
Share on other sites

Hi Jack,

 

I just updated from 2.5.6 to 2.6.2

 

All went smoothly and everything seems to work as intended. Only one issue.

 

The error messages at the top of header_tags_controller.php were appearing despite the permissions being set properly. Files were written as intended even though the error messages were there. I opened up the file to have a look and saw that the permissions of the two files are being determined "correct" if they match the permissions set on the images folder. Mine didn't! I just uploaded the site to a new server and the permissions for the image folder was auto-set to 755.

 

Is there another way to test for permission value?

 

Thanks for continuing to work on this contrib.

Best,

Sheri

Share this post


Link to post
Share on other sites

If the permissions on the images dorectory are 755, then those on the Header Tags files should be set to that too.

 

Jack

Share this post


Link to post
Share on other sites

HI all

 

i've just installed 2.6.2. it works very good. but i want, that the product description (<meta name="Description") is the description of the product.

 

for example:

 

http://www.kiffen.ch/js200xv-p-30200.html

 

header-tags generate the following:

 

<title>JS-200XV Kiffen.ch</title>

<meta name="Description" content="JS-200XV" />

<meta name="Keywords" content="JS-200XV" />

 

but it should be:

<title>JS-200XV Kiffen.ch</title>

<meta name="Description" content=" *

bis 200 g

*

0.01g genau

*

Tare und Null-Funktion

*

Batterien dazu

*

Auto auschalten

*

Grosse rotes LCD Hintergrundlicht

 

Das absolute Profigerät" />

 

<meta name="Keywords" content="JS-200XV" />

 

is this possible with header-tags 2.6.2?

and would it be like this better for seo?

 

Stefan

Share this post


Link to post
Share on other sites

It is an option in admin->Header Tags->Fill Tags. You can include the full description or just part of it. Whether it is better depends on your product and the description. If the description doesn't mention the product though, it is not the right move.

 

Jack

Share this post


Link to post
Share on other sites
It has to be added around the same area. In some templates it can be difficult to do due to the design of the page.

 

Jack

I've gone through and made the changes but the one for Line 78 and Line 298 aren't there, where would I place it in this code:

 

<?php

/*

$Id: index.php,v 1.1 2003/06/11 17:37:59 hpdl Exp $

 

osCommerce, Open Source E-Commerce Solutions

http://www.oscommerce.com

 

Copyright © 2003 osCommerce

 

Released under the GNU General Public License

*/

 

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>

<?php

// BOF: Header Tag Controller v2.6.0

if ( file_exists(DIR_WS_INCLUDES . 'header_tags.php') ) {

require(DIR_WS_INCLUDES . 'header_tags.php');

} else {

?>

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

<?php

}

// EOF: Header Tag Controller v2.6.0

?>

<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, cd.categories_htc_title_tag, cd.categories_htc_description 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;

}

}

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

$db_query = tep_db_query("select manufacturers_htc_title_tag as htc_title, manufacturers_htc_description as htc_description from " . TABLE_MANUFACTURERS_INFO . " where languages_id = '" . (int)$languages_id . "' and manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id'] . "'");

else

$db_query = tep_db_query("select categories_htc_title_tag as htc_title, categories_htc_description as htc_description from " . TABLE_CATEGORIES_DESCRIPTION . " where categories_id = '" . (int)$current_category_id . "' and language_id = '" . (int)$languages_id . "'");

 

$htc = tep_db_fetch_array($db_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="0">

<tr>

<td><h1><?php echo $htc['htc_title']; ?></h1></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><table border="0" width="100%" cellspacing="0" cellpadding="0">

<tr>

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

</tr>

<?php

include(DIR_WS_MODULES . FILENAME_UPCOMING_PRODUCTS);

?>

</table></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'); ?>

 

 

Thanks for any input you can give Jack! :)

Share this post


Link to post
Share on other sites
If I am understanding you correctly, you are saying that when you view a product page, you want a box (or text) in one of the columns that has a link to the write reviews page? If that is so, you would need to create that link. The kind of link used in Header Tags won't work. You can still build it using the same code as in the box for Header Tags but the link part would be differrent.

 

Jack

Hi Jack

 

Can I do this below your piece of code in /product_info.php

 

				<tr>
			  <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
			</tr>
			<tr>
			 <td class="smallText" align="center"><?php echo TEXT_WRITE; ?> 
			 <?php echo '<a href="' . tep_href_link(FILENAME_PRODUCT_REVIEWS_WRITE, 'products_id=' . $product_info['products_id'], 'NONSSL') . '"; ?></a></td>
			</tr>

 

& in includes/languages/english/product_info.php

 

define('TEXT_WRITE', 'Write a review for: ');

 

I'm guessing that I have taken out the right bits . , ' " spaces etc :huh: & will take me to the appropriate write a review page for this product. As I am "borrowing " :D your code I hope it makes sense!

 

Thanks hugely. Sorry for the lateral thinking here.

Julie

Share this post


Link to post
Share on other sites
Why not just try it?

 

Jack

Hi Jack

 

OK thanks for the push! :lol:

 

I DID get an error, worked through several & then ended up with it ok except no link? :blink: <a href> etc was there. Then I thought maybe your whole code was not header tags specific, so I copied it ALL & amended it to read FILENAME_PRODUCT_REVIEWS_WRITE & TEXT_WRITE instead of INFO & it WORKS!! :D

 

It apears OK on the site...please say it is.

 

				</tr>
			 <tr>
			  <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
			</tr>
			<tr>
			 <td class="smallText" align="center"><?php echo TEXT_WRITE; ?>  
			 <?php echo '<a title="' . $tags_array['title'] . '" href="' . tep_href_link(FILENAME_PRODUCT_REVIEWS_WRITE, 'products_id=' . $product_info['products_id'], 'NONSSL') . '"/# ' . $tags_array['title'] . '">' . $tags_array['title']; ?></a></td>
			</tr>

 

Thanks. :thumbsup:

Julie

Share this post


Link to post
Share on other sites

Good job. :) I'm not sure you need the achor name in the link though since the review page only has one item. You could try this

				<td class="smallText" align="center"><?php echo TEXT_WRITE; ?>  
			 <?php echo '<a title="' . $tags_array['title'] . '" href="' . tep_href_link(FILENAME_PRODUCT_REVIEWS_WRITE, 'products_id=' . $product_info['products_id'], 'NONSSL') . '">' . $tags_array['title']; ?></a></td>

 

Jack

Share this post


Link to post
Share on other sites

Hey Jack....Kudo's on such a great mod. I am sure it is going to help alot. I do have one request though.. and a couple of questions...... could you please look at this product for me and verify that I am doing this correctly. I do not mind putting the time and effort into this but would hate to think that I am doing it wrong.

 

You can check it out here

 

my product

 

When I view source I see the keywords listed twice and I am not sure this is correct. I have it setup as follows:

 

product title tag:

bird toys - parrot toy - birds toys - Little Wing Creations

 

product description tag:

Astro Power Chomp - Designed for the bigger beaked birds that need and love to chew "Astro Power Chomp" will provide hours and hours of chewing pleasure. It's a great parrot toy.

 

Made of 100% safe (like all of our bird toys) human consumption food dyed wooden chunky pieces and large birch hardwood wheels all strung together with colorful dyed sisal.

 

This Chew Toy has over 15 feet of dyed sisal, each piece has been triple knotted at the bottom of the toy and left "fringy” to add another spark your bird’s interest.

 

I know your bird will love them just as much as mine do! It is a great addition to your birds toys!

 

Measures Approximately 12 1/2 inches by 5 inches

 

product keyword tag:

bird toys, parrot toy, birds toys

 

I simply added a small phrase including the keywords to the product description tag ( which I highlighted in blue) but this is not added in my product description on the product info page. Is that correct?

 

Also I added my Little Wing Creations name to the tags as that is my sites url and another person's product is coming up first in the search engines. Do you think this move will help overtake the other persons product? Do you think it is a good move or bad move?

 

I noticed in ADMIN - text control that my all prods is red. Is that because I do not have an all products page or am I missing something very vital here? Can you tell me which php page this refers to?

 

One more ? for you and I promise not to ask any more.

 

My storefront is not on my root directory...I am using another index for my home page as I have two entities...one a business and one a hobby. Would you recommend that I use more than the three keywords to drive in the traffic? Three for the toy biz and three for the aviary...or what would you suggest?

 

I appreciate your advice cause you seem to be very knowledgable in this area.

 

Thank you so much for your time and effort,

 

Diane

Share this post


Link to post
Share on other sites
Good job. :) I'm not sure you need the achor name in the link though since the review page only has one item. You could try this
				<td class="smallText" align="center"><?php echo TEXT_WRITE; ?>  
			 <?php echo '<a title="' . $tags_array['title'] . '" href="' . tep_href_link(FILENAME_PRODUCT_REVIEWS_WRITE, 'products_id=' . $product_info['products_id'], 'NONSSL') . '">' . $tags_array['title']; ?></a></td>

 

Jack

;) Thanks Jack :thumbsup:

Share this post


Link to post
Share on other sites
Hey Jack....Kudo's on such a great mod. I am sure it is going to help alot. I do have one request though.. and a couple of questions...... could you please look at this product for me and verify that I am doing this correctly. I do not mind putting the time and effort into this but would hate to think that I am doing it wrong.

 

You can check it out here

 

my product

 

When I view source I see the keywords listed twice and I am not sure this is correct. I have it setup as follows:

That is probably because the HTKA box is checked for the index section so it is adding the default keywords to it.

 

Jack

Share this post


Link to post
Share on other sites

HeaderTags_V_2

 

for some reason when i do this step my makes my products not show up on the page any one have any ideas why?

 

 

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

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

 

REPLACE with:

 

<?php

// BOF: Header Tag Controller v2.6.0

if ( file_exists(DIR_WS_INCLUDES . 'header_tags.php') ) {

require(DIR_WS_INCLUDES . 'header_tags.php');

} else {

?>

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

<?php

}

// EOF: Header Tag Controller v2.6.0

?>

Share this post


Link to post
Share on other sites

Thanks...I worked it out. Just wondering if there was a different way to test for permissions on the files this contrib uses instead of comparing them to other files that may or may not have the permissions outlined in the install instructions.

 

Or, I guess...it could be noted there that the error messages are tied to the image directory.

 

Again thanks for the contrib. The new version works great :thumbsup:

 

Sheri

 

If the permissions on the images dorectory are 755, then those on the Header Tags files should be set to that too.

 

Jack

Share this post


Link to post
Share on other sites
HeaderTags_V_2

 

for some reason when i do this step my makes my products not show up on the page any one have any ideas why?

Did you upload the files included with the contribution?

 

Jack

Share this post


Link to post
Share on other sites
Thanks...I worked it out. Just wondering if there was a different way to test for permissions on the files this contrib uses instead of comparing them to other files that may or may not have the permissions outlined in the install instructions.

 

Or, I guess...it could be noted there that the error messages are tied to the image directory.

 

Again thanks for the contrib. The new version works great :thumbsup:

 

Sheri

For a shop to work properly, the permissions on the images directory have to be set a certain way. Comparing against that makes the most sense. The instructions explictly states to set the permissions to 755 or 777, depending on your server. All the code does is check to see if that has been done. I don't know how much more clearly that can be stated.

 

Jack

Edited by Jack_mcs

Share this post


Link to post
Share on other sites
HeaderTags_V_2

 

 

for some reason when i do this step on the product_info.php file it give me a blank page when i go to my products section...

 

can anyone help?

 

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

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

 

REPLACE with:

 

<?php

// BOF: Header Tag Controller v2.6.0

if ( file_exists(DIR_WS_INCLUDES . 'header_tags.php') ) {

require(DIR_WS_INCLUDES . 'header_tags.php');

} else {

?>

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

<?php

}

// EOF: Header Tag Controller v2.6.0

?>

Edited by godesign

Share this post


Link to post
Share on other sites

Hello I've been looking through this thread but have not found the solution.

When I fill in

Header Tags Category Title

Header Tags Category Description

Header Tags Category Keywords

Header Tags Categories Description

and then hit the Save button I get this warning at the top of the page:

 

Warning: No file uploaded.

 

everthing else seems to work fine, has anyone got an idea what I am doing wrong

thanks

Reflet

Share this post


Link to post
Share on other sites
Did you upload the files included with the contribution?

 

Jack

 

 

i did it looks like everything is working fine except when i add <?php

// BOF: Header Tag Controller v2.6.0

if ( file_exists(DIR_WS_INCLUDES . 'header_tags.php') ) {

require(DIR_WS_INCLUDES . 'header_tags.php');

} else {

?>

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

<?php

}

// EOF: Header Tag Controller v2.6.0

?>

 

to the products_info.php file

Share this post


Link to post
Share on other sites

My header tags info seem to be getting messed up , they aren't apperaing on the correct page.

 

the Description tag is being displayed from the next page and is also being cut-off short

Keywords seem to be ok

 

 

why is this happening? whats the fix ?

Share this post


Link to post
Share on other sites

Hi,

 

First of all sorry in advance for my bad English, I’m Italian…

 

I’m trying my first osCommerce and I get a problem after I’ve installed Header Tags Controller and set “true” STS > Default > “Use Templates?”

 

Then: if STS is set “true” Header Tags Controller doesn’t work, while if STS is set “false” Header Tags Controller works well.

 

For some other problem, I’ve changed the following in the /catalog/includes/application_top.php file:

FIND

require(DIR_WS_FUNCTIONS . 'clean_html_comments.php');

require(DIR_WS_FUNCTIONS . 'header_tags.php');

CHANGE TO

require_once(DIR_WS_FUNCTIONS . 'clean_html_comments.php');

require_once(DIR_WS_FUNCTIONS . 'header_tags.php');

 

I’m running oscommerce-2.2ms2, HeaderTags_V_2.6.2, STS v4.4

 

Please, if you may help me I would be very glad.

 

Thanks in advance, regards :)

Share this post


Link to post
Share on other sites
Hello I've been looking through this thread but have not found the solution.

When I fill in

Header Tags Category Title

Header Tags Category Description

Header Tags Category Keywords

Header Tags Categories Description

and then hit the Save button I get this warning at the top of the page:

 

Warning: No file uploaded.

 

everthing else seems to work fine, has anyone got an idea what I am doing wrong

thanks

Reflet

That is because the code in the categories file always checks for an image upload. Since you are not uploading one, it gives the error. It could be disabled for Header Tags but is more bother than it is worth since no other contribution changes it and the error would most likely still occur. Just know that it doesn't mean anything unless you are actually trying to upload an image.

 

Jack

Share this post


Link to post
Share on other sites
i did it looks like everything is working fine except when i add <?php

// BOF: Header Tag Controller v2.6.0

if ( file_exists(DIR_WS_INCLUDES . 'header_tags.php') ) {

require(DIR_WS_INCLUDES . 'header_tags.php');

} else {

?>

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

<?php

}

// EOF: Header Tag Controller v2.6.0

?>

 

to the products_info.php file

Please post just the head section of that file here.

 

Jack

Share this post


Link to post
Share on other sites
My header tags info seem to be getting messed up , they aren't apperaing on the correct page.

 

the Description tag is being displayed from the next page and is also being cut-off short

Keywords seem to be ok

why is this happening? whats the fix ?

Sounds like either your includes/header_tags.php or english/header_tags.php file is corrupted. You should try replacing those wih the ones from the contibution to see if that fixes it. If so, compare them to your originals to find the problem.

 

Jack

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  

×