Jump to content
Jack_mcs

All Products SEO

Recommended Posts

Yes, that is what I meant. If you have a purchased template, some of them don't use the categories box file. They copy its contents and place it in another file, or hand code their own. Try renaming the box/categories.php file so that the categories box doesn't exist as far as the code is concerned. The refresh your shop. If the categories box still loads, then that is what's going on. Other than that, I can't think of anything else that would cause it.

 

Well son of a *****, good call. I guess I have a template then, never even knew. Okay now I have to find out which one and where the heck my category file (then one that is being used) is.

 

Thank you for helping me diagnose this Jack.

Share this post


Link to post
Share on other sites

Jack,

 

Is the catalog>includes>boxes>dm_categories.php a stock file for a standard osc setup?

 

Because I have found a "dynamenu" folder and I am taking a guess that "dm" in dm_categories.php would stand for DynaMenu.

 

And I went into my catalog>includes>column_left.php file and found:

 

if ((USE_CACHE == 'true') && empty($SID)) {
   echo tep_cache_categories_box();
 } else {
  // include(DIR_WS_BOXES . 'categories.php');
  include(DIR_WS_BOXES . 'dm_categories.php');

 

So since the standard categories.php file has been commented out, what changes to the All Products code do I make to have the code changed so that anything related to

 

catalog>includes>boxes>categories.php

 

now goes to

 

catalog>includes>boxes>dm_categories.php

 

Is that an option?

Share this post


Link to post
Share on other sites

Jack,

 

Is the catalog>includes>boxes>dm_categories.php a stock file for a standard osc setup?

 

Because I have found a "dynamenu" folder and I am taking a guess that "dm" in dm_categories.php would stand for DynaMenu.

 

And I went into my catalog>includes>column_left.php file and found:

 

if ((USE_CACHE == 'true') && empty($SID)) {
echo tep_cache_categories_box();
 } else {
  // include(DIR_WS_BOXES . 'categories.php');
  include(DIR_WS_BOXES . 'dm_categories.php');

 

So since the standard categories.php file has been commented out, what changes to the All Products code do I make to have the code changed so that anything related to

 

catalog>includes>boxes>categories.php

 

now goes to

 

catalog>includes>boxes>dm_categories.php

 

Is that an option?

Yes, the dm_categories file is a replacement from that contribution. If that is working, then you need to edit the dm_categories file the same way the categories file is changed. Instructions are in the install file.

Share this post


Link to post
Share on other sites

Yes, the dm_categories file is a replacement from that contribution. If that is working, then you need to edit the dm_categories file the same way the categories file is changed. Instructions are in the install file.

 

That is what I initially did.

 

And it got the "View All Products link to appear and take me to the "All Products page.

 

However, once on the All Products page the links along the top A-Z and 0-9 would work, but the links along the bottom of the results page (for page 1, page 2, page 3, Next, Prev, etc...) would not work. If you click on any of those links to try to get to another page of the All Products results, it would bring you back to the home/index page.

 

But the What's New and Specials pages/links all work fine

Share this post


Link to post
Share on other sites

 

That is what I initially did.

 

And it got the "View All Products link to appear and take me to the "All Products page.

 

However, once on the All Products page the links along the top A-Z and 0-9 would work, but the links along the bottom of the results page (for page 1, page 2, page 3, Next, Prev, etc...) would not work. If you click on any of those links to try to get to another page of the All Products results, it would bring you back to the home/index page.

 

But the What's New and Specials pages/links all work fine

Then there must be sometihng in your files causing a problem and that isn't something I can solve in free support.

Share this post


Link to post
Share on other sites

I'm having a bit of a problem I use linked products in my shop. When i click view all products i shows the linked product and all it's duplicates. Is there any way I can make i show one only one of each products?

Edited by Kennith

Share this post


Link to post
Share on other sites

I'm having a bit of a problem I use linked products in my shop. When i click view all products i shows the linked product and all it's duplicates. Is there any way I can make i show one only one of each products?

This has been fixed in the latest version but it is not ready to upload. I think this will fix that problem though. In all-products.php, find the two lines that start with "$exist_query = tep_db_quer." Change the word left in those lines to inner.

Share this post


Link to post
Share on other sites

A new version has been uploaded with these changes:

 

- Added includes/filenames.php to the included files.

- Added includes/languages/english.php to the included files.

- Added code to exclude quotes if that contribution is installed.

- Added filter by category to the all products page.

- Added a Price List option.

- Changed mysql command to prevent duplicate entries for linked/duplicate products.

- Corrected mysql mistake in all-products.php.

- Made it 2.3 compatible.

- Optimized database calls in all-products.php.

Share this post


Link to post
Share on other sites

Hi Jack, doing an upgrade on my 2.2 shops from 1.2 to 1.3.

 

For the upgrade instruction there appears to be redundant sql as follows:

 

From update instructions:
INSERT INTO configuration (configuration_id, configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added, use_function) VALUES (NULL, 'Display Quick Search Box', 'ALL_PRODUCTS_SEO_DISPLAY_QUICK_SEARCH_BOX', 'false', 'Display the quick search box in the column.', '279', '13', 'tep_cfg_select_option(array(\'true\', \'false\'), ', now(), NULL);
From original install:
INSERT INTO configuration (configuration_id, configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added, use_function) VALUES (NULL, 'Display Quick Search Box', 'ALL_PRODUCTS_SEO_DISPLAY_QUICK_SEARCH_BOX', 'false', 'Display the quick search box in the column.', '279', '13', 'tep_cfg_select_option(array(\'true\', \'false\'), ', now(), NULL);
From update instructions:
INSERT INTO configuration (configuration_id, configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added, use_function) VALUES (NULL, 'Maximum Box Columns', 'ALL_PRODUCTS_SEO_MAXIMUM_BOX_COLUMNS', '6', 'Controls how many columns are shown in the quick search box.', '279', '30', NULL, now(), NULL);
From original install:
INSERT INTO configuration (configuration_id, configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added, use_function) VALUES (NULL, 'Maximum Box Columns', 'ALL_PRODUCTS_SEO_MAXIMUM_BOX_COLUMNS', '6', 'Controls how many columns are shown in the quick search box.', '279', '30', NULL, now(), NULL);

 

Also the update instructions looks like it was missing the code for the price list page. I borrowed that from the files in the download though.

 

All said, it appears to be working great, the price list page is very nice. The printable version option was a pleasant surprise.

 

Edit...just noticed that after viewing the price list page, when I go back to the home page, the price list link disappears. Can't seem to get it back right now....

 

I'll work on fresh installs for the 2.3.1 shops and get some feed back to you.

 

As always...much appreciated.

Edited by altoid

I am not a professional webmaster or PHP coder by background or training but I will try to help as best I can.

I remember what it was like when I first started with osC. It can be overwhelming.

However, I strongly recommend considering hiring a professional for extensive site modifications, site cleaning, etc.

There are several good pros here on osCommerce. Look around, you'll figure out who they are.

Share this post


Link to post
Share on other sites

Jack, couple of things. If anyone has the "view price list" link disappearing after install, tools>cache control>categories box, clear that. This one had me confused for a day or so.

 

Secondly, on the price list page, there's an error where the tag cloud should be, (header tags seo installed).

 

It's:

 

Fatal error: Call to undefined function gethtstagcloudlink() in /home/myacct/public_html/includes/headertags_seo_tagcloud_footer.php on line 61

 

The tag cloud works on all other pages. Any ideas on that?

Edited by altoid

I am not a professional webmaster or PHP coder by background or training but I will try to help as best I can.

I remember what it was like when I first started with osC. It can be overwhelming.

However, I strongly recommend considering hiring a professional for extensive site modifications, site cleaning, etc.

There are several good pros here on osCommerce. Look around, you'll figure out who they are.

Share this post


Link to post
Share on other sites

Secondly, on the price list page, there's an error where the tag cloud should be, (header tags seo installed).

 

It's:

 

Fatal error: Call to undefined function gethtstagcloudlink() in /home/myacct/public_html/includes/headertags_seo_tagcloud_footer.php on line 61

 

The tag cloud works on all other pages. Any ideas on that?

I've only seen that error when the headertags_seo_tagcloud_footer.php file doesn't have the required include statement for the functions. That will be fixed in the next version but I think I posted the fix in the Header Tags thread. If not, add this line after the first */ in that file:
include_once(DIR_WS_FUNCTIONS . 'header_tags.php');

Share this post


Link to post
Share on other sites

I've only seen that error when the headertags_seo_tagcloud_footer.php file doesn't have the required include statement for the functions. That will be fixed in the next version but I think I posted the fix in the Header Tags thread. If not, add this line after the first */ in that file:

include_once(DIR_WS_FUNCTIONS . 'header_tags.php');

 

Yea...you did answer that the head tags thread, which I found, and it was me that ask the question over there, but obviously didn't remember I did. Geeez....... :blush:

 

anyway, that did it. Thanks


I am not a professional webmaster or PHP coder by background or training but I will try to help as best I can.

I remember what it was like when I first started with osC. It can be overwhelming.

However, I strongly recommend considering hiring a professional for extensive site modifications, site cleaning, etc.

There are several good pros here on osCommerce. Look around, you'll figure out who they are.

Share this post


Link to post
Share on other sites

Jack, working on a 2.3.1 install of all products seo. Not your issue, but I'd like to bring up that myself and probably others would be using Kymations accordion categories add on in the 2.3.1 shops, which did't fit right off for adding the code intended for the stock categories.php. At least not that I can see anyway. (limited coding skills here)

 

I am thinking of placing the code that produces the links to the all products page and the price list page in the search box there at the bottom instead. Looking at the code you used in the what's new box for example, I think I see how that could be modified for use in the search box. Can you see why that could not be done?

 

Thanks


I am not a professional webmaster or PHP coder by background or training but I will try to help as best I can.

I remember what it was like when I first started with osC. It can be overwhelming.

However, I strongly recommend considering hiring a professional for extensive site modifications, site cleaning, etc.

There are several good pros here on osCommerce. Look around, you'll figure out who they are.

Share this post


Link to post
Share on other sites

I don't support any contribution-specific changes in support threads because there are too many.

Share this post


Link to post
Share on other sites

I don't support any contribution-specific changes in support threads because there are too many.

 

OK, I think it will work. I'll give it a try as it will be nice to have both.


I am not a professional webmaster or PHP coder by background or training but I will try to help as best I can.

I remember what it was like when I first started with osC. It can be overwhelming.

However, I strongly recommend considering hiring a professional for extensive site modifications, site cleaning, etc.

There are several good pros here on osCommerce. Look around, you'll figure out who they are.

Share this post


Link to post
Share on other sites

Jack, I got that working using another box for the all products and price list links. This is on a 2.3.1 shop.

 

Apparently price_list.php doesn't respond to the settings in configuration. I wanted to remove the products quantity. I see in the price_list.php code there is a place to set quantity display to false, however when I do that the table on the price list page loses all the data.

 

Is there any way to get the prices to pick up the specials formatting? (Red)

 

Otherwise I'm good with it as is for now as it serves the purpose just fine.

 

Thank you.


I am not a professional webmaster or PHP coder by background or training but I will try to help as best I can.

I remember what it was like when I first started with osC. It can be overwhelming.

However, I strongly recommend considering hiring a professional for extensive site modifications, site cleaning, etc.

There are several good pros here on osCommerce. Look around, you'll figure out who they are.

Share this post


Link to post
Share on other sites

Apparently price_list.php doesn't respond to the settings in configuration.

 

Is there any way to get the prices to pick up the specials formatting? (Red)

 

Just another case of too much pre-holiday cheer (there must be a holdiay somewhere). :) Here's the correct file. It is in the before 2.3 directory but I forgot to convert it. Just replace everything in the price_list.php file with this.

<?php
/*
$Id: price_list.php, v 1.0
All Products SEO v1.0 by Jack_mcs, http://www.oscommerce-solution.com
osCommerce, Open Source E-Commerce Solutions
http://www.oscommerce.com
Copyright (c) 2004 osCommerce
Portions Copyright 2012 oscommerce-solution.com
Released under the GNU General Public License

*/
require('includes/application_top.php');
include(DIR_WS_LANGUAGES . $language . '/' . FILENAME_ALLPRODS_SEO);
require(DIR_WS_FUNCTIONS . FILENAME_ALLPRODS_SEO);
// the following cPath references come from application_top.php
$category_depth = 'top';
if (isset($cPath) && tep_not_null($cPath)) {
$categories_products_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS_TO_CATEGORIES . " where categories_id = '" . (int)$current_category_id . "'");
$cateqories_products = tep_db_fetch_array($categories_products_query);
if ($cateqories_products['total'] > 0) {
 $category_depth = 'products'; // display products
} else {
 $category_parent_query = tep_db_query("select count(*) as total from " . TABLE_CATEGORIES . " where parent_id = '" . (int)$current_category_id . "'");
 $category_parent = tep_db_fetch_array($category_parent_query);
 if ($category_parent['total'] > 0) {
  $category_depth = 'nested'; // navigate through the categories
 } else {
  $category_depth = 'products'; // category has no products, but display the 'no products' message
 }
}
}
$print = (isset($_GET['print']) ? $_GET['print'] : 'no');
require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_DEFAULT);
$breadcrumb->add(TITLE_PRICE, tep_href_link(FILENAME_ALLPRODS_SEO_PRICE_LIsT));
 require(DIR_WS_INCLUDES . 'template_top.php');
?>

<!-- body //-->
<table border="0" width="100%" cellspacing="3" cellpadding="3">
<tr>
<!-- body_text //-->
<td valign="top">
 <table align="center" border="0" cellspacing="0" cellpadding="2" width="100%">
   <tr>
   <td class="pageHeading"><?php echo TITLE_PRICE . ' ' . date("Y"); ?>
	 <sup>
	   <?php  // print function and edit remove by willross
	    if ($print == "yes") {
		   echo '<a class="smallText" style="font-size:10px;" title="Printable version" href="' . tep_href_link(FILENAME_ALLPRODS_SEO_PRICE_LIST, '', 'NONSSL') . '">' . "[full view]" . '</a>';
	    } else {
		   echo '<a class="smallText" style="font-size:10px;" title="Printable version" href="' . tep_href_link(FILENAME_ALLPRODS_SEO_PRICE_LIST, 'print=yes', 'NONSSL') . '">' . "[printable version]" . '</a>';
	    }
	    ?>
	 </sup>
   </td>
 </tr>
 <tr>
  <td align="center"><table border="1" width="100%" cellpadding="4">
   <tr>
   <td>
    <table width="100%" border="0" cellspacing="1" cellpadding="0">
	 <?php
	  AP_GetGroup(0,0);
	 ?>
    </table></td>
   </tr>
  </table></td>
 </tr>
 </table>
</td>
<!-- body_text_eof //-->
</tr>
</table>
<!-- body_eof //-->
<?php
 if ($print != "yes") {
 require(DIR_WS_INCLUDES . 'template_bottom.php');
 require(DIR_WS_INCLUDES . 'application_bottom.php');
 }
?>

Share this post


Link to post
Share on other sites

Just another case of too much pre-holiday cheer (there must be a holdiay somewhere). :) Here's the correct file. It is in the before 2.3 directory but I forgot to convert it. Just replace everything in the price_list.php file with this.

 

That did it, thanks. My hunch is that when a customer would visit the price list page, it would be pretty easy to scan through the categories/products there to see what's available. Seems pretty customer friendly.

 

I'll be installing all products in my second 2.3.1 shop. Thanks


I am not a professional webmaster or PHP coder by background or training but I will try to help as best I can.

I remember what it was like when I first started with osC. It can be overwhelming.

However, I strongly recommend considering hiring a professional for extensive site modifications, site cleaning, etc.

There are several good pros here on osCommerce. Look around, you'll figure out who they are.

Share this post


Link to post
Share on other sites

i am gettining this error when you click on a number or letter how can i fix it

 

Not Found

 

 

The requested URL /all-products.php-by-A.html was not found on this server.

 

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

 

thanks

lenard

Share this post


Link to post
Share on other sites

i am gettining this error when you click on a number or letter how can i fix it

 

Not Found

 

The requested URL /all-products.php-by-A.html was not found on this server.

 

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

The first problem is most likely due to your url rewriter not having the required code to handle the rewrites. To verify that, turn the rewrtier off in admin and try the links again.

 

The second is saying you don't have a 404 page setup for your site, It is not related to this contribution. A 404 page is not required but all shops should have them.

Share this post


Link to post
Share on other sites

It won't help to just have that. The actual url rewriter has to be written to handle it. Ultimate SEO V2.2d, which is what I recommend, and, I think, SEO 5 Pro, has it built-in.

Share this post


Link to post
Share on other sites

Finally this great add-on is available for the 2.3.1 OSC release. Great work, Jack_mcs!

 

I was wondering if it would be possible to not sort the products at the all_products.php page alphabetically but sort it like the best sellers (most sold products on top). Would that be easy doable by extending the SQL query and adding a different sorting?

 

I'm no PHP/SQL crack so any advice would be appreciated!

 

Thanks,

Mazi

Share this post


Link to post
Share on other sites

Finally this great add-on is available for the 2.3.1 OSC release. Great work, Jack_mcs!

 

I was wondering if it would be possible to not sort the products at the all_products.php page alphabetically but sort it like the best sellers (most sold products on top). Would that be easy doable by extending the SQL query and adding a different sorting?

 

I'm no PHP/SQL crack so any advice would be appreciated!

 

Thanks,

Mazi

In the all products file, you could change this line
$listing_sql .= " order by pd.products_name";

to

$listing_sql .= " order by p.products_ordered";

I have tested it but I think it iwill work.

Edited by Jack_mcs

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

×