psdealer Posted August 17, 2008 Share Posted August 17, 2008 Hi Jack. I have two little problems with this great contribution. When I go to the Test page I got following error: http://www.xxx.de/admin/FILENAME_HEADER_TAGS_TEST (browser line) "The requested document was not found on this server." But I upload the header tags test Second: After I marked the Meta Tags Infos (NOODP etc.) and refresh the site the changes are lost. Thanks a lot! I have this too.However it is not a problem Just need 2 additional codes: 1)admin/includes/filenames.php ----find:------ /*** Begin Header Tags SEO ***/ define('FILENAME_HEADER_TAGS_SEO', 'header_tags_seo.php'); define('FILENAME_HEADER_TAGS_FILL_TAGS', 'header_tags_fill_tags.php'); /*** End Header Tags SEO ***/ -----change to------ /*** Begin Header Tags SEO ***/ define('FILENAME_HEADER_TAGS_SEO', 'header_tags_seo.php'); define('FILENAME_HEADER_TAGS_FILL_TAGS', 'header_tags_fill_tags.php'); define('FILENAME_HEADER_TAGS_TEST', 'header_tags_test.php'); /*** End Header Tags SEO ***/ 2)admin/includes/languages/english.php ------find------- /*** Begin Header Tags SEO ***/ // header_tags_seo text in includes/boxes/header_tags_seo.php define('BOX_HEADING_HEADER_TAGS_SEO', 'Header Tags SEO'); define('BOX_HEADER_TAGS_ADD_A_PAGE', 'Page Control'); define('BOX_HEADER_TAGS_FILL_TAGS', 'Fill Tags'); /*** End Header Tags SEO ***/ -------change to------ /*** Begin Header Tags SEO ***/ // header_tags_seo text in includes/boxes/header_tags_seo.php define('BOX_HEADING_HEADER_TAGS_SEO', 'Header Tags SEO'); define('BOX_HEADER_TAGS_ADD_A_PAGE', 'Page Control'); define('BOX_HEADER_TAGS_FILL_TAGS', 'Fill Tags'); define('BOX_HEADER_TAGS_TEST', 'Test'); /*** End Header Tags SEO ***/ Thank Jack again for the new version! Quote Link to comment Share on other sites More sharing options...
Jupiters Posted August 17, 2008 Share Posted August 17, 2008 i copied the hole admin directory in the admin direc. i followed the update doc. afterwards the test page showed the errors as described. anyone else who updated from 3.04 had these problems? Quote Link to comment Share on other sites More sharing options...
psdealer Posted August 17, 2008 Share Posted August 17, 2008 hi Jack, Thanks for the new version.awesome!the "Page Control" in admin/header_tags_seo.php works well now,before this version I had 30 seconds time out error. But in the new version I don't know how the "root" works.What is the root pls?is it the meta work for homepage?I can't find a place to set root metg. I go to "page control",select "index.php" ,exclude product and root option,click "update" button,thenI have a error: Missing sort orders are not allowed -> index.php and error when I open homepage: Warning: implode() [function.implode]: Invalid arguments passed in /home/environment/public_html/includes/functions/header_tags.php on line 43 Warning: implode() [function.implode]: Invalid arguments passed in /home/environment/public_html/includes/functions/header_tags.php on line 44 Warning: implode() [function.implode]: Invalid arguments passed in /home/environment/public_html/includes/functions/header_tags.php on line 45 Warning: implode() [function.implode]: Invalid arguments passed in /home/environment/public_html/includes/functions/header_tags.php on line 46 If include "root" in index.php,above 2 errors won't happen,But category and products pages don't have pure unique meta.I mean: if index.php have title "aaa",I am not able to set category title as "bbb",it must be "aaa - bbb" if a category have title "bbb",its product title won't be "ccc",it must be "bbb - ccc" Lso I get: Test Results Missing Database Error: The products_head_title_tag field cannot be found in the products_description table. The categories_htc_title_tag field cannot be found in the categories_description table. The manufacturers_htc_title_tag field cannot be found in the manufacturers_info table. I check database carefully,in fact those fields all exist,also website page have title tags. Sorry that I have so many questions,I'm not good at php,I just begun to learn some from the day I knew oscommerce. Thank you again for your great add-ons. Quote Link to comment Share on other sites More sharing options...
Jupiters Posted August 17, 2008 Share Posted August 17, 2008 (edited) do have exactly the same problem like psdealer! Edited August 17, 2008 by Jupiters Quote Link to comment Share on other sites More sharing options...
Jack_mcs Posted August 17, 2008 Author Share Posted August 17, 2008 But in the new version I don't know how the "root" works.What is the root pls?is it the meta work for homepage?I can't find a place to set root metg.I check database carefully,in fact those fields all exist,also website page have title tags. If you go to page control and select a page, say index.php, you will see four boxes for that page, title, description, keywords, logo. These have always been there in this contribution. These are being called the root. If you have the root box selected, they show up on the page. If you don't have it selected, they don't show up on the page. Missing sort orders are not allowed -> index.php The message says a sort order is required. There is a sort order box on the page next to the index position. If you leave the sort order empty, it causes an error. The fix is to put in a sort order number. Sorry that I have so many questions,I'm not good at php,I just begun to learn some from the day I knew oscommerce. What type of shop are you running - standard, STS or BTS? Jack Quote Support Links: For Hire: Contact me for anything you need help with for your shop: upgrading, hosting, repairs, code written, etc. All of My Addons Get the latest versions of my addons Recommended SEO Addons Link to comment Share on other sites More sharing options...
psdealer Posted August 17, 2008 Share Posted August 17, 2008 If you go to page control and select a page, say index.php, you will see four boxes for that page, title, description, keywords, logo. These have always been there in this contribution. These are being called the root. If you have the root box selected, they show up on the page. If you don't have it selected, they don't show up on the page. The message says a sort order is required. There is a sort order box on the page next to the index position. If you leave the sort order empty, it causes an error. The fix is to put in a sort order number. What type of shop are you running - standard, STS or BTS? Jack Hi Jack, Thanks for your answer.I use a shop template,not standard but not big difference. In order to set pure unique category/product meta tags,I have to exclude "root" box.But if I do this,the homepage will not have any meta tags and have error as I said above.Can you figure out how to have homepage meta as well as pure unique category/product meta? Quote Link to comment Share on other sites More sharing options...
Jack_mcs Posted August 17, 2008 Author Share Posted August 17, 2008 Hi Jack,Thanks for your answer.I use a shop template,not standard but not big difference. In order to set pure unique category/product meta tags,I have to exclude "root" box.But if I do this,the homepage will not have any meta tags and have error as I said above.Can you figure out how to have homepage meta as well as pure unique category/product meta? I had this working but removed it for a last minute test and forgot to add it back in. To fix it, edit the includes/header_tags.php file and change this code in the index section, line 38if ($pageTags['append_root']) to if ($pageTags['append_root'] || $category_depth == 'top' ) Jack Quote Support Links: For Hire: Contact me for anything you need help with for your shop: upgrading, hosting, repairs, code written, etc. All of My Addons Get the latest versions of my addons Recommended SEO Addons Link to comment Share on other sites More sharing options...
psdealer Posted August 17, 2008 Share Posted August 17, 2008 I had this working but removed it for a last minute test and forgot to add it back in. To fix it, edit the includes/header_tags.php file and change this code in the index section, line 38if ($pageTags['append_root']) to if ($pageTags['append_root'] || $category_depth == 'top' ) Jack Yeah this can fix it,thank you! But there are 2 bugs I till found: 1)If you don't select "root" in index.php,you must write tags for each category,cant leave blank,otherwise get this error: Warning: implode() [function.implode]: Invalid arguments passed in /home/environment/public_html/includes/functions/header_tags.php on line 43 Warning: implode() [function.implode]: Invalid arguments passed in /home/environment/public_html/includes/functions/header_tags.php on line 44 Warning: implode() [function.implode]: Invalid arguments passed in /home/environment/public_html/includes/functions/header_tags.php on line 45 Warning: implode() [function.implode]: Invalid arguments passed in /home/environment/public_html/includes/functions/header_tags.php on line 46 2)in product_info.php,no matter you select "root" or not,product page meta must contain its category meta. These bugs are no problems for my store now since you solve the unique category meta issue.However if you can look at it that will help much for others. Thanks for great support :) Quote Link to comment Share on other sites More sharing options...
wdc Posted August 17, 2008 Share Posted August 17, 2008 Add the following to admin/includes/function/general.php before the last ?> function tep_get_category_htc_title($category_id, $language_id) { $category_query = tep_db_query("select categories_htc_title_tag from " . TABLE_CATEGORIES_DESCRIPTION . " where categories_id = '" . (int)$category_id . "' and language_id = '" . (int)$language_id . "'"); $category = tep_db_fetch_array($category_query); return $category['categories_htc_title_tag']; } function tep_get_category_htc_desc($category_id, $language_id) { $category_query = tep_db_query("select categories_htc_desc_tag from " . TABLE_CATEGORIES_DESCRIPTION . " where categories_id = '" . (int)$category_id . "' and language_id = '" . (int)$language_id . "'"); $category = tep_db_fetch_array($category_query); return $category['categories_htc_desc_tag']; } function tep_get_category_htc_keywords($category_id, $language_id) { $category_query = tep_db_query("select categories_htc_keywords_tag from " . TABLE_CATEGORIES_DESCRIPTION . " where categories_id = '" . (int)$category_id . "' and language_id = '" . (int)$language_id . "'"); $category = tep_db_fetch_array($category_query); return $category['categories_htc_keywords_tag']; } function tep_get_category_htc_description($category_id, $language_id) { $category_query = tep_db_query("select categories_htc_description from " . TABLE_CATEGORIES_DESCRIPTION . " where categories_id = '" . (int)$category_id . "' and language_id = '" . (int)$language_id . "'"); $category = tep_db_fetch_array($category_query); return $category['categories_htc_description']; } function tep_get_products_head_title_tag($product_id, $language_id) { $product_query = tep_db_query("select products_head_title_tag from " . TABLE_PRODUCTS_DESCRIPTION . " where products_id = '" . (int)$product_id . "' and language_id = '" . (int)$language_id . "'"); $product = tep_db_fetch_array($product_query); return $product['products_head_title_tag']; } function tep_get_products_head_desc_tag($product_id, $language_id) { $product_query = tep_db_query("select products_head_desc_tag from " . TABLE_PRODUCTS_DESCRIPTION . " where products_id = '" . (int)$product_id . "' and language_id = '" . (int)$language_id . "'"); $product = tep_db_fetch_array($product_query); return $product['products_head_desc_tag']; } function tep_get_products_head_keywords_tag($product_id, $language_id) { $product_query = tep_db_query("select products_head_keywords_tag from " . TABLE_PRODUCTS_DESCRIPTION . " where products_id = '" . (int)$product_id . "' and language_id = '" . (int)$language_id . "'"); $product = tep_db_fetch_array($product_query); return $product['products_head_keywords_tag']; } function tep_get_manufacturer_htc_title($manufacturer_id, $language_id) { $manufacturer_query = tep_db_query("select manufacturers_htc_title_tag from " . TABLE_MANUFACTURERS_INFO . " where manufacturers_id = '" . (int)$manufacturer_id . "' and languages_id = '" . (int)$language_id . "'"); $manufacturer = tep_db_fetch_array($manufacturer_query); return $manufacturer['manufacturers_htc_title_tag']; } function tep_get_manufacturer_htc_desc($manufacturer_id, $language_id) { $manufacturer_query = tep_db_query("select manufacturers_htc_desc_tag from " . TABLE_MANUFACTURERS_INFO . " where manufacturers_id = '" . (int)$manufacturer_id . "' and languages_id = '" . (int)$language_id . "'"); $manufacturer = tep_db_fetch_array($manufacturer_query); return $manufacturer['manufacturers_htc_desc_tag']; } function tep_get_manufacturer_htc_keywords($manufacturer_id, $language_id) { $manufacturer_query = tep_db_query("select manufacturers_htc_keywords_tag from " . TABLE_MANUFACTURERS_INFO . " where manufacturers_id = '" . (int)$manufacturer_id . "' and languages_id = '" . (int)$language_id . "'"); $manufacturer = tep_db_fetch_array($manufacturer_query); return $manufacturer['manufacturers_htc_keywords_tag']; } function tep_get_manufacturer_htc_description($manufacturer_id, $language_id) { $manufacturer_query = tep_db_query("select manufacturers_htc_description from " . TABLE_MANUFACTURERS_INFO . " where manufacturers_id = '" . (int)$manufacturer_id . "' and languages_id = '" . (int)$language_id . "'"); $manufacturer = tep_db_fetch_array($manufacturer_query); return $manufacturer['manufacturers_htc_description']; } =================================================================== Add to admin/includes/column_left.php before the closing ?> require(DIR_WS_BOXES . 'header_tags_controller.php'); =================================================================== Add to admin/includes/filenames.php anywhere before the closing ?> define('FILENAME_HEADER_TAGS_CONTROLLER', 'header_tags_controller.php'); define('FILENAME_HEADER_TAGS_ENGLISH', 'header_tags_english.php'); define('FILENAME_HEADER_TAGS_FILL_TAGS', 'header_tags_fill_tags.php'); =================================================================== Add to admin/includes/languages/english.php before the closing ?>. Repeat for any other language you would like Header Tags to work with. // header_tags_controller text in includes/boxes/header_tags_controller.php define('BOX_HEADING_HEADER_TAGS_CONTROLLER', 'Header Tags'); define('BOX_HEADER_TAGS_ADD_A_PAGE', 'Page Control'); define('BOX_HEADER_TAGS_ENGLISH', 'Text Control'); define('BOX_HEADER_TAGS_FILL_TAGS', 'Fill Tags'); =================================================================== Add the following in admin/includes/languages/english/categories.php anywhere before the closing ?>. Repeat for any other language you would like Header Tags to work with. define('TEXT_PRODUCT_METTA_INFO', '<b>Meta Tag Information</b>'); define('TEXT_PRODUCTS_PAGE_TITLE', 'Product Title Tag:'); define('TEXT_PRODUCTS_HEADER_DESCRIPTION', 'Product Description Tag:'); define('TEXT_PRODUCTS_KEYWORDS', 'Product Keywords Tag:'); =================================================================== Make the following changes to admin/categories.php FIND (about line 61) for ($i=0, $n=sizeof($languages); $i<$n; $i++) { $categories_name_array = $HTTP_POST_VARS['categories_name']; ADD after it //HTC BOC $categories_htc_title_array = $HTTP_POST_VARS['categories_htc_title_tag']; $categories_htc_desc_array = $HTTP_POST_VARS['categories_htc_desc_tag']; $categories_htc_keywords_array = $HTTP_POST_VARS['categories_htc_keywords_tag']; $categories_htc_description_array = $HTTP_POST_VARS['categories_htc_description']; //HTC EOC FIND (a few lines down - around line 72) $sql_data_array = array('categories_name' => tep_db_prepare_input($categories_name_array[$language_id])); REPLACE with //HTC BOC $sql_data_array = array('categories_name' => tep_db_prepare_input($categories_name_array[$language_id]), 'categories_htc_title_tag' => (tep_not_null($categories_htc_title_array[$language_id]) ? tep_db_prepare_input($categories_htc_title_array[$language_id]) : tep_db_prepare_input($categories_name_array[$language_id])), 'categories_htc_desc_tag' => (tep_not_null($categories_htc_desc_array[$language_id]) ? tep_db_prepare_input($categories_htc_desc_array[$language_id]) : tep_db_prepare_input($categories_name_array[$language_id])), 'categories_htc_keywords_tag' => (tep_not_null($categories_htc_keywords_array[$language_id]) ? tep_db_prepare_input($categories_htc_keywords_array[$language_id]) : tep_db_prepare_input($categories_name_array[$language_id])), 'categories_htc_description' => tep_db_prepare_input($categories_htc_description_array[$language_id])); //HTC EOC =================================================================== Around line 260, find these lines $sql_data_array = array('products_name' => tep_db_prepare_input($HTTP_POST_VARS['products_name'][$language_id]), 'products_description' => tep_db_prepare_input($HTTP_POST_VARS['products_description'][$language_id]), 'products_url' => tep_db_prepare_input($HTTP_POST_VARS['products_url'][$language_id])); REPLACE it with //HTC BOC $sql_data_array = array('products_name' => tep_db_prepare_input($HTTP_POST_VARS['products_name'][$language_id]), 'products_description' => tep_db_prepare_input($HTTP_POST_VARS['products_description'][$language_id]), 'products_url' => tep_db_prepare_input($HTTP_POST_VARS['products_url'][$language_id]), 'products_head_title_tag' => ((tep_not_null($HTTP_POST_VARS['products_head_title_tag'][$language_id])) ? tep_db_prepare_input($HTTP_POST_VARS['products_head_title_tag'][$language_id]) : tep_db_prepare_input($HTTP_POST_VARS['products_name'][$language_id])), 'products_head_desc_tag' => ((tep_not_null($HTTP_POST_VARS['products_head_desc_tag'][$language_id])) ? tep_db_prepare_input($HTTP_POST_VARS['products_head_desc_tag'][$language_id]) : tep_db_prepare_input($HTTP_POST_VARS['products_name'][$language_id])), 'products_head_keywords_tag' => ((tep_not_null($HTTP_POST_VARS['products_head_keywords_tag'][$language_id])) ? tep_db_prepare_input($HTTP_POST_VARS['products_head_keywords_tag'][$language_id]) : tep_db_prepare_input($HTTP_POST_VARS['products_name'][$language_id]))); //HTC EOC =================================================================== Around line 311, find these lines $description_query = tep_db_query("select language_id, products_name, products_description, products_url from " . TABLE_PRODUCTS_DESCRIPTION . " where products_id = '" . (int)$products_id . "'"); while ($description = tep_db_fetch_array($description_query)) { tep_db_query("insert into " . TABLE_PRODUCTS_DESCRIPTION . " (products_id, language_id, products_name, products_description, products_url, products_viewed) values ('" . (int)$dup_products_id . "', '" . (int)$description['language_id'] . "', '" . tep_db_input($description['products_name']) . "', '" . tep_db_input($description['products_description']) . "', '" . tep_db_input($description['products_url']) . "', '0')"); } Replace with the following //HTC BOC $description_query = tep_db_query("select language_id, products_name, products_description, products_head_title_tag, products_head_desc_tag, products_head_keywords_tag, products_url from " . TABLE_PRODUCTS_DESCRIPTION . " where products_id = '" . (int)$products_id . "'"); while ($description = tep_db_fetch_array($description_query)) { tep_db_query("insert into " . TABLE_PRODUCTS_DESCRIPTION . " (products_id, language_id, products_name, products_description, products_head_title_tag, products_head_desc_tag, products_head_keywords_tag, products_url, products_viewed) values ('" . (int)$dup_products_id . "', '" . (int)$description['language_id'] . "', '" . tep_db_input($description['products_name']) . "', '" . tep_db_input($description['products_description']) . "', '" . tep_db_input($description['products_head_title_tag']) . "', '" . tep_db_input($description['products_head_desc_tag']) . "', '" . tep_db_input($description['products_head_keywords_tag']) . "', '" . tep_db_input($description['products_url']) . "', '0')"); } //HTC EOC =================================================================== Around line 394, find this lines if (isset($HTTP_GET_VARS['pID']) && empty($HTTP_POST_VARS)) { $product_query = tep_db_query("select pd.products_name, pd.products_description, pd.products_url, p.products_id, p.products_quantity, p.products_model, p.products_image, p.products_price, p.products_weight, p.products_date_added, p.products_last_modified, date_format(p.products_date_available, '%Y-%m-%d') as products_date_available, p.products_status, p.products_tax_class_id, p.manufacturers_id from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_id = '" . (int)$HTTP_GET_VARS['pID'] . "' and p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "'"); $product = tep_db_fetch_array($product_query); Replace with the following //HTC BOC if (isset ($HTTP_GET_VARS['pID']) && (!$HTTP_POST_VARS) ) { $product_query = tep_db_query("select pd.products_name, pd.products_description, pd.products_head_title_tag, pd.products_head_desc_tag, pd.products_head_keywords_tag, pd.products_url, p.products_id, p.products_quantity, p.products_model, p.products_image, p.products_price, p.products_weight, p.products_date_added, p.products_last_modified, date_format(p.products_date_available, '%Y-%m-%d') as products_date_available, p.products_status, p.products_tax_class_id, p.manufacturers_id from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_id = '" . (int)$HTTP_GET_VARS['pID'] . "' and p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "'"); $product = tep_db_fetch_array($product_query); //HTC EOC =================================================================== Around line 519, find this section of code. NOTE: There can be several instances of the code: for ($i=0, $n=sizeof($languages); $i<$n; $i++) so you need to be sure you have the correct one. The best way is to do a search for TEXT_PRODUCTS_DESCRIPTION, which is part of the code to be replaced. <?php for ($i=0, $n=sizeof($languages); $i<$n; $i++) { ?> <tr> <td class="main" valign="top"><?php if ($i == 0) echo TEXT_PRODUCTS_DESCRIPTION; ?></td> <td><table border="0" cellspacing="0" cellpadding="0"> <tr> <td class="main" valign="top"><?php echo tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']); ?> </td> <td class="main"><?php echo tep_draw_textarea_field('products_description[' . $languages[$i]['id'] . ']', 'soft', '70', '15', (($products_description[$languages[$i]['id']]) ? stripslashes($products_description[$languages[$i]['id']]) : tep_get_products_description($pInfo->products_id, $languages[$i]['id']))); ?></td> </tr> </table></td> </tr> <?php } ?> <tr> <td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td> </tr> Replace with the following <!-- HTC BOC //--> <?php for ($i=0, $n=sizeof($languages); $i<$n; $i++) { ?> <tr> <td class="main" valign="top"><?php if ($i == 0) echo TEXT_PRODUCTS_DESCRIPTION; ?></td> <td><table border="0" cellspacing="0" cellpadding="0"> <tr> <td class="main" valign="top"><?php echo tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']); ?> </td> <td class="main"><?php echo tep_draw_textarea_field('products_description[' . $languages[$i]['id'] . ']', 'soft', '70', '15', (isset($products_description[$languages[$i]['id']]) ? stripslashes($products_description[$languages[$i]['id']]) : tep_get_products_description($pInfo->products_id, $languages[$i]['id']))); ?></td> </tr> </table></td> </tr> <?php } ?> <tr> <td colspan="2" class="main"><hr><?php echo TEXT_PRODUCT_METTA_INFO; ?></td> </tr> <tr> <td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td> </tr> <?php for ($i=0, $n=sizeof($languages); $i<$n; $i++) { ?> <tr> <td class="main" valign="top"><?php if ($i == 0) echo TEXT_PRODUCTS_PAGE_TITLE; ?></td> <td><table border="0" cellspacing="0" cellpadding="0"> <tr> <td class="main" valign="top"><?php echo tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']); ?> </td> <td class="main"><?php echo tep_draw_textarea_field('products_head_title_tag[' . $languages[$i]['id'] . ']', 'soft', '70', '5', (isset($products_head_title_tag[$languages[$i]['id']]) ? stripslashes($products_head_title_tag[$languages[$i]['id']]) : tep_get_products_head_title_tag($pInfo->products_id, $languages[$i]['id']))); ?></td> </tr> </table></td> </tr> <?php } for ($i=0, $n=sizeof($languages); $i<$n; $i++) { ?> <tr> <td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td> </tr> <tr> <td class="main" valign="top"><?php if ($i == 0) echo TEXT_PRODUCTS_HEADER_DESCRIPTION; ?></td> <td><table border="0" cellspacing="0" cellpadding="0"> <tr> <td class="main" valign="top"><?php echo tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']); ?> </td> <td class="main"><?php echo tep_draw_textarea_field('products_head_desc_tag[' . $languages[$i]['id'] . ']', 'soft', '70', '5', (isset($products_head_desc_tag[$languages[$i]['id']]) ? stripslashes($products_head_desc_tag[$languages[$i]['id']]) : tep_get_products_head_desc_tag($pInfo->products_id, $languages[$i]['id']))); ?></td> </tr> </table></td> </tr> <?php } for ($i=0, $n=sizeof($languages); $i<$n; $i++) { ?> <tr> <td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td> </tr> <tr> <td class="main" valign="top"><?php if ($i == 0) echo TEXT_PRODUCTS_KEYWORDS; ?></td> <td><table border="0" cellspacing="0" cellpadding="0"> <tr> <td class="main" valign="top"><?php echo tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']); ?> </td> <td class="main"><?php echo tep_draw_textarea_field('products_head_keywords_tag[' . $languages[$i]['id'] . ']', 'soft', '70', '5', (isset($products_head_keywords_tag[$languages[$i]['id']]) ? stripslashes($products_head_keywords_tag[$languages[$i]['id']]) : tep_get_products_head_keywords_tag($pInfo->products_id, $languages[$i]['id']))); ?></td> </tr> </table></td> </tr> <?php } ?> <tr> <td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td> </tr> <tr> <td colspan="2" class="main"><hr></td> </tr> <!-- HTC EOC //--> =================================================================== Around line 679, find this section of code <?php } elseif ($action == 'new_product_preview') { if (tep_not_null($HTTP_POST_VARS)) { $pInfo = new objectInfo($HTTP_POST_VARS); $products_name = $HTTP_POST_VARS['products_name']; $products_description = $HTTP_POST_VARS['products_description']; $products_url = $HTTP_POST_VARS['products_url']; } else { $product_query = tep_db_query("select p.products_id, pd.language_id, pd.products_name, pd.products_description, pd.products_url, p.products_quantity, p.products_model, p.products_image, p.products_price, p.products_weight, p.products_date_added, p.products_last_modified, p.products_date_available, p.products_status, p.manufacturers_id from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_id = pd.products_id and p.products_id = '" . (int)$HTTP_GET_VARS['pID'] . "'"); $product = tep_db_fetch_array($product_query); Replace with the following <!-- HTC BOC //--> <?php } elseif ($action == 'new_product_preview') { if (tep_not_null($HTTP_POST_VARS)) { $pInfo = new objectInfo($HTTP_POST_VARS); $products_name = $HTTP_POST_VARS['products_name']; $products_description = $HTTP_POST_VARS['products_description']; $products_head_title_tag = $HTTP_POST_VARS['products_head_title_tag']; $products_head_desc_tag = $HTTP_POST_VARS['products_head_desc_tag']; $products_head_keywords_tag = $HTTP_POST_VARS['products_head_keywords_tag']; $products_url = $HTTP_POST_VARS['products_url']; } else { $product_query = tep_db_query("select p.products_id, pd.language_id, pd.products_name, pd.products_description, pd.products_head_title_tag, pd.products_head_desc_tag, pd.products_head_keywords_tag, pd.products_url, p.products_quantity, p.products_model, p.products_image, p.products_price, p.products_weight, p.products_date_added, p.products_last_modified, p.products_date_available, p.products_status, p.manufacturers_id from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_id = pd.products_id and p.products_id = '" . (int)$HTTP_GET_VARS['pID'] . "'"); $product = tep_db_fetch_array($product_query); // HTC EOC =================================================================== Around line 702, find this section of code $languages = tep_get_languages(); for ($i=0, $n=sizeof($languages); $i<$n; $i++) { if (isset($HTTP_GET_VARS['read']) && ($HTTP_GET_VARS['read'] == 'only')) { $pInfo->products_name = tep_get_products_name($pInfo->products_id, $languages[$i]['id']); $pInfo->products_description = tep_get_products_description($pInfo->products_id, $languages[$i]['id']); $pInfo->products_url = tep_get_products_url($pInfo->products_id, $languages[$i]['id']); } else { $pInfo->products_name = tep_db_prepare_input($products_name[$languages[$i]['id']]); $pInfo->products_description = tep_db_prepare_input($products_description[$languages[$i]['id']]); $pInfo->products_url = tep_db_prepare_input($products_url[$languages[$i]['id']]); } Replace with the following // HTC BOC $languages = tep_get_languages(); for ($i=0, $n=sizeof($languages); $i<$n; $i++) { if (isset($HTTP_GET_VARS['read']) && ($HTTP_GET_VARS['read'] == 'only')) { $pInfo->products_name = tep_get_products_name($pInfo->products_id, $languages[$i]['id']); $pInfo->products_description = tep_get_products_description($pInfo->products_id, $languages[$i]['id']); $pInfo->products_head_title_tag = tep_db_prepare_input($products_head_title_tag[$languages[$i]['id']]); $pInfo->products_head_desc_tag = tep_db_prepare_input($products_head_desc_tag[$languages[$i]['id']]); $pInfo->products_head_keywords_tag = tep_db_prepare_input($products_head_keywords_tag[$languages[$i]['id']]); $pInfo->products_url = tep_get_products_url($pInfo->products_id, $languages[$i]['id']); } else { $pInfo->products_name = tep_db_prepare_input($products_name[$languages[$i]['id']]); $pInfo->products_description = tep_db_prepare_input($products_description[$languages[$i]['id']]); $pInfo->products_head_title_tag = tep_db_prepare_input($products_head_title_tag[$languages[$i]['id']]); $pInfo->products_head_desc_tag = tep_db_prepare_input($products_head_desc_tag[$languages[$i]['id']]); $pInfo->products_head_keywords_tag = tep_db_prepare_input($products_head_keywords_tag[$languages[$i]['id']]); $pInfo->products_url = tep_db_prepare_input($products_url[$languages[$i]['id']]); } // HTC EOC =================================================================== Around line 805, find this section of code $languages = tep_get_languages(); for ($i=0, $n=sizeof($languages); $i<$n; $i++) { echo tep_draw_hidden_field('products_name[' . $languages[$i]['id'] . ']', htmlspecialchars(stripslashes($products_name[$languages[$i]['id']]))); echo tep_draw_hidden_field('products_description[' . $languages[$i]['id'] . ']', htmlspecialchars(stripslashes($products_description[$languages[$i]['id']]))); echo tep_draw_hidden_field('products_url[' . $languages[$i]['id'] . ']', htmlspecialchars(stripslashes($products_url[$languages[$i]['id']]))); } Replace with the following // HTC BOC $languages = tep_get_languages(); for ($i=0, $n=sizeof($languages); $i<$n; $i++) { echo tep_draw_hidden_field('products_name[' . $languages[$i]['id'] . ']', htmlspecialchars(stripslashes($products_name[$languages[$i]['id']]))); echo tep_draw_hidden_field('products_description[' . $languages[$i]['id'] . ']', htmlspecialchars(stripslashes($products_description[$languages[$i]['id']]))); echo tep_draw_hidden_field('products_head_title_tag[' . $languages[$i]['id'] . ']', htmlspecialchars(stripslashes($products_head_title_tag[$languages[$i]['id']]))); echo tep_draw_hidden_field('products_head_desc_tag[' . $languages[$i]['id'] . ']', htmlspecialchars(stripslashes($products_head_desc_tag[$languages[$i]['id']]))); echo tep_draw_hidden_field('products_head_keywords_tag[' . $languages[$i]['id'] . ']', htmlspecialchars(stripslashes($products_head_keywords_tag[$languages[$i]['id']]))); echo tep_draw_hidden_field('products_url[' . $languages[$i]['id'] . ']', htmlspecialchars(stripslashes($products_url[$languages[$i]['id']]))); } // HTC EOC =================================================================== Around line 877, find this code $categories_query = tep_db_query("select c.categories_id, cd.categories_name, c.categories_image, c.parent_id, c.sort_order, c.date_added, c.last_modified from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.categories_id = cd.categories_id and cd.language_id = '" . (int)$languages_id . "' and cd.categories_name like '%" . tep_db_input($search) . "%' order by c.sort_order, cd.categories_name"); } else { $categories_query = tep_db_query("select c.categories_id, cd.categories_name, c.categories_image, c.parent_id, c.sort_order, c.date_added, c.last_modified 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 c.sort_order, cd.categories_name"); and replace it with // HTC BOC $categories_query = tep_db_query("select c.categories_id, cd.categories_name, c.categories_image, c.parent_id, c.sort_order, c.date_added, c.last_modified, cd.categories_htc_title_tag, cd.categories_htc_desc_tag, cd.categories_htc_keywords_tag, cd.categories_htc_description from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.categories_id = cd.categories_id and cd.language_id = '" . (int)$languages_id . "' and cd.categories_name like '%" . tep_db_input($search) . "%' order by c.sort_order, cd.categories_name"); } else { $categories_query = tep_db_query("select c.categories_id, cd.categories_name, c.categories_image, c.parent_id, c.sort_order, c.date_added, c.last_modified, cd.categories_htc_title_tag, cd.categories_htc_desc_tag, cd.categories_htc_keywords_tag, cd.categories_htc_description 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 c.sort_order, cd.categories_name"); // HTC EOC =================================================================== Around line 984, find $category_inputs_string = ''; $languages = tep_get_languages(); for ($i = 0, $n = sizeof($languages); $i < $n; $i++) { $category_inputs_string .= '<br>' . tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . ' ' . tep_draw_input_field('categories_name[' . $languages[$i]['id'] . ']'); ADD under it // HTC BOC $category_htc_title_string .= '<br>' . tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . ' ' . tep_draw_input_field('categories_htc_title_tag[' . $languages[$i]['id'] . ']'); $category_htc_desc_string .= '<br>' . tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . ' ' . tep_draw_input_field('categories_htc_desc_tag[' . $languages[$i]['id'] . ']'); $category_htc_keywords_string .= '<br>' . tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . ' ' . tep_draw_input_field('categories_htc_keywords_tag[' . $languages[$i]['id'] . ']'); $category_htc_description_string .= '<br>' . tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . ' ' . tep_draw_textarea_field('categories_htc_description[' . $languages[$i]['id'] . ']', 'hard', 30, 5, ''); // HTC EOC =================================================================== FIND around line 988 $contents[] = array('text' => '<br>' . TEXT_SORT_ORDER . '<br>' . tep_draw_input_field('sort_order', '', 'size="2"')); ADD under it // HTC BOC $contents[] = array('text' => '<br>' . 'Header Tags Category Title' . $category_htc_title_string); $contents[] = array('text' => '<br>' . 'Header Tags Category Description' . $category_htc_desc_string); $contents[] = array('text' => '<br>' . 'Header Tags Category Keywords' . $category_htc_keywords_string); $contents[] = array('text' => '<br>' . 'Header Tags Categories Description' . $category_htc_description_string); // HTC EOC =================================================================== FIND (about line 1013) $category_inputs_string = ''; $languages = tep_get_languages(); for ($i = 0, $n = sizeof($languages); $i < $n; $i++) { $category_inputs_string .= '<br>' . tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . ' ' . tep_draw_input_field('categories_name[' . $languages[$i]['id'] . ']', tep_get_category_name($cInfo->categories_id, $languages[$i]['id'])); ADD under it // HTC BOC $category_htc_title_string .= '<br>' . tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . ' ' . tep_draw_input_field('categories_htc_title_tag[' . $languages[$i]['id'] . ']', tep_get_category_htc_title($cInfo->categories_id, $languages[$i]['id'])); $category_htc_desc_string .= '<br>' . tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . ' ' . tep_draw_input_field('categories_htc_desc_tag[' . $languages[$i]['id'] . ']', tep_get_category_htc_desc($cInfo->categories_id, $languages[$i]['id'])); $category_htc_keywords_string .= '<br>' . tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . ' ' . tep_draw_input_field('categories_htc_keywords_tag[' . $languages[$i]['id'] . ']', tep_get_category_htc_keywords($cInfo->categories_id, $languages[$i]['id'])); $category_htc_description_string .= '<br>' . tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . ' ' . tep_draw_textarea_field('categories_htc_description[' . $languages[$i]['id'] . ']', 'hard', 30, 5, tep_get_category_htc_description($cInfo->categories_id, $languages[$i]['id'])); // HTC EOC =================================================================== FIND (about line 1022) $contents[] = array('text' => '<br>' . TEXT_EDIT_SORT_ORDER . '<br>' . tep_draw_input_field('sort_order', $cInfo->sort_order, 'size="2"')); ADD under it // HTC BOC $contents[] = array('text' => '<br>' . 'Header Tags Category Title' . $category_htc_title_string); $contents[] = array('text' => '<br>' . 'Header Tags Category Description' . $category_htc_desc_string); $contents[] = array('text' => '<br>' . 'Header Tags Category Keywords' . $category_htc_keywords_string); $contents[] = array('text' => '<br>' . 'Header Tags Categories Description' . $category_htc_description_string); // HTC EOC =================================================================== Make the following changes to admin/manufacturers.php FIND (about line 46) for ($i=0, $n=sizeof($languages); $i<$n; $i++) { $manufacturers_url_array = $HTTP_POST_VARS['manufacturers_url']; ADD under it //HTC BOC $manufacturers_htc_title_array = $HTTP_POST_VARS['manufacturers_htc_title_tag']; $manufacturers_htc_desc_array = $HTTP_POST_VARS['manufacturers_htc_desc_tag']; $manufacturers_htc_keywords_array = $HTTP_POST_VARS['manufacturers_htc_keywords_tag']; $manufacturers_htc_description_array = $HTTP_POST_VARS['manufacturers_htc_description']; //HTC EOC =================================================================== FIND (around line 56) $sql_data_array = array('manufacturers_url' => tep_db_prepare_input($manufacturers_url_array[$language_id])); REPLACE with //HTC BOC $sql_data_array = array('manufacturers_url' => tep_db_prepare_input($manufacturers_url_array[$language_id]), 'manufacturers_htc_title_tag' => (tep_not_null($manufacturers_htc_title_array[$language_id]) ? tep_db_prepare_input($manufacturers_htc_title_array[$language_id]) : $manufacturers_name), 'manufacturers_htc_desc_tag' => (tep_not_null($manufacturers_htc_desc_array[$language_id]) ? tep_db_prepare_input($manufacturers_htc_desc_array[$language_id]) : $manufacturers_name), 'manufacturers_htc_keywords_tag' => (tep_not_null($manufacturers_htc_keywords_array[$language_id]) ? tep_db_prepare_input($manufacturers_htc_keywords_array[$language_id]) : $manufacturers_name), 'manufacturers_htc_description' => tep_db_prepare_input($manufacturers_htc_description_array[$language_id])); //HTC EOC =================================================================== FIND (around line 156) $manufacturers_query_raw = "select manufacturers_id, manufacturers_name, manufacturers_image, date_added, last_modified from " . TABLE_MANUFACTURERS . " order by manufacturers_name"; REPLACE with //BOC HTC $manufacturers_query_raw = "select m.manufacturers_id, m.manufacturers_name, m.manufacturers_image, m.date_added, m.last_modified, mi.manufacturers_htc_title_tag from " . TABLE_MANUFACTURERS . " m LEFT JOIN " . TABLE_MANUFACTURERS_INFO . " mi on m.manufacturers_id = mi.manufacturers_id where mi.languages_id = '".$languages_id ."' order by m.manufacturers_name"; //EOC HTC =================================================================== FIND (around line 214) for ($i=0, $n=sizeof($languages); $i<$n; $i++) { $manufacturer_inputs_string .= '<br>' . tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . ' ' . tep_draw_input_field('manufacturers_url[' . $languages[$i]['id'] . ']'); ADD under it //BOC HTC $manufacturer_htc_title_string .= '<br>' . tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . ' ' . tep_draw_input_field('manufacturers_htc_title_tag[' . $languages[$i]['id'] . ']'); $manufacturer_htc_desc_string .= '<br>' . tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . ' ' . tep_draw_input_field('manufacturers_htc_desc_tag[' . $languages[$i]['id'] . ']'); $manufacturer_htc_keywords_string .= '<br>' . tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . ' ' . tep_draw_input_field('manufacturers_htc_keywords_tag[' . $languages[$i]['id'] . ']'); $manufacturer_htc_description_string .= '<br>' . tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . ' ' . tep_draw_textarea_field('manufacturers_htc_description[' . $languages[$i]['id'] . ']', 'hard', 30, 5, ''); // EOC HTC =================================================================== FIND (around line 224) $contents[] = array('text' => '<br>' . TEXT_MANUFACTURERS_URL . $manufacturer_inputs_string); ADD under it // HTC BOC $contents[] = array('text' => '<br>' . 'Header Tags Manufacturer Title' . $manufacturer_htc_title_string); $contents[] = array('text' => '<br>' . 'Header Tags Manufacturer Description' . $manufacturer_htc_desc_string); $contents[] = array('text' => '<br>' . 'Header Tags Manufacturer Keywords' . $manufacturer_htc_keywords_string); $contents[] = array('text' => '<br>' . 'Header Tags Manufacturer Description' . $manufacturer_htc_description_string); // HTC EOC =================================================================== FIND (around line 243) for ($i=0, $n=sizeof($languages); $i<$n; $i++) { $manufacturer_inputs_string .= '<br>' . tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . ' ' . tep_draw_input_field('manufacturers_url[' . $languages[$i]['id'] . ']', tep_get_manufacturer_url($mInfo->manufacturers_id, $languages[$i]['id'])); ADD under it //BOC HTC $manufacturer_htc_title_string .= '<br>' . tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . ' ' . tep_draw_input_field('manufacturers_htc_title_tag[' . $languages[$i]['id'] . ']', tep_get_manufacturer_htc_title($mInfo->manufacturers_id, $languages[$i]['id'])); $manufacturer_htc_desc_string .= '<br>' . tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . ' ' . tep_draw_input_field('manufacturers_htc_desc_tag[' . $languages[$i]['id'] . ']', tep_get_manufacturer_htc_desc($mInfo->manufacturers_id, $languages[$i]['id'])); $manufacturer_htc_keywords_string .= '<br>' . tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . ' ' . tep_draw_input_field('manufacturers_htc_keywords_tag[' . $languages[$i]['id'] . ']', tep_get_manufacturer_htc_keywords($mInfo->manufacturers_id, $languages[$i]['id'])); $manufacturer_htc_description_string .= '<br>' . tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . ' ' . tep_draw_textarea_field('manufacturers_htc_description[' . $languages[$i]['id'] . ']', 'hard', 30, 5, tep_get_manufacturer_htc_description($mInfo->manufacturers_id, $languages[$i]['id'])); // EOC HTC =================================================================== FIND (around line 253) $contents[] = array('text' => '<br>' . TEXT_MANUFACTURERS_URL . $manufacturer_inputs_string); ADD under it // HTC BOC $contents[] = array('text' => '<br>' . 'Header Tags Manufacturer Title' . $manufacturer_htc_title_string); $contents[] = array('text' => '<br>' . 'Header Tags Manufacturer Description' . $manufacturer_htc_desc_string); $contents[] = array('text' => '<br>' . 'Header Tags Manufacturer Keywords' . $manufacturer_htc_keywords_string); $contents[] = array('text' => '<br>' . 'Header Tags Manufacturer Description' . $manufacturer_htc_description_string); // HTC EOC =================================================================== =================================================================== That's all;-) ARE YOU KIDDING??? DO YOU EXPECT US TO MAKE ALL THOSE CHANGES JUST TO BE ABLE TO CHANGE THE META TAGS?? YOU COULD AT LEAST HAVE TOLD IN YOUR README THAT THIS PROCEDURE WAS SO RIDICULOUS LONG TO HAVE TIME TO STOP IN THE FIRST PLACE AND LOOK FOR SOME OTHER CONTRIB NOT THIS JOKE. Quote Link to comment Share on other sites More sharing options...
Jack_mcs Posted August 17, 2008 Author Share Posted August 17, 2008 Yeah this can fix it,thank you!But there are 2 bugs I till found: 1)If you don't select "root" in index.php,you must write tags for each category,cant leave blank,otherwise get this error: 2)in product_info.php,no matter you select "root" or not,product page meta must contain its category meta. These bugs are no problems for my store now since you solve the unique category meta issue.However if you can look at it that will help much for others. Thanks for great support :) 1 - If the title and tags are not filled in, is there a point to installing the contribution? In the note I added when I announced this version, I said it was possible to not have any tags at all. I see I should have explained further but I meant that that woud be an error. If one doesn't want unique titles for each page, this contribution shouldn't be used. 2 - When I select product_info.php in Page Control and turn off (uncheck) all options except for product, only the product name is displayed when on the product page. Are you saying this isn't the case with your shop? Jack Quote Support Links: For Hire: Contact me for anything you need help with for your shop: upgrading, hosting, repairs, code written, etc. All of My Addons Get the latest versions of my addons Recommended SEO Addons Link to comment Share on other sites More sharing options...
Jack_mcs Posted August 18, 2008 Author Share Posted August 18, 2008 (edited) A new version has been uploaded. It just fixes the mistakes mentioned since the last update. They are: - Corrected the upgrade instructions - Added fix to allow home page and category titles and tags to be unique - Fixed coding mistake that caused the meta tag options to not be recorded For those that had already upgraded to 3.0.5, just uploaded the admin/headertags_seo.php file from this contribution. Jack Edited August 18, 2008 by Jack_mcs Quote Support Links: For Hire: Contact me for anything you need help with for your shop: upgrading, hosting, repairs, code written, etc. All of My Addons Get the latest versions of my addons Recommended SEO Addons Link to comment Share on other sites More sharing options...
Tom14 Posted August 18, 2008 Share Posted August 18, 2008 (edited) Hi Jack. Many thanks for bugfixes. Now I have another problem with the special characters. I often must use the " in my titles (product name). After the " he cut everything in the keywords For example: Title: MS Mouse black "Fire" USB/PS 2 RX1000 In the Keywords you can only read: MS Mouse black Also he cut the default keywords after that, when you use it. Edited August 18, 2008 by Tom14 Quote Link to comment Share on other sites More sharing options...
pete2007 Posted August 18, 2008 Share Posted August 18, 2008 Does anyone else get this problem, after I have setup quite alot of pages, the information gets mixed up Example: My article page was setup in the title as: Article Database But now it listed as: Advanced Search I have checked several pages and some of them have gone awol and swapped with another title, is it because I have too many pages listed? Quote Link to comment Share on other sites More sharing options...
Jack_mcs Posted August 18, 2008 Author Share Posted August 18, 2008 Hi Jack. Many thanks for bugfixes. Now I have another problem with the special characters. I often must use the " in my titles (product name). After the " he cut everything in the keywords For example: Title: MS Mouse black "Fire" USB/PS 2 RX1000 In the Keywords you can only read: MS Mouse black Also he cut the default keywords after that, when you use it. You could try using " instead of ". Jack Quote Support Links: For Hire: Contact me for anything you need help with for your shop: upgrading, hosting, repairs, code written, etc. All of My Addons Get the latest versions of my addons Recommended SEO Addons Link to comment Share on other sites More sharing options...
psdealer Posted August 18, 2008 Share Posted August 18, 2008 1 - If the title and tags are not filled in, is there a point to installing the contribution? In the note I added when I announced this version, I said it was possible to not have any tags at all. I see I should have explained further but I meant that that woud be an error. If one doesn't want unique titles for each page, this contribution shouldn't be used. 2 - When I select product_info.php in Page Control and turn off (uncheck) all options except for product, only the product name is displayed when on the product page. Are you saying this isn't the case with your shop? Jack 1.yes we should write all tag,otherwise we don't need to install the add-on. 2.I do exactly the same as you,but not the same result in product meta. Are you sure you have written related category meta?in my side,if I don't write related category meta,I do get only product meta,but if I write related category,the product meta must contain category meta.... Can you check again? Thank you very much for your support!:) Quote Link to comment Share on other sites More sharing options...
Jack_mcs Posted August 18, 2008 Author Share Posted August 18, 2008 Does anyone else get this problem, after I have setup quite alot of pages, the information gets mixed up Example: My article page was setup in the title as: Article Database But now it listed as: Advanced Search I have checked several pages and some of them have gone awol and swapped with another title, is it because I have too many pages listed? No one's ever mentioned this problem, as I recall. For Article Manger pages, you have to be sure to alter the code in the head section of those files to use Header Tags SEO code. There's no limit to the number of pages so that is not a problem. You might want to try replacing the includes/header_tags.php file and try again. Jack Quote Support Links: For Hire: Contact me for anything you need help with for your shop: upgrading, hosting, repairs, code written, etc. All of My Addons Get the latest versions of my addons Recommended SEO Addons Link to comment Share on other sites More sharing options...
psdealer Posted August 18, 2008 Share Posted August 18, 2008 hi Jack,do you know how to quickly add pages to hundred social bookmark sites?or where to buy such software?I don't want to buy the service,software can help use on many sites. Quote Link to comment Share on other sites More sharing options...
Tom14 Posted August 18, 2008 Share Posted August 18, 2008 (edited) You could try using " instead of ". Jack Sorry, it doesn't help. I think I'm not the only one, which have the problem... Is there a possibility to make it in a code in the header_tags_seo? I mean like the URL SEO Contri with the special characters. For example: When " in the title tag, then write (nothing) or similar. Tom Edited August 18, 2008 by Tom14 Quote Link to comment Share on other sites More sharing options...
woopsa Posted August 18, 2008 Share Posted August 18, 2008 Hi Jack! Now Im trying this again, still without luck as it seems.. Im not getting the "New Home Page Title" title and no meta tags either.. Just STORE_NAME title and no description. I tried the TEST thing and got this back: Permissions Error: Permissions settings for the /home/web31579/domains/tdjdata.se/public_html/includes/header_tags.php file appear to be incorrect. Change to 755 Missing Database Error: The products_head_title_tag field cannot be found in the products_description table. The categories_htc_title_tag field cannot be found in the categories_description table. The manufacturers_htc_title_tag field cannot be found in the manufacturers_info table. The Header Tags head code for the index.php file cannot be found. The Header Tags head code for the product_info.php file cannot be found. I've checked all tables and there are no fields missing ..(?) Im on MS2 with STS and SEO URLS Quote Link to comment Share on other sites More sharing options...
pete2007 Posted August 18, 2008 Share Posted August 18, 2008 Is the newly updated version 'Header Tags SEO V 3.0.6' As it states: Thank you for the add-on you have uploaded! As the filesize is over 300k, it will be manually approved before becoming publicly available. Just wondering ig we have to wait until it uploads? Quote Link to comment Share on other sites More sharing options...
Jack_mcs Posted August 18, 2008 Author Share Posted August 18, 2008 hi Jack,do you know how to quickly add pages to hundred social bookmark sites?or where to buy such software?I don't want to buy the service,software can help use on many sites.No, I don't. Jack Quote Support Links: For Hire: Contact me for anything you need help with for your shop: upgrading, hosting, repairs, code written, etc. All of My Addons Get the latest versions of my addons Recommended SEO Addons Link to comment Share on other sites More sharing options...
Jack_mcs Posted August 18, 2008 Author Share Posted August 18, 2008 Sorry, it doesn't help. I think I'm not the only one, which have the problem... Is there a possibility to make it in a code in the header_tags_seo? I mean like the URL SEO Contri with the special characters. For example: When " in the title tag, then write (nothing) or similar. Tom It's possible but I'm not inclined to do it since it is considered bad practice to insert html code into the title. You can download an earlier version of this contribution, I don't recall which one, and get the code for the categories.php file. Code was added at some point to strip such codes so using that version of the file should allow it to work as you want. Jack Quote Support Links: For Hire: Contact me for anything you need help with for your shop: upgrading, hosting, repairs, code written, etc. All of My Addons Get the latest versions of my addons Recommended SEO Addons Link to comment Share on other sites More sharing options...
Jack_mcs Posted August 18, 2008 Author Share Posted August 18, 2008 Hi Jack! Now Im trying this again, still without luck as it seems.. Im not getting the "New Home Page Title" title and no meta tags either.. Just STORE_NAME title and no description. I tried the TEST thing and got this back: Permissions Error: Permissions settings for the /home/web31579/domains/tdjdata.se/public_html/includes/header_tags.php file appear to be incorrect. Change to 755 Missing Database Error: The products_head_title_tag field cannot be found in the products_description table. The categories_htc_title_tag field cannot be found in the categories_description table. The manufacturers_htc_title_tag field cannot be found in the manufacturers_info table. The Header Tags head code for the index.php file cannot be found. The Header Tags head code for the product_info.php file cannot be found. I've checked all tables and there are no fields missing ..(?) Im on MS2 with STS and SEO URLS The test code is a work in progress. I've already changed the code in it (next version) to test for missing fields since the code in there doesn't work for all servers and the missing code in the files won't apply to STS. Have you - checked for the headertags line in the STS admin settings? - Checked in Page Control for index.php to make sure text exists? - Looked in the database to make sure there is an entry for index.php for your language and that text exists for it? - Tried replacing the includes/header_tags.php file? - Inserting the code into includes/header_tags.php mentioned previously in this thread to isolate the problem? Jack Quote Support Links: For Hire: Contact me for anything you need help with for your shop: upgrading, hosting, repairs, code written, etc. All of My Addons Get the latest versions of my addons Recommended SEO Addons Link to comment Share on other sites More sharing options...
Jack_mcs Posted August 18, 2008 Author Share Posted August 18, 2008 Is the newly updated version 'Header Tags SEO V 3.0.6' As it states: Thank you for the add-on you have uploaded! As the filesize is over 300k, it will be manually approved before becoming publicly available. Just wondering ig we have to wait until it uploads? Yes. Jack Quote Support Links: For Hire: Contact me for anything you need help with for your shop: upgrading, hosting, repairs, code written, etc. All of My Addons Get the latest versions of my addons Recommended SEO Addons Link to comment Share on other sites More sharing options...
woopsa Posted August 18, 2008 Share Posted August 18, 2008 The test code is a work in progress. I've already changed the code in it (next version) to test for missing fields since the code in there doesn't work for all servers and the missing code in the files won't apply to STS. Have you - checked for the headertags line in the STS admin settings? - Checked in Page Control for index.php to make sure text exists? - Looked in the database to make sure there is an entry for index.php for your language and that text exists for it? - Tried replacing the includes/header_tags.php file? - Inserting the code into includes/header_tags.php mentioned previously in this thread to isolate the problem? Jack I have checked the STS admin setting, the index.php is in page control, the index.php in my language is present in database, I have tried replacing the includes/header_tags.php... When I turn STS off and insert the index.php code for normal shops I get title and meta.. but not with STS set to on.. How do I know if the header_tags.php code has been overwritten by STS code, or not? Is there a way? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.