Jump to content
Sign in to follow this  
GemRock

Header Tags for novices

Recommended Posts

Hello

 

I just installed this contribution, and it seemed to work fine. However, I do have one question. As I scroll through pages on my site http://www.ginelectronics.com/catalog (if you nned to look), the Header tags begin with categories that the page nis in, i.e.,

 

<title>Speaker Wire / Cable Ultralink Speaker Wire / Cable - GIN Electronics</title>

<meta name="description" content="Speaker Wire / Cable Ultralink Speaker Wire / Cable">

<meta name="keywords" content="Speaker Wire / Cable Ultralink Speaker Wire / Cable">

 

I just wrote in this to make it simple. I went to edit the tags to my own instead of default, and I just wrote in the same for all three (title, keywords, & desription) Ultralink Speaker Wire / Cable, and instead I got the above. Is this the manner in which it supposed to work?

 

Johnnie Walker :'(

Share this post


Link to post
Share on other sites
. Is this the manner in which it supposed to work?

 

Johnnie Walker :'(

 

By deault, that is, if you dont fill in the text boxes for tilte, keyword or description, then it uses product name for keyword, product description for the description meta tag. If, however, you enter text in any of the 3 text boxes in admin, then it will use what you enter for the title, keyword and description neta tags, respectively. ifyou only enter text in the title box then only the the title meta tag will be affected, and so are the other two text boxes.

It will not fill in all the 3 meta tags with what you enter in only one of the text boxes, ie, each text box corresponds to only one meta tag.

Ken


commercial support - unProtected channel, not to be confused with the forum with same name - open to everyone who need some professional help: either PM/email me, or go to my website (URL can be found in my profile).

over 20 years of computer programming experience.

Share this post


Link to post
Share on other sites

Thanks For The Reply:

 

I filled in all 3 boxes, but what shows it not what I filled in, but what I filled in and some extra, as shown above. . .

 

Johnnie Walker

Share this post


Link to post
Share on other sites

Then make sure you use the following standard way of propagating the tags:

 

<title><?php echo $header_tags[title_tag]; ?></title>
<meta name="description" content="<?php echo $header_tags[desc_tag]; ?>">
<meta name="keywords" content="<?php echo $header_tags[keywords_tag]; ?>">

Ken


commercial support - unProtected channel, not to be confused with the forum with same name - open to everyone who need some professional help: either PM/email me, or go to my website (URL can be found in my profile).

over 20 years of computer programming experience.

Share this post


Link to post
Share on other sites

Here is what I have now on Index.php:

 

<head>

<title><?php echo (strlen($categories['categories_name']) > 1) || (strlen($manufacturers['manufacturers_name']) > 1) ? $breadcrumb_tags->trail_tags(' ') . ' - ' . TITLE : TITLE; ?></title>

<meta name="description" content="<?php echo (strlen($categories['categories_name']) > 1) || (strlen($manufacturers['manufacturers_name']) > 1) ? strip_tags($breadcrumb_tags->trail_tags(' ')) : 'Sales of speaker wire, in wall speakers, monster cable, 70 volt speakers & 70v amplifiers, volume controls, and more'; ?>">

<meta name="keywords" content="<?php echo (strlen($categories['categories_name']) > 1) || (strlen($manufacturers['manufacturers_name']) > 1) ? strip_tags($breadcrumb_tags->trail_tags(' ')) : 'speaker wire, in wall speakers, monster cable, audio systems, 70 volt speakers, 70v amplifiers, monster cable, volume controls, intercoms, observation security, tv mount, a v cables, video screens, video projectors, rg6 rg59, coax cat5 cable'; ?>">

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

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

</head>

 

and this on product info.php

 

<head>

<title><?php echo $header_tags[title_tag]; ?></title>

<meta name="description" content="<?php echo $header_tags[desc_tag]; ?>">

<meta name="keywords" content="<?php echo $header_tags[keywords_tag]; ?>">

<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>

 

Does this help?

Share this post


Link to post
Share on other sites

What I said only applied to the product_info page, and not the index.php home page.

your product info page should show the 3 meta tags correctly based on what you posted above.


commercial support - unProtected channel, not to be confused with the forum with same name - open to everyone who need some professional help: either PM/email me, or go to my website (URL can be found in my profile).

over 20 years of computer programming experience.

Share this post


Link to post
Share on other sites

Hello and Thanks Again-

 

was out of town a few days. I replaced the product info php pagw with what you sent, and still no luck. Am I running the correct version?

 

header_tags_for_novice_v3

Share this post


Link to post
Share on other sites

is this not what you entered for this product at admin - edit header tags:

<meta name="description" content="Siamese RG59/U Cable & 18-Gauge Power Wire">

<meta name="keywords" content="Siamese RG59/U Cable & 18-Gauge Power Wire">

you obviously enterred the same info for both descr & keyword tags, or your installation has some problem which I dont know for sure (it could be anything).

Ken


commercial support - unProtected channel, not to be confused with the forum with same name - open to everyone who need some professional help: either PM/email me, or go to my website (URL can be found in my profile).

over 20 years of computer programming experience.

Share this post


Link to post
Share on other sites

to test your installation, you can try to delete what you enterred for the header & keyword tags, ie, use the product name for keyword tag and product description for descrip tag, which is the default. If you can see that happens, then your installation is correct and it should work.

Ken


commercial support - unProtected channel, not to be confused with the forum with same name - open to everyone who need some professional help: either PM/email me, or go to my website (URL can be found in my profile).

over 20 years of computer programming experience.

Share this post


Link to post
Share on other sites

I installed a couple other meta tag contributions and never liked them or didn't get them to work. This contribution looks great and I would love to be able to use it, but I'm afraid I screwed up something with my previous contribution installs. After many hours of trying to resolve this myself I have come to the conclusion that I need help!

 

I can see the admin section no problem, and I added meta tags for each prodcut, but the meta tags are not added to my pages.

I set each meta tag for "BD TEST" on this page:

http://www.vegasmaximus.com/store/catalog/...;products_id=28

But everything comes up as "DVDs", which is the category.

 

I am using STS for the index page, but not the product_info pages, so I don't believe STS has anything to do with it.

 

If anybody can resolve this for me I would be extremely appreciative. Below are my application_top and product_info files. If there are more files I need to post, just let me know which ones and I will post them. THANKS!

 

Here we go.

 

application_top.php code:

*********************************************************

<?php

/*

$Id: $

 

osCommerce, Open Source E-Commerce Solutions

http://www.oscommerce.com

 

Copyright © 2007 osCommerce

 

Released under the GNU General Public License

*/

 

// start the timer for the page parse time log

define('PAGE_PARSE_START_TIME', microtime());

 

// set the level of error reporting

error_reporting(E_ALL & ~E_NOTICE);

 

// check support for register_globals

if (function_exists('ini_get') && (ini_get('register_globals') == false) && (PHP_VERSION < 4.3) ) {

exit('Server Requirement Error: register_globals is disabled in your PHP configuration. This can be enabled in your php.ini configuration file or in the .htaccess file in your catalog directory. Please use PHP 4.3+ if register_globals cannot be enabled on the server.');

}

 

// Set the local configuration parameters - mainly for developers

if (file_exists('includes/local/configure.php')) include('includes/local/configure.php');

 

// include server parameters

require('includes/configure.php');

 

if (strlen(DB_SERVER) < 1) {

if (is_dir('install')) {

header('Location: install/index.php');

}

}

 

// define the project version

define('PROJECT_VERSION', 'osCommerce Online Merchant v2.2 RC1');

 

// some code to solve compatibility issues

require(DIR_WS_FUNCTIONS . 'compatibility.php');

 

// set the type of request (secure or not)

$request_type = (getenv('HTTPS') == 'on') ? 'SSL' : 'NONSSL';

 

// set php_self in the local scope

if (!isset($PHP_SELF)) $PHP_SELF = $HTTP_SERVER_VARS['PHP_SELF'];

 

if ($request_type == 'NONSSL') {

define('DIR_WS_CATALOG', DIR_WS_HTTP_CATALOG);

} else {

define('DIR_WS_CATALOG', DIR_WS_HTTPS_CATALOG);

}

 

// include the list of project filenames

require(DIR_WS_INCLUDES . 'filenames.php');

 

// include the list of project database tables

require(DIR_WS_INCLUDES . 'database_tables.php');

 

// customization for the design layout

define('BOX_WIDTH', 125); // how wide the boxes should be in pixels (default: 125)

 

// include the database functions

require(DIR_WS_FUNCTIONS . 'database.php');

 

// make a connection to the database... now

tep_db_connect() or die('Unable to connect to database server!');

 

// set the application parameters

$configuration_query = tep_db_query('select configuration_key as cfgKey, configuration_value as cfgValue from ' . TABLE_CONFIGURATION);

while ($configuration = tep_db_fetch_array($configuration_query)) {

define($configuration['cfgKey'], $configuration['cfgValue']);

}

 

// if gzip_compression is enabled, start to buffer the output

if ( (GZIP_COMPRESSION == 'true') && ($ext_zlib_loaded = extension_loaded('zlib')) && (PHP_VERSION >= '4') ) {

if (($ini_zlib_output_compression = (int)ini_get('zlib.output_compression')) < 1) {

if (PHP_VERSION >= '4.0.4') {

ob_start('ob_gzhandler');

} else {

include(DIR_WS_FUNCTIONS . 'gzip_compression.php');

ob_start();

ob_implicit_flush();

}

} else {

ini_set('zlib.output_compression_level', GZIP_LEVEL);

}

}

 

// set the HTTP GET parameters manually if search_engine_friendly_urls is enabled

if (SEARCH_ENGINE_FRIENDLY_URLS == 'true') {

if (strlen(getenv('PATH_INFO')) > 1) {

$GET_array = array();

$PHP_SELF = str_replace(getenv('PATH_INFO'), '', $PHP_SELF);

$vars = explode('/', substr(getenv('PATH_INFO'), 1));

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

if (strpos($vars[$i], '[]')) {

$GET_array[substr($vars[$i], 0, -2)][] = $vars[$i+1];

} else {

$HTTP_GET_VARS[$vars[$i]] = $vars[$i+1];

}

$i++;

}

 

if (sizeof($GET_array) > 0) {

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

$HTTP_GET_VARS[$key] = $value;

}

}

}

}

 

// define general functions used application-wide

require(DIR_WS_FUNCTIONS . 'general.php');

require(DIR_WS_FUNCTIONS . 'html_output.php');

 

// set the cookie domain

$cookie_domain = (($request_type == 'NONSSL') ? HTTP_COOKIE_DOMAIN : HTTPS_COOKIE_DOMAIN);

$cookie_path = (($request_type == 'NONSSL') ? HTTP_COOKIE_PATH : HTTPS_COOKIE_PATH);

 

// include cache functions if enabled

if (USE_CACHE == 'true') include(DIR_WS_FUNCTIONS . 'cache.php');

 

// include shopping cart class

require(DIR_WS_CLASSES . 'shopping_cart.php');

 

// include navigation history class

require(DIR_WS_CLASSES . 'navigation_history.php');

 

// check if sessions are supported, otherwise use the php3 compatible session class

if (!function_exists('session_start')) {

define('PHP_SESSION_NAME', 'osCsid');

define('PHP_SESSION_PATH', $cookie_path);

define('PHP_SESSION_DOMAIN', $cookie_domain);

define('PHP_SESSION_SAVE_PATH', SESSION_WRITE_DIRECTORY);

 

include(DIR_WS_CLASSES . 'sessions.php');

}

 

// define how the session functions will be used

require(DIR_WS_FUNCTIONS . 'sessions.php');

 

// set the session name and save path

tep_session_name('osCsid');

tep_session_save_path(SESSION_WRITE_DIRECTORY);

 

// set the session cookie parameters

if (function_exists('session_set_cookie_params')) {

session_set_cookie_params(0, $cookie_path, $cookie_domain);

} elseif (function_exists('ini_set')) {

ini_set('session.cookie_lifetime', '0');

ini_set('session.cookie_path', $cookie_path);

ini_set('session.cookie_domain', $cookie_domain);

}

 

// set the session ID if it exists

if (isset($HTTP_POST_VARS[tep_session_name()])) {

tep_session_id($HTTP_POST_VARS[tep_session_name()]);

} elseif ( ($request_type == 'SSL') && isset($HTTP_GET_VARS[tep_session_name()]) ) {

tep_session_id($HTTP_GET_VARS[tep_session_name()]);

}

 

// start the session

$session_started = false;

if (SESSION_FORCE_COOKIE_USE == 'True') {

tep_setcookie('cookie_test', 'please_accept_for_session', time()+60*60*24*30, $cookie_path, $cookie_domain);

 

if (isset($HTTP_COOKIE_VARS['cookie_test'])) {

tep_session_start();

$session_started = true;

}

} elseif (SESSION_BLOCK_SPIDERS == 'True') {

$user_agent = strtolower(getenv('HTTP_USER_AGENT'));

$spider_flag = false;

 

if (tep_not_null($user_agent)) {

$spiders = file(DIR_WS_INCLUDES . 'spiders.txt');

 

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

if (tep_not_null($spiders[$i])) {

if (is_integer(strpos($user_agent, trim($spiders[$i])))) {

$spider_flag = true;

break;

}

}

}

}

 

if ($spider_flag == false) {

tep_session_start();

$session_started = true;

}

} else {

tep_session_start();

$session_started = true;

}

 

if ( ($session_started == true) && (PHP_VERSION >= 4.3) && function_exists('ini_get') && (ini_get('register_globals') == false) ) {

extract($_SESSION, EXTR_OVERWRITE+EXTR_REFS);

}

 

// set SID once, even if empty

$SID = (defined('SID') ? SID : '');

 

// verify the ssl_session_id if the feature is enabled

if ( ($request_type == 'SSL') && (SESSION_CHECK_SSL_SESSION_ID == 'True') && (ENABLE_SSL == true) && ($session_started == true) ) {

$ssl_session_id = getenv('SSL_SESSION_ID');

if (!tep_session_is_registered('SSL_SESSION_ID')) {

$SESSION_SSL_ID = $ssl_session_id;

tep_session_register('SESSION_SSL_ID');

}

 

if ($SESSION_SSL_ID != $ssl_session_id) {

tep_session_destroy();

tep_redirect(tep_href_link(FILENAME_SSL_CHECK));

}

}

 

// verify the browser user agent if the feature is enabled

if (SESSION_CHECK_USER_AGENT == 'True') {

$http_user_agent = getenv('HTTP_USER_AGENT');

if (!tep_session_is_registered('SESSION_USER_AGENT')) {

$SESSION_USER_AGENT = $http_user_agent;

tep_session_register('SESSION_USER_AGENT');

}

 

if ($SESSION_USER_AGENT != $http_user_agent) {

tep_session_destroy();

tep_redirect(tep_href_link(FILENAME_LOGIN));

}

}

 

// verify the IP address if the feature is enabled

if (SESSION_CHECK_IP_ADDRESS == 'True') {

$ip_address = tep_get_ip_address();

if (!tep_session_is_registered('SESSION_IP_ADDRESS')) {

$SESSION_IP_ADDRESS = $ip_address;

tep_session_register('SESSION_IP_ADDRESS');

}

 

if ($SESSION_IP_ADDRESS != $ip_address) {

tep_session_destroy();

tep_redirect(tep_href_link(FILENAME_LOGIN));

}

}

 

// create the shopping cart & fix the cart if necesary

if (tep_session_is_registered('cart') && is_object($cart)) {

if (PHP_VERSION < 4) {

$broken_cart = $cart;

$cart = new shoppingCart;

$cart->unserialize($broken_cart);

}

} else {

tep_session_register('cart');

$cart = new shoppingCart;

}

 

// include currencies class and create an instance

require(DIR_WS_CLASSES . 'currencies.php');

$currencies = new currencies();

 

// include the mail classes

require(DIR_WS_CLASSES . 'mime.php');

require(DIR_WS_CLASSES . 'email.php');

 

// set the language

if (!tep_session_is_registered('language') || isset($HTTP_GET_VARS['language'])) {

if (!tep_session_is_registered('language')) {

tep_session_register('language');

tep_session_register('languages_id');

}

 

include(DIR_WS_CLASSES . 'language.php');

$lng = new language();

 

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

$lng->set_language($HTTP_GET_VARS['language']);

} else {

$lng->get_browser_language();

}

 

$language = $lng->language['directory'];

$languages_id = $lng->language['id'];

}

 

// include the language translations

require(DIR_WS_LANGUAGES . $language . '.php');

 

// currency

if (!tep_session_is_registered('currency') || isset($HTTP_GET_VARS['currency']) || ( (USE_DEFAULT_LANGUAGE_CURRENCY == 'true') && (LANGUAGE_CURRENCY != $currency) ) ) {

if (!tep_session_is_registered('currency')) tep_session_register('currency');

 

if (isset($HTTP_GET_VARS['currency']) && $currencies->is_set($HTTP_GET_VARS['currency'])) {

$currency = $HTTP_GET_VARS['currency'];

} else {

$currency = (USE_DEFAULT_LANGUAGE_CURRENCY == 'true') ? LANGUAGE_CURRENCY : DEFAULT_CURRENCY;

}

}

 

// navigation history

if (tep_session_is_registered('navigation')) {

if (PHP_VERSION < 4) {

$broken_navigation = $navigation;

$navigation = new navigationHistory;

$navigation->unserialize($broken_navigation);

}

} else {

tep_session_register('navigation');

$navigation = new navigationHistory;

}

$navigation->add_current_page();

 

// Shopping cart actions

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

// redirect the customer to a friendly cookie-must-be-enabled page if cookies are disabled

if ($session_started == false) {

tep_redirect(tep_href_link(FILENAME_COOKIE_USAGE));

}

 

if (DISPLAY_CART == 'true') {

$goto = FILENAME_SHOPPING_CART;

$parameters = array('action', 'cPath', 'products_id', 'pid');

} else {

$goto = basename($PHP_SELF);

if ($HTTP_GET_VARS['action'] == 'buy_now') {

$parameters = array('action', 'pid', 'products_id');

} else {

$parameters = array('action', 'pid');

}

}

switch ($HTTP_GET_VARS['action']) {

// customer wants to update the product quantity in their shopping cart

case 'update_product' : for ($i=0, $n=sizeof($HTTP_POST_VARS['products_id']); $i<$n; $i++) {

if (in_array($HTTP_POST_VARS['products_id'][$i], (is_array($HTTP_POST_VARS['cart_delete']) ? $HTTP_POST_VARS['cart_delete'] : array()))) {

$cart->remove($HTTP_POST_VARS['products_id'][$i]);

} else {

if (PHP_VERSION < 4) {

// if PHP3, make correction for lack of multidimensional array.

reset($HTTP_POST_VARS);

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

if (is_array($value)) {

while (list($key2, $value2) = each($value)) {

if (ereg ("(.*)\]\[(.*)", $key2, $var)) {

$id2[$var[1]][$var[2]] = $value2;

}

}

}

}

$attributes = ($id2[$HTTP_POST_VARS['products_id'][$i]]) ? $id2[$HTTP_POST_VARS['products_id'][$i]] : '';

} else {

$attributes = ($HTTP_POST_VARS['id'][$HTTP_POST_VARS['products_id'][$i]]) ? $HTTP_POST_VARS['id'][$HTTP_POST_VARS['products_id'][$i]] : '';

}

$cart->add_cart($HTTP_POST_VARS['products_id'][$i], $HTTP_POST_VARS['cart_quantity'][$i], $attributes, false);

}

}

tep_redirect(tep_href_link($goto, tep_get_all_get_params($parameters)));

break;

// customer adds a product from the products page

//// bof: Added 2gether (contribution 3929)

case 'add_product' : if (isset($HTTP_POST_VARS['products_id']) && is_numeric($HTTP_POST_VARS['products_id'])) {

if (tep_get_products_stock($HTTP_POST_VARS['products_id']) > 0) $cart->add_cart($HTTP_POST_VARS['products_id'], $cart->get_quantity(tep_get_uprid($HTTP_POST_VARS['products_id'], $HTTP_POST_VARS['id']))+1, $HTTP_POST_VARS['id']);

}

if (isset($HTTP_POST_VARS['buy_tinn_add']) && is_numeric($HTTP_POST_VARS['buy_tinn_add'])) {

if (tep_get_products_stock($HTTP_POST_VARS['buy_tinn_add']) > 0) {

$cart->add_cart($HTTP_POST_VARS['buy_tinn_add'], $cart->get_quantity(tep_get_uprid($HTTP_POST_VARS['buy_tinn_add'], $HTTP_POST_VARS['id']))+1, $HTTP_POST_VARS['id']);

}

}

tep_redirect(tep_href_link($goto, tep_get_all_get_params($parameters)));

break;

//// eof: Added 2gether (contribution 3929)

// performed by the 'buy now' button in product listings and review page

case 'buy_now' : if (isset($HTTP_GET_VARS['products_id'])) {

if (tep_has_product_attributes($HTTP_GET_VARS['products_id'])) {

tep_redirect(tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $HTTP_GET_VARS['products_id']));

} else {

$cart->add_cart($HTTP_GET_VARS['products_id'], $cart->get_quantity($HTTP_GET_VARS['products_id'])+1);

}

}

tep_redirect(tep_href_link($goto, tep_get_all_get_params($parameters)));

break;

case 'notify' : if (tep_session_is_registered('customer_id')) {

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

$notify = $HTTP_GET_VARS['products_id'];

} elseif (isset($HTTP_GET_VARS['notify'])) {

$notify = $HTTP_GET_VARS['notify'];

} elseif (isset($HTTP_POST_VARS['notify'])) {

$notify = $HTTP_POST_VARS['notify'];

} else {

tep_redirect(tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action', 'notify'))));

}

if (!is_array($notify)) $notify = array($notify);

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

$check_query = tep_db_query("select count(*) as count from " . TABLE_PRODUCTS_NOTIFICATIONS . " where products_id = '" . $notify[$i] . "' and customers_id = '" . $customer_id . "'");

$check = tep_db_fetch_array($check_query);

if ($check['count'] < 1) {

tep_db_query("insert into " . TABLE_PRODUCTS_NOTIFICATIONS . " (products_id, customers_id, date_added) values ('" . $notify[$i] . "', '" . $customer_id . "', now())");

}

}

tep_redirect(tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action', 'notify'))));

} else {

$navigation->set_snapshot();

tep_redirect(tep_href_link(FILENAME_LOGIN, '', 'SSL'));

}

break;

case 'notify_remove' : if (tep_session_is_registered('customer_id') && isset($HTTP_GET_VARS['products_id'])) {

$check_query = tep_db_query("select count(*) as count from " . TABLE_PRODUCTS_NOTIFICATIONS . " where products_id = '" . $HTTP_GET_VARS['products_id'] . "' and customers_id = '" . $customer_id . "'");

$check = tep_db_fetch_array($check_query);

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

tep_db_query("delete from " . TABLE_PRODUCTS_NOTIFICATIONS . " where products_id = '" . $HTTP_GET_VARS['products_id'] . "' and customers_id = '" . $customer_id . "'");

}

tep_redirect(tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action'))));

} else {

$navigation->set_snapshot();

tep_redirect(tep_href_link(FILENAME_LOGIN, '', 'SSL'));

}

break;

case 'cust_order' : if (tep_session_is_registered('customer_id') && isset($HTTP_GET_VARS['pid'])) {

if (tep_has_product_attributes($HTTP_GET_VARS['pid'])) {

tep_redirect(tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $HTTP_GET_VARS['pid']));

} else {

$cart->add_cart($HTTP_GET_VARS['pid'], $cart->get_quantity($HTTP_GET_VARS['pid'])+1);

}

}

tep_redirect(tep_href_link($goto, tep_get_all_get_params($parameters)));

break;

}

}

 

// include the who's online functions

require(DIR_WS_FUNCTIONS . 'whos_online.php');

tep_update_whos_online();

 

// include the password crypto functions

require(DIR_WS_FUNCTIONS . 'password_funcs.php');

 

// include validation functions (right now only email address)

require(DIR_WS_FUNCTIONS . 'validations.php');

 

// split-page-results

require(DIR_WS_CLASSES . 'split_page_results.php');

 

// infobox

require(DIR_WS_CLASSES . 'boxes.php');

 

// auto activate and expire banners

require(DIR_WS_FUNCTIONS . 'banner.php');

tep_activate_banners();

tep_expire_banners();

 

// auto expire special products

require(DIR_WS_FUNCTIONS . 'specials.php');

tep_expire_specials();

 

// calculate category path

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

$cPath = $HTTP_GET_VARS['cPath'];

} elseif (isset($HTTP_GET_VARS['products_id']) && !isset($HTTP_GET_VARS['manufacturers_id'])) {

$cPath = tep_get_product_path($HTTP_GET_VARS['products_id']);

} else {

$cPath = '';

}

 

if (tep_not_null($cPath)) {

$cPath_array = tep_parse_category_path($cPath);

$cPath = implode('_', $cPath_array);

$current_category_id = $cPath_array[(sizeof($cPath_array)-1)];

} else {

$current_category_id = 0;

}

 

// include the breadcrumb class and start the breadcrumb trail

require(DIR_WS_CLASSES . 'breadcrumb.php');

$breadcrumb = new breadcrumb;

// include the breadcrumb_tags class and start the breadcrumb_tags trail - GemRock

require(DIR_WS_CLASSES . 'breadcrumb_tags.php');

$breadcrumb_tags = new breadcrumb_tags;

// added code ends - GR

 

 

$breadcrumb->add(HEADER_TITLE_TOP, HTTP_SERVER);

$breadcrumb->add(HEADER_TITLE_CATALOG, tep_href_link(FILENAME_DEFAULT));

 

// add category names or the manufacturer name to the breadcrumb trail

// modified by GemRock for auto fill header tags

if (isset($cPath_array)) {

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

$categories_query = tep_db_query("select categories_name from " . TABLE_CATEGORIES_DESCRIPTION . " where categories_id = '" . (int)$cPath_array[$i] . "' and language_id = '" . (int)$languages_id . "'");

if (tep_db_num_rows($categories_query) > 0) {

$categories = tep_db_fetch_array($categories_query);

$breadcrumb->add($categories['categories_name'], tep_href_link(FILENAME_DEFAULT, 'cPath=' . implode('_', array_slice($cPath_array, 0, ($i+1)))));

$breadcrumb_tags->add($categories['categories_name']);

} else {

break;

}

}

} elseif (isset($HTTP_GET_VARS['manufacturers_id'])) {

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

if (tep_db_num_rows($manufacturers_query)) {

$manufacturers = tep_db_fetch_array($manufacturers_query);

$breadcrumb->add($manufacturers['manufacturers_name'], tep_href_link(FILENAME_DEFAULT, 'manufacturers_id=' . $HTTP_GET_VARS['manufacturers_id']));

$breadcrumb_tags->add($manufacturers['manufacturers_name']);

}

}

// end of modified code - GR

 

// add the products model to the breadcrumb trail

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

$model_query = tep_db_query("select products_model from " . TABLE_PRODUCTS . " where products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "'");

if (tep_db_num_rows($model_query)) {

$model = tep_db_fetch_array($model_query);

$breadcrumb->add($model['products_model'], tep_href_link(FILENAME_PRODUCT_INFO, 'cPath=' . $cPath . '&products_id=' . $HTTP_GET_VARS['products_id']));

}

}

 

// added code to prepare for the title tag, description tag & keywords tag - By Gemrock

// IF IT'S FIRST TIME TO RUN, THEN ADD 3 NEW FIELDS - CAN BE DELETED ONCE RUN SUCCESSFULLY

if (!mysql_query("SELECT title_tag FROM " . TABLE_PRODUCTS_DESCRIPTION)){

tep_db_query("ALTER TABLE " . TABLE_PRODUCTS_DESCRIPTION . " ADD COLUMN title_tag VARCHAR(255) NULL, ADD COLUMN desc_tag TEXT NULL, ADD COLUMN keywords_tag VARCHAR(255) NULL");

}

// END OF CODE ADDING FIELDS

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

$header_tags_query = tep_db_query("select products_name, products_description, title_tag, desc_tag, keywords_tag from " . TABLE_PRODUCTS_DESCRIPTION . " where products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and language_id = '" . (int)$languages_id . "'");

if (tep_db_num_rows($header_tags_query)) {

$header_tags = tep_db_fetch_array($header_tags_query);

$header_tags[products_name]= trim($header_tags[products_name]);

$header_tags[title_tag]= trim(strip_tags($header_tags[title_tag]));

$header_tags[desc_tag]= trim(strip_tags($header_tags[desc_tag]));

$header_tags[keywords_tag]= trim(strip_tags($header_tags[keywords_tag]));

$header_tags[products_description] = substr(preg_replace('/\s\s+/', ' ',(strip_tags($header_tags[products_description]))),0,1000);

// if a tag is less than 2 charactors, then use default

if (strlen($header_tags[title_tag])< 2) {

//set product name as page title

$header_tags[title_tag]= $header_tags[products_name];

}

//add category name to page title

if (strlen($categories['categories_name'])>1) $header_tags[title_tag] = $categories['categories_name'] . ' ' . $header_tags[title_tag];

if (strlen($manufacturers['manufacturers_name'])>1) $header_tags[title_tag] .= ' ' . $manufacturers['manufacturers_name'] . ' ' . $header_tags[title_tag];

if (strlen($header_tags[desc_tag])< 2) $header_tags[desc_tag] = $header_tags[products_description];

if (strlen($header_tags[keywords_tag])< 2) $header_tags[keywords_tag] = $header_tags[products_name];

}

}

// end of added code - By Gemrock

 

 

// START STS 4.5

require (DIR_WS_CLASSES.'sts.php');

$sts= new sts();

$sts->start_capture();

// END STS

 

// initialize the message stack for output messages

require(DIR_WS_CLASSES . 'message_stack.php');

$messageStack = new messageStack;

 

// set which precautions should be checked

define('WARN_INSTALL_EXISTENCE', 'true');

define('WARN_CONFIG_WRITEABLE', 'true');

define('WARN_SESSION_DIRECTORY_NOT_WRITEABLE', 'true');

define('WARN_SESSION_AUTO_START', 'true');

define('WARN_DOWNLOAD_DIRECTORY_NOT_READABLE', 'true');

?>

*********************************************************

 

product_info.php code:

*********************************************************

<?php

/*

$Id: product_info.php,v 1.97 2003/07/01 14:34:54 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');

 

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>

<title><?php echo $header_tags[title_tag]; ?></title>

<meta name="description" content="<?php echo $header_tags[desc_tag]; ?>">

<meta name="keywords" content="<?php echo $header_tags[keywords_tag]; ?>">

<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=200,height=250,screenX=150,screenY=150,top=200,le

ft=200')

}

//--></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="3" cellpadding="3">

<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 border="0" width="100%" cellspacing="0" cellpadding="0">

<?php

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

?>

<tr>

<td colspan="2">

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

</td>

</tr>

<tr>

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

</tr>

<tr>

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

<tr class="infoBoxContents">

<td> </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>' . $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) . '</s> <span class="productSpecialPrice">' . $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 colspan="2"></td>

</tr>

<tr>

<td colspan="2" align="center"><hr></td>

</tr>

<tr>

<td width="25%" align="center"><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>

<td width="75%"> </td>

</tr>

<tr>

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

<tr align="left" valign="top">

<td align="center">Only: <?php echo $products_price; ?>!</td>

<td> </td>

</tr>

<tr align="left" valign="top">

<td width="25%" align="center">

<?php

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

?>

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

<tr>

<td align="center" class="smallText"> <script language="JavaScript" type="text/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

}

?>

<br> <br> <br> </td>

<td width="75%"><p><?php echo stripslashes($product_info['products_description']); ?></p>

<?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>

</table></td>

</tr>

<tr>

<td colspan="2"><?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) {

?>

<?php

}

 

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

?>

<tr>

<td colspan="2" 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 colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>

</tr>

<?php

}

 

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

?>

<tr>

<td colspan="2" align="center" class="smallText"> </td>

</tr>

<?php

} else {

?>

<tr>

<td colspan="2" align="center" class="smallText"> </td>

</tr>

<?php

}

?>

<tr>

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

</tr>

<tr>

<td colspan="2"><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"><br> <br> <?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

<td class="main"> </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>

<tr>

<td colspan="4"><br> </td>

</tr>

</table></td>

</tr>

</table></td>

</tr>

<tr>

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

<tr>

<td><hr></td>

</tr>

<tr align="center">

<td>

<?php

if (MODULE_2GETHER_DISCOUNT_STATUS) {

include(DIR_WS_MODULES . '2gether.php');

}

?>

</td>

</tr>

<tr>

<td><hr></td>

</tr>

<tr>

<td align="center">

<?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>

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

<td width="0%"></form> </tr>

</table></td>

<!-- body_text_eof //-->

<td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="0" cellspacing="0" cellpadding="2">

 

</table></td>

</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

It seems you are the second person to report this. I dont have time at the moment but will try to look into this issue and conduct more tests under different server conditions, then post back here.

Normally it doesnt take several hrs to install this contribution and it should work straightaway.

Meantime, if you could give some info regarding your hosting server such as php version and things like register_globals settings.

Good Luck!

Ken


commercial support - unProtected channel, not to be confused with the forum with same name - open to everyone who need some professional help: either PM/email me, or go to my website (URL can be found in my profile).

over 20 years of computer programming experience.

Share this post


Link to post
Share on other sites
It seems you are the second person to report this. I dont have time at the moment but will try to look into this issue and conduct more tests under different server conditions, then post back here.

Normally it doesnt take several hrs to install this contribution and it should work straightaway.

Meantime, if you could give some info regarding your hosting server such as php version and things like register_globals settings.

Good Luck!

Ken

 

 

Thanks for the response GemRock. Yeah, your contribution looks very well done and easy to implement but I got myself in trouble by installing and uninstalling too many meta tag contributions.

 

Here is the server info you requested:

http://www.vegasmaximus.com/server_info.html

 

Thanks again for your help.

Share this post


Link to post
Share on other sites

Sorry guys, its taken so long to respond. :o

 

I have re-tested the contribution (dynamic header tags for novices) on php 4.4.4 and 5.2.0 to 5.2.4, with register_globals on or off, and do not see any problems as mentioned in Brian (futurestar)'s posts.

 

I have set up a demo site so that you can take a look if you like. The demo will allow you to edit the title tag, keyword tag and description tag (remember to click the Update button to save your entry), and see the result by clicking on the product name then look at the page source. This demo site is running under php 5.2.4 with register_globals set to OFF.

 

To access the demo site, go to my home page on the left (view member profile), on the ecommerce link on the home page, click on the osCommerce logo.

 

Please do not try to access other parts of the admin area on the demo site.

 

If there is any problem, please let me know.

 

Ken


commercial support - unProtected channel, not to be confused with the forum with same name - open to everyone who need some professional help: either PM/email me, or go to my website (URL can be found in my profile).

over 20 years of computer programming experience.

Share this post


Link to post
Share on other sites

Great mod but I'm having a problem with it.

 

The Category pages are showing the right meta data, but the product pages don't. These pages have the same as that of the category above it...

Another thing: When I manually insert metadata, it doesn't show up on the page.

Share this post


Link to post
Share on other sites

hi Johan

 

have you looked at/tried the demo I posted above? you'd see it works as intended.

The demo site basically uses the default installation for the contribution. below is what I put in the product_info.php (I am actually copying it from the demo site):

 

<title><?php echo $header_tags[title_tag] . ' | '. TITLE; ?></title>
<meta name="description" content="<?php echo $header_tags[desc_tag]; ?>">
<meta name="keywords" content="<?php echo $header_tags[keywords_tag]; ?>">

 

I may post the contribution and installation instructions on the site when I got more time.

Ken


commercial support - unProtected channel, not to be confused with the forum with same name - open to everyone who need some professional help: either PM/email me, or go to my website (URL can be found in my profile).

over 20 years of computer programming experience.

Share this post


Link to post
Share on other sites

For all you using STS with this contrib, here's my mod for it.

 

Page title:

if landing on a Category page -> Name of site - Category 1 - Category 2..etc

if landing on a Product page -> Name of site - Category 1 | Productname

if landing on all other pages -> Name of site - Heading title

 

Of course, if you have defined any headertags (title,keywords,description) in admin then these will show instead.

 

in includes/modules/sts_inc/general.php:

	$sts->template['headertags']= "<title>";
$sts->template['headertags'] .= (strlen($breadcrumb_tags->trail_tags(' - ')) > 0) ? TITLE . ' - ' . $breadcrumb_tags->trail_tags(' - ') . ' | ' . $header_tags[title_tag] : TITLE . ' - ' . HEADING_TITLE;
$sts->template['headertags'] .= "</title>\n";
$sts->template['headertags'] .= "<meta name=\"description\" content=\"";
$sts->template['headertags'] .= htmlspecialchars(strlen($header_tags[products_name])>0?$header_tags[products_name]:HEADING_TITLE) . ' ' . htmlspecialchars($header_tags[desc_tag]);
$sts->template['headertags'] .= "\">\n<meta name=\"keywords\" content=\"";
$sts->template['headertags'] .= htmlspecialchars($header_tags[keywords_tag]);
$sts->template['headertags'] .= "\">\n";

 

Since pages created with ie. Information Pages Unlimited or Extra pages-info box w/Admin don't define a Heading Title we need to add some extra code for this.

 

For Information Pages Unlimited:

in information.php:

Find

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

Change to

	define('HEADING_TITLE', $title);
?>
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">

 

For Extra pages-info box w/Admin:

in extra_info_pages.php:

Find

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

Change to

define('HEADING_TITLE', $page_check[pages_title]);
?>
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">

Share this post


Link to post
Share on other sites

This works wonderfully. Thank you so much!

 

The only problem is that on product pages I'm getting a double product name in the title with the above code ???

 

Store - Manufacturer | product title Manufacturer product title

Edited by -Jeff-

Share this post


Link to post
Share on other sites
This works wonderfully. Thank you so much!

 

The only problem is that on product pages I'm getting a double product name in the title with the above code ???

 

Store - Manufacturer | product title Manufacturer product title

sorry but I dont use any of the template add-ons, hope someone who uses STS & my contribution would be able to answer your question if you have not figured it out by now (doesnt look like a difficult one).

Good luck!

Ken


commercial support - unProtected channel, not to be confused with the forum with same name - open to everyone who need some professional help: either PM/email me, or go to my website (URL can be found in my profile).

over 20 years of computer programming experience.

Share this post


Link to post
Share on other sites
sorry but I dont use any of the template add-ons, hope someone who uses STS & my contribution would be able to answer your question if you have not figured it out by now (doesnt look like a difficult one).

Good luck!

Ken

I haven't figured it out yet, but the answer must be in the code above that seems to be the best (and in all other respects works great)

 

Using

$sts->template['headertags']= "<title>";
$sts->template['headertags'] .= (strlen($breadcrumb_tags->trail_tags(' - ')) > 0) ? TITLE . ' - ' . $breadcrumb_tags->trail_tags(' - ') . ' | ' . $header_tags[title_tag] : TITLE . ' - ' . HEADING_TITLE;
$sts->template['headertags'] .= "</title>\n";
$sts->template['headertags'] .= "<meta name=\"description\" content=\"";
$sts->template['headertags'] .= htmlspecialchars(strlen($header_tags[products_name])>0?$header_tags[products_name]:HEADING_TITLE) . ' ' . htmlspecialchars($header_tags[desc_tag]);
$sts->template['headertags'] .= "\">\n<meta name=\"keywords\" content=\"";
$sts->template['headertags'] .= htmlspecialchars($header_tags[keywords_tag]);
$sts->template['headertags'] .= "\">\n";

Instead of the designed if landing on a Product page ->

Name of site - Category 1 | Productname

if I load a URL such as

product_info.php?cPath=53&products_id=516

I get

Name of site - category | category Productname

 

One other issue I have that is more pressing:

If I load simply

index.php?cPath=53 (or any category)

I am seeing a good page title

Name of site - category |

 

but description is

<meta name="description" content="Let's See What We Have Here ">

<meta name="keywords" content="">

 

How do I get the category name into the description instead of "let's see what we have here"?

Share this post


Link to post
Share on other sites

This is the relevant part of the code:

$sts->template['headertags'] .=  (strlen($breadcrumb_tags->trail_tags(' - ')) > 0) ? TITLE . ' - '  . $breadcrumb_tags->trail_tags(' - ') . ' | ' .  $header_tags[title_tag] : TITLE . ' - ' . HEADING_TITLE;

there are 3 parts:

1.

strlen($breadcrumb_tags->trail_tags(' - ')) > 0

if it is not a zero length string, then shows:

2.

TITLE . ' - '  . $breadcrumb_tags->trail_tags(' - ') . ' | ' .  $header_tags[title_tag]

otherwise shows:

3.

TITLE . ' - ' . HEADING_TITLE;

.

the problem is with 2 above. I guess you just need to delete

' - '  . $breadcrumb_tags->trail_tags(' - ') .

in 2, ie, anything between TITLE . and ' | '. so now it becomes:

$sts->template['headertags'] .=  (strlen($breadcrumb_tags->trail_tags(' - ')) > 0) ? TITLE .  ' | ' .  $header_tags[title_tag] : TITLE . ' - ' . HEADING_TITLE;

 

For your second question, it is because theres no product name on the home/index page so it just shows the HEADING_TITLE, which is something to do with the STS add-on you used. so you just need to replace HEADING_TITLE (in english.php or index.php - language file) with anything you like, or delete it. eg, instead of the original

?$header_tags[products_name]:HEADING_TITLE) . ' ' . htmlspecialchars($header_tags[desc_tag]);

you can change it to:

?$header_tags[products_name]:'wonderful products from the best manufacturers using space technology etc') . ' ' . htmlspecialchars($header_tags[desc_tag]);

Ken

Edited by GemRock

commercial support - unProtected channel, not to be confused with the forum with same name - open to everyone who need some professional help: either PM/email me, or go to my website (URL can be found in my profile).

over 20 years of computer programming experience.

Share this post


Link to post
Share on other sites

Hello!

 

I didn't want to open a new topic so I decided to stay in this thread.

I just installed this great contribtution and works like a charme.

One question to the producrs-description.

Wouldn't it be good to limit the description of a product to let's say

200 signs or letters or so? How could one achieve this? Or am I wrong?

I mean by default wihtout a product description added in header_tags_edit.php

the description of the product is used and that is usually very long.

So just limiting it by displaying the first 200 charackers would be enough?

 

cheers

 

Andreas

Share this post


Link to post
Share on other sites
...Wouldn't it be good to limit the description of a product to let's say

200 signs or letters or so? How could one achieve this? Or am I wrong?...

 

Thats exactly what it does - 1000 characters, ie, 200 words - as far as I remember. The limit is in the code added to application_top.php: notice the number 1000?

 

Ken


commercial support - unProtected channel, not to be confused with the forum with same name - open to everyone who need some professional help: either PM/email me, or go to my website (URL can be found in my profile).

over 20 years of computer programming experience.

Share this post


Link to post
Share on other sites
Thats exactly what it does - 1000 characters, ie, 200 words - as far as I remember. The limit is in the code added to application_top.php: notice the number 1000?

 

Ken

Ah, allright! Didn't see that. Thank you!

 

Andreas

Share this post


Link to post
Share on other sites
Thats exactly what it does - 1000 characters, ie, 200 words - as far as I remember. The limit is in the code added to application_top.php: notice the number 1000?

 

Ken

Hi Ken

 

Great contribution, thank you.


The Coopco Underwear Shop

 

If you live to be 100 years of age, that means you have lived for 36,525 days. Don't waste another, there aren't many left.

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  

×