Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

[contribution] Multilayer SEO Pop Out Menu


Recommended Posts

FWR Multilayer SEO Pop Out Menu

 

by FWR Media

 

www.fwrmedia.co.uk

 

Robert Fisher

 

[removed email address]

 

Version 1.1.0

 

13th May 2008

License: Refer to standard oscommerce license

 

 

Compatibility:

 

MS2.2, RC1, RC2, RC2a

 

PHP4, PHP5

 

MySQL4, MySQL5 (STRICT MODE)

 

Valid XHTML 1.0 TRANSITIONAL

 

Aren't there loads of menu contributions?

 

There are many menu contributions but there were none that met my needs (the needs of my customers). I wanted pure html links on the front page, not javascript ignored by the search engines. I also wanted these links going to my deepest categories.

 

I need/want valid XHTML 1.0 Transitional code, I also like clean source code.

 

Also very importantly many menu systems use huge numbers of queries, whereas this uses just one (albeit a full category scan). A full category scan can be over heavy for very big shops so this uses a cache system that remains cached until refreshed via the admin panel.

 

 

What is it/what does it do?

 

When you hover over a category, if the category has children it pops out showing the next layer of categories.

 

It does this for multiple category layers.

 

All links are shown in the source code as pure html links which can have SEO benefits because your deeper categories are shown on page one.

 

The user also benefits because it is only one click to a category.

 

 

Queries and efficiency

 

This menu system only uses one query but that query is a full categories scan. There is an in-built system of caching which stores the categories array as a serialized file.

 

The cache is very simplistic in as much as it does not have a "lifetime" however you can reset/rebuild the cache at any time via the admin settings.

 

 

Is it easy to install?

 

Very easy, only one piece of code needs to be added above the </head> to the catalog files (adding a stylesheet).

 

One small change is made to includes/column_left.php.

 

I will not be offering support for CSS issues or for issues related to CSS (Other than issues related to the standard package). If you break the CSS and therefore the menu by modding then upload the original CSS and start again.

 

Feedback both good and bad appreciated.

 

The package is http://addons.oscommerce.com/info/5942

Edited by Jan Zonjee
Link to comment
Share on other sites

  • Replies 188
  • Created
  • Last Reply

Top Posters In This Topic

Quick tip:

 

A tip if you want a quick test is install it and only change the above </head> code in one file .. namely catalog/index.php.

 

This way you can test with category links (only .. there won't be a stylesheet for other files) it is a 5 minute install and if you don't like it a 2 minute uninstall.

 

To delete the admin settings leaving your install totally clean just reupload the install script and type in your browser ..

 

www.mysite.com/AdminMenuOptions_installer.php?fwrmenu_delete and all DB settings for this contribution will be removed.

 

Which is also a very good reason to delete the install file from your server if you are keeping the contribution.

Edited by FWR Media
Link to comment
Share on other sites

For fun stuck this into a test server.

 

RC2a -- Godaddy server using all the latest code.

 

OsC had Chemo's Ultimate SEO 2d -- HTC SEO -- SID Killer -- Oh and FWR Security and Validation.

 

 

 

Fatal error: Call to a member function add_current_page() on a non-object in ------application_top

 

$navigation->add_current_page(); was the offending code at line 325

 

Remarked out line and got another error.

 

Because the function call was to a capitalized FWR file (php5). Put it lowercase and boom everything worked.

 

Looks nice too!!!!

Link to comment
Share on other sites

hi..

 

i already have untimate seo installed on my site .. will this work with that..?

thanks

 

nafri

 

Yes

Link to comment
Share on other sites

For fun stuck this into a test server.

 

RC2a -- Godaddy server using all the latest code.

 

OsC had Chemo's Ultimate SEO 2d -- HTC SEO -- SID Killer -- Oh and FWR Security and Validation.

Fatal error: Call to a member function add_current_page() on a non-object in ------application_top

 

$navigation->add_current_page(); was the offending code at line 325

 

Remarked out line and got another error.

 

Because the function call was to a capitalized FWR file (php5). Put it lowercase and boom everything worked.

 

Looks nice too!!!!

 

Good catch! my finger must have slipped naming that file :)

 

Odd though I develop in a PHP5 strict environment, wonder why it didn't error for me?

 

Anyway for users and until I upload a new version the file to change is ..

 

includes/functions/FWR_categories.php

 

Just rename to fwr_categories.php

Link to comment
Share on other sites

Hi,

 

how can I add a horizontal line <htr> between the category names?

 

Thx, Dirk

 

The menu stylesheet

 

catalog/fwr_suckertree_css_menu.php

 

Find the following groupo of code ..

/* Sub level menu links style */
.menudiv ul li a{

 

And change the border to e.g...

 

border-bottom: 1px dotted #ccc;

Link to comment
Share on other sites

Hi ladies & Gents

 

I have implemented the SEO pop Out Menu. This works really fine. Now I have started changing the menucategories in Admin. I have tried to FWR SEO function - reset menu, but nothing seems to help. Below is my settings :

 

Enable FWR Menu = true/false true

Choose sort params = categories_id or sort_order c.categories_id Info

Cache path: True uses standard osc DIR_FS_CACHE.

False will try to write to catalog root. false Info

Reset the categories menu. false Info

 

Anyone with a similar experience and fix ?

 

Kind regards Jan

Link to comment
Share on other sites

Hi ladies & Gents

 

I have implemented the SEO pop Out Menu. This works really fine. Now I have started changing the menucategories in Admin. I have tried to FWR SEO function - reset menu, but nothing seems to help. Below is my settings :

 

Enable FWR Menu = true/false true

Choose sort params = categories_id or sort_order c.categories_id Info

Cache path: True uses standard osc DIR_FS_CACHE.

False will try to write to catalog root. false Info

Reset the categories menu. false Info

 

Anyone with a similar experience and fix ?

 

Kind regards Jan

 

When you say "nothing seems to help" what is the problem?

 

You have modified your categories .. this I understand.

 

You then choose Reset the categories menu>true

 

Browse to your site and the first click will update those categories.

Link to comment
Share on other sites

When you say "nothing seems to help" what is the problem?

 

You have modified your categories .. this I understand.

 

You then choose Reset the categories menu>true

 

Browse to your site and the first click will update those categories.

 

Hi Robert.

 

I will try to refrace. I am running a 2.2rc2 version and have just added the SEO popup menu toolbox. I the started changing the categories in Admin. After changing the categories I reset the menu using the function that is provided "Set Reset=true". After having done this I reloaded the store, but the menu/categories have not changed. They are changed in the admin space - but not in the mall/store. The example i have used is that i have changed the name on one of the entries at 1. level - lets say from "XXX" to "YYY"

 

Regards .. Jan

Edited by Jan.Eckhardt
Link to comment
Share on other sites

Hi Robert.

 

I will try to refrace. I am running a 2.2rc2 version and have just added the SEO popup menu toolbox. I the started changing the categories in Admin. After changing the categories I reset the menu using the function that is provided "Set Reset=true". After having done this I reloaded the store, but the menu/categories have not changed. They are changed in the admin space - but not in the mall/store. The example i have used is that i have changed the name on one of the entries at 1. level - lets say from "XXX" to "YYY"

 

Regards .. Jan

 

Odd, I can't replicate this. Delete the cache file categories.ser and tell me what happens.

 

I wont respond for a while as I have to attend a funeral.

Link to comment
Share on other sites

My site has the following layout for categories

 

Cat1

Cat2

SubCat2-1

SubCat2-2

SubCat2-2-1

Cat3

Cat4

 

when installing SEO Pop Out Menu

My Main Categories list shows all the Categeories and the 3rd leve SubCategories all on the main menu like this

 

Cat1

Cat2 -with pop out working correctly

Cat3

Cat4

SubCat2-2

SubCat2-2-1

 

Not sure what in the code i can edit to remove the loop to display SubCat2-2-1 in the main menu.

Iassume it would be in fwr_cat_functions.php but my programmin abilities are limited.

Link to comment
Share on other sites

My site has the following layout for categories

 

Cat1

Cat2

SubCat2-1

SubCat2-2

SubCat2-2-1

Cat3

Cat4

 

when installing SEO Pop Out Menu

My Main Categories list shows all the Categeories and the 3rd leve SubCategories all on the main menu like this

 

Cat1

Cat2 -with pop out working correctly

Cat3

Cat4

SubCat2-2

SubCat2-2-1

 

Not sure what in the code i can edit to remove the loop to display SubCat2-2-1 in the main menu.

Iassume it would be in fwr_cat_functions.php but my programmin abilities are limited.

 

It shouldn't do that can I see a link?

Link to comment
Share on other sites

this is just a demo hence the missing images.

I was using this as a test before making the changes live

 

http://timewellspentgifts.com/demo/index.php

 

Everything after Seasonal shouldnt be there.

they should be showing under kitchen...>olive oils

 

Ok

 

Could you change in admin the ordering to sort_order please.

Link to comment
Share on other sites

Ok

 

Could you change in admin the ordering to sort_order please.

 

Again I can't replicate this, the code works as follows: -

 

	if($row['parent_id'] != '0') {
  // Do something
} else {
  // Do what your site is doing
}

 

Now if as you say those categories should be under kitchen>Olive oils then the parent id cannot be 0 and therefore what you are suggesting cannot happen.

 

Could you email the categories.ser file to admin(at)<myname>(dot)co(dot)uk please.

Edited by FWR Media
Link to comment
Share on other sites

Again I can't replicate this, the code works as follows: -

 

	if($row['parent_id'] != '0') {
  // Do something
} else {
  // Do what your site is doing
}

 

Now if as you say those categories should be under kitchen>Olive oils then the parent id cannot be 0 and therefore what you are suggesting cannot happen.

 

Could you email the categories.ser file to admin(at)<myname>(dot)co(dot)uk please.

 

I have noticed a harcoded languages_id all users please make the following change.

 

includes/functions/fwr_cat_functions.php

 

Replace the entire function function categoriesFullScan with the following: -

 

function categoriesFullScan($order_by){
 global $languages_id;
$sql = "
SELECT c.categories_id, c.parent_id, c.sort_order, cDescr.categories_name
FROM " . TABLE_CATEGORIES . " AS c
INNER JOIN " . TABLE_CATEGORIES_DESCRIPTION . " AS cDescr
WHERE c.categories_id = cDescr.categories_id
AND cDescr.language_id = '" . (int)$languages_id . "'
ORDER BY c.parent_id, $order_by, cDescr.categories_name
DESC";

 return tep_db_query($sql);
}

Edited by FWR Media
Link to comment
Share on other sites

Package updated to 1.1.1

 

Please update.

Link to comment
Share on other sites

Again I can't replicate this, the code works as follows: -

 

	if($row['parent_id'] != '0') {
  // Do something
} else {
  // Do what your site is doing
}

 

Now if as you say those categories should be under kitchen>Olive oils then the parent id cannot be 0 and therefore what you are suggesting cannot happen.

 

Could you email the categories.ser file to admin(at)<myname>(dot)co(dot)uk please.

 

I upgraded to 1.1.1 first and then set to sort_order

 

here is the output

 

a:37:{i:74;a:5:{s:2:"id";s:2:"74";s:6:"parent";s:1:"0";s:4:"sort";s:1:"0";s:4:"path";s:2:"74";s:4:"name";s:7:"For Her";}i:75;a:5:{s:2:"id";s:2:"75";s:6:"parent";s:1:"0";s:4:"sort";s:1:"1";s:4:"path";s:2:"75";s:4:"name";s:7:"For Him";}i:77;a:6:{s:2:"id";s:2:"77";s:6:"parent";s:1:"0";s:4:"sort";s:1:"2";s:4:"path";s:2:"77";s:4:"name";s:8:"For Kids";s:8:"children";s:16:"103,101,102,113,";}i:76;a:6:{s:2:"id";s:2:"76";s:6:"parent";s:1:"0";s:4:"sort";s:1:"3";s:4:"path";s:2:"76";s:4:"name";s:18:"For Mom & Baby";s:8:"children";s:4:"116,";}i:99;a:6:{s:2:"id";s:2:"99";s:6:"parent";s:1:"0";s:4:"sort";s:1:"4";s:4:"path";s:2:"99";s:4:"name";s:12:"Leisure Time";s:8:"children";s:8:"104,100,";}i:97;a:6:{s:2:"id";s:2:"97";s:6:"parent";s:1:"0";s:4:"sort";s:1:"5";s:4:"path";s:2:"97";s:4:"name";s:24:"Kitchen, Table & Bar";s:8:"children";s:24:"106,115,65,80,105,82,86,";}i:98;a:6:{s:2:"id";s:2:"98";s:6:"parent";s:1:"0";s:4:"sort";s:1:"6";s:4:"path";s:2:"98";s:4:"name";s:14:"Home & Spa";s:8:"children";s:7:"66,114,";}i:1;a:6:{s:2:"id";s:1:"1";s:6:"parent";s:1:"0";s:4:"sort";s:1:"8";s:4:"path";s:1:"1";s:4:"name";s:8:"For Pets";s:8:"children";s:4:"107,";}i:95;a:5:{s:2:"id";s:2:"95";s:6:"parent";s:1:"0";s:4:"sort";s:2:"10";s:4:"path";s:2:"95";s:4:"name";s:16:"Last Chance Club";}i:94;a:5:{s:2:"id";s:2:"94";s:6:"parent";s:1:"0";s:4:"sort";s:2:"11";s:4:"path";s:2:"94";s:4:"name";s:8:"Seasonal";}i:107;a:5:{s:2:"id";s:3:"107";s:6:"parent";s:1:"1";s:4:"sort";s:1:"0";s:4:"path";s:5:"1_107";s:4:"name";s:35:"Opoly Board Games for Animal Lovers";}i:116;a:5:{s:2:"id";s:3:"116";s:6:"parent";s:2:"76";s:4:"sort";s:1:"0";s:4:"path";s:6:"76_116";s:4:"name";s:5:"Kaloo";}i:103;a:5:{s:2:"id";s:3:"103";s:6:"parent";s:2:"77";s:4:"sort";s:1:"0";s:4:"path";s:6:"77_103";s:4:"name";s:35:"Professor Noggin's Card Game Series";}i:101;a:5:{s:2:"id";s:3:"101";s:6:"parent";s:2:"77";s:4:"sort";s:1:"0";s:4:"path";s:6:"77_101";s:4:"name";s:23:"Kids' Opoly Board Games";}i:102;a:5:{s:2:"id";s:3:"102";s:6:"parent";s:2:"77";s:4:"sort";s:1:"0";s:4:"path";s:6:"77_102";s:4:"name";s:26:"I Spy Picture Riddle Books";}i:113;a:5:{s:2:"id";s:3:"113";s:6:"parent";s:2:"77";s:4:"sort";s:1:"0";s:4:"path";s:6:"77_113";s:4:"name";s:10:"Dooodolls™";}i:85;a:5:{s:2:"id";s:2:"85";s:6:"parent";s:2:"82";s:4:"sort";s:1:"0";s:4:"path";s:3:"_85";s:4:"name";s:31:"L’Ottobratico Monocultivar EVOO";}i:82;a:5:{s:2:"id";s:2:"82";s:6:"parent";s:2:"97";s:4:"sort";s:1:"0";s:4:"path";s:5:"97_82";s:4:"name";s:10:"Olive Oils";}i:83;a:5:{s:2:"id";s:2:"83";s:6:"parent";s:2:"82";s:4:"sort";s:1:"2";s:4:"path";s:3:"_83";s:4:"name";s:31:"L’Aspromontano Virgin Olive Oil";}i:84;a:5:{s:2:"id";s:2:"84";s:6:"parent";s:2:"82";s:4:"sort";s:1:"3";s:4:"path";s:3:"_84";s:4:"name";s:32:"L’Aspromontano Extra Virgin (EV)";}i:89;a:5:{s:2:"id";s:2:"89";s:6:"parent";s:2:"86";s:4:"sort";s:1:"0";s:4:"path";s:3:"_89";s:4:"name";s:7:"Classic";}i:86;a:5:{s:2:"id";s:2:"86";s:6:"parent";s:2:"97";s:4:"sort";s:1:"0";s:4:"path";s:5:"97_86";s:4:"name";s:17:"Balsamic Vinegars";}i:90;a:5:{s:2:"id";s:2:"90";s:6:"parent";s:2:"86";s:4:"sort";s:1:"1";s:4:"path";s:3:"_90";s:4:"name";s:7:"Vintage";}i:91;a:5:{s:2:"id";s:2:"91";s:6:"parent";s:2:"86";s:4:"sort";s:1:"2";s:4:"path";s:3:"_91";s:4:"name";s:9:"Excellent";}i:93;a:5:{s:2:"id";s:2:"93";s:6:"parent";s:2:"86";s:4:"sort";s:1:"3";s:4:"path";s:3:"_93";s:4:"name";s:11:"Traditional";}i:92;a:5:{s:2:"id";s:2:"92";s:6:"parent";s:2:"86";s:4:"sort";s:1:"4";s:4:"path";s:3:"_92";s:4:"name";s:35:"Gift Boxes & Hand-Blown Bottles";}i:106;a:5:{s:2:"id";s:3:"106";s:6:"parent";s:2:"97";s:4:"sort";s:1:"0";s:4:"path";s:6:"97_106";s:4:"name";s:19:"VacuVin Bar Goodies";}i:115;a:5:{s:2:"id";s:3:"115";s:6:"parent";s:2:"97";s:4:"sort";s:1:"0";s:4:"path";s:6:"97_115";s:4:"name";s:8:"Truffles";}i:65;a:5:{s:2:"id";s:2:"65";s:6:"parent";s:2:"97";s:4:"sort";s:1:"0";s:4:"path";s:5:"97_65";s:4:"name";s:14:"The Garlic Box";}i:80;a:5:{s:2:"id";s:2:"80";s:6:"parent";s:2:"97";s:4:"sort";s:1:"0";s:4:"path";s:5:"97_80";s:4:"name";s:28:"Sylvain Tremblay's Table Art";}i:105;a:5:{s:2:"id";s:3:"105";s:6:"parent";s:2:"97";s:4:"sort";s:1:"0";s:4:"path";s:6:"97_105";s:4:"name";s:24:"Robert Lion Collectibles";}i:66;a:5:{s:2:"id";s:2:"66";s:6:"parent";s:2:"98";s:4:"sort";s:1:"0";s:4:"path";s:5:"98_66";s:4:"name";s:28:"Guillermo Forchino Comic Art";}i:114;a:5:{s:2:"id";s:3:"114";s:6:"parent";s:2:"98";s:4:"sort";s:1:"1";s:4:"path";s:6:"98_114";s:4:"name";s:39:"Lamp Paradise Catalytic, Effusion Lamps";}i:104;a:5:{s:2:"id";s:3:"104";s:6:"parent";s:2:"99";s:4:"sort";s:1:"0";s:4:"path";s:6:"99_104";s:4:"name";s:18:"Window Box Gardens";}i:100;a:5:{s:2:"id";s:3:"100";s:6:"parent";s:2:"99";s:4:"sort";s:1:"0";s:4:"path";s:6:"99_100";s:4:"name";s:17:"Opoly Board Games";}s:13:"menuid_string";s:98:""menu_74","menu_75","menu_77","menu_76","menu_99","menu_97","menu_98","menu_1","menu_95","menu_94"";s:9:"menuid_js";s:349:"<script language="javascript" type="text/javascript">

function get_menu_ids() {

var menuids=["menu_74","menu_75","menu_77","menu_76","menu_99","menu_97","menu_98","menu_1","menu_95","menu_94"] //Enter id(s) of SuckerTree UL menus, separated by commas

return menuids;

}

</script>

<script src="suckertree.js.php" type="text/javascript"></script>";}

Link to comment
Share on other sites

I upgraded to 1.1.1 first and then set to sort_order

 

here is the output

 

a:37:{i:74;a:5:{s:2:"id";s:2:"74";s:6:"parent";s:1:"0";s:4:"sort";s:1:"0";s:4:"path";s:2:"74";s:4:"name";s:7:"For Her";}i:75;a:5:{s:2:"id";s:2:"75";s:6:"parent";s:1:"0";s:4:"sort";s:1:"1";s:4:"path";s:2:"75";s:4:"name";s:7:"For Him";}i:77;a:6:{s:2:"id";s:2:"77";s:6:"parent";s:1:"0";s:4:"sort";s:1:"2";s:4:"path";s:2:"77";s:4:"name";s:8:"For Kids";s:8:"children";s:16:"103,101,102,113,";}i:76;a:6:{s:2:"id";s:2:"76";s:6:"parent";s:1:"0";s:4:"sort";s:1:"3";s:4:"path";s:2:"76";s:4:"name";s:18:"For Mom & Baby";s:8:"children";s:4:"116,";}i:99;a:6:{s:2:"id";s:2:"99";s:6:"parent";s:1:"0";s:4:"sort";s:1:"4";s:4:"path";s:2:"99";s:4:"name";s:12:"Leisure Time";s:8:"children";s:8:"104,100,";}i:97;a:6:{s:2:"id";s:2:"97";s:6:"parent";s:1:"0";s:4:"sort";s:1:"5";s:4:"path";s:2:"97";s:4:"name";s:24:"Kitchen, Table & Bar";s:8:"children";s:24:"106,115,65,80,105,82,86,";}i:98;a:6:{s:2:"id";s:2:"98";s:6:"parent";s:1:"0";s:4:"sort";s:1:"6";s:4:"path";s:2:"98";s:4:"name";s:14:"Home & Spa";s:8:"children";s:7:"66,114,";}i:1;a:6:{s:2:"id";s:1:"1";s:6:"parent";s:1:"0";s:4:"sort";s:1:"8";s:4:"path";s:1:"1";s:4:"name";s:8:"For Pets";s:8:"children";s:4:"107,";}i:95;a:5:{s:2:"id";s:2:"95";s:6:"parent";s:1:"0";s:4:"sort";s:2:"10";s:4:"path";s:2:"95";s:4:"name";s:16:"Last Chance Club";}i:94;a:5:{s:2:"id";s:2:"94";s:6:"parent";s:1:"0";s:4:"sort";s:2:"11";s:4:"path";s:2:"94";s:4:"name";s:8:"Seasonal";}i:107;a:5:{s:2:"id";s:3:"107";s:6:"parent";s:1:"1";s:4:"sort";s:1:"0";s:4:"path";s:5:"1_107";s:4:"name";s:35:"Opoly Board Games for Animal Lovers";}i:116;a:5:{s:2:"id";s:3:"116";s:6:"parent";s:2:"76";s:4:"sort";s:1:"0";s:4:"path";s:6:"76_116";s:4:"name";s:5:"Kaloo";}i:103;a:5:{s:2:"id";s:3:"103";s:6:"parent";s:2:"77";s:4:"sort";s:1:"0";s:4:"path";s:6:"77_103";s:4:"name";s:35:"Professor Noggin's Card Game Series";}i:101;a:5:{s:2:"id";s:3:"101";s:6:"parent";s:2:"77";s:4:"sort";s:1:"0";s:4:"path";s:6:"77_101";s:4:"name";s:23:"Kids' Opoly Board Games";}i:102;a:5:{s:2:"id";s:3:"102";s:6:"parent";s:2:"77";s:4:"sort";s:1:"0";s:4:"path";s:6:"77_102";s:4:"name";s:26:"I Spy Picture Riddle Books";}i:113;a:5:{s:2:"id";s:3:"113";s:6:"parent";s:2:"77";s:4:"sort";s:1:"0";s:4:"path";s:6:"77_113";s:4:"name";s:10:"Dooodolls™";}i:85;a:5:{s:2:"id";s:2:"85";s:6:"parent";s:2:"82";s:4:"sort";s:1:"0";s:4:"path";s:3:"_85";s:4:"name";s:31:"L’Ottobratico Monocultivar EVOO";}i:82;a:5:{s:2:"id";s:2:"82";s:6:"parent";s:2:"97";s:4:"sort";s:1:"0";s:4:"path";s:5:"97_82";s:4:"name";s:10:"Olive Oils";}i:83;a:5:{s:2:"id";s:2:"83";s:6:"parent";s:2:"82";s:4:"sort";s:1:"2";s:4:"path";s:3:"_83";s:4:"name";s:31:"L’Aspromontano Virgin Olive Oil";}i:84;a:5:{s:2:"id";s:2:"84";s:6:"parent";s:2:"82";s:4:"sort";s:1:"3";s:4:"path";s:3:"_84";s:4:"name";s:32:"L’Aspromontano Extra Virgin (EV)";}i:89;a:5:{s:2:"id";s:2:"89";s:6:"parent";s:2:"86";s:4:"sort";s:1:"0";s:4:"path";s:3:"_89";s:4:"name";s:7:"Classic";}i:86;a:5:{s:2:"id";s:2:"86";s:6:"parent";s:2:"97";s:4:"sort";s:1:"0";s:4:"path";s:5:"97_86";s:4:"name";s:17:"Balsamic Vinegars";}i:90;a:5:{s:2:"id";s:2:"90";s:6:"parent";s:2:"86";s:4:"sort";s:1:"1";s:4:"path";s:3:"_90";s:4:"name";s:7:"Vintage";}i:91;a:5:{s:2:"id";s:2:"91";s:6:"parent";s:2:"86";s:4:"sort";s:1:"2";s:4:"path";s:3:"_91";s:4:"name";s:9:"Excellent";}i:93;a:5:{s:2:"id";s:2:"93";s:6:"parent";s:2:"86";s:4:"sort";s:1:"3";s:4:"path";s:3:"_93";s:4:"name";s:11:"Traditional";}i:92;a:5:{s:2:"id";s:2:"92";s:6:"parent";s:2:"86";s:4:"sort";s:1:"4";s:4:"path";s:3:"_92";s:4:"name";s:35:"Gift Boxes & Hand-Blown Bottles";}i:106;a:5:{s:2:"id";s:3:"106";s:6:"parent";s:2:"97";s:4:"sort";s:1:"0";s:4:"path";s:6:"97_106";s:4:"name";s:19:"VacuVin Bar Goodies";}i:115;a:5:{s:2:"id";s:3:"115";s:6:"parent";s:2:"97";s:4:"sort";s:1:"0";s:4:"path";s:6:"97_115";s:4:"name";s:8:"Truffles";}i:65;a:5:{s:2:"id";s:2:"65";s:6:"parent";s:2:"97";s:4:"sort";s:1:"0";s:4:"path";s:5:"97_65";s:4:"name";s:14:"The Garlic Box";}i:80;a:5:{s:2:"id";s:2:"80";s:6:"parent";s:2:"97";s:4:"sort";s:1:"0";s:4:"path";s:5:"97_80";s:4:"name";s:28:"Sylvain Tremblay's Table Art";}i:105;a:5:{s:2:"id";s:3:"105";s:6:"parent";s:2:"97";s:4:"sort";s:1:"0";s:4:"path";s:6:"97_105";s:4:"name";s:24:"Robert Lion Collectibles";}i:66;a:5:{s:2:"id";s:2:"66";s:6:"parent";s:2:"98";s:4:"sort";s:1:"0";s:4:"path";s:5:"98_66";s:4:"name";s:28:"Guillermo Forchino Comic Art";}i:114;a:5:{s:2:"id";s:3:"114";s:6:"parent";s:2:"98";s:4:"sort";s:1:"1";s:4:"path";s:6:"98_114";s:4:"name";s:39:"Lamp Paradise Catalytic, Effusion Lamps";}i:104;a:5:{s:2:"id";s:3:"104";s:6:"parent";s:2:"99";s:4:"sort";s:1:"0";s:4:"path";s:6:"99_104";s:4:"name";s:18:"Window Box Gardens";}i:100;a:5:{s:2:"id";s:3:"100";s:6:"parent";s:2:"99";s:4:"sort";s:1:"0";s:4:"path";s:6:"99_100";s:4:"name";s:17:"Opoly Board Games";}s:13:"menuid_string";s:98:""menu_74","menu_75","menu_77","menu_76","menu_99","menu_97","menu_98","menu_1","menu_95","menu_94"";s:9:"menuid_js";s:349:"<script language="javascript" type="text/javascript">

function get_menu_ids() {

var menuids=["menu_74","menu_75","menu_77","menu_76","menu_99","menu_97","menu_98","menu_1","menu_95","menu_94"] //Enter id(s) of SuckerTree UL menus, separated by commas

return menuids;

}

</script>

<script src="suckertree.js.php" type="text/javascript"></script>";}

 

Ok I need some help from you badur to find the problem.

 

Could you do an SQL dump of just two tables ..

 

categories

categories_description

 

and email them to me admin(at)fwrmedia(dot)co(dot)uk

Link to comment
Share on other sites

@ badur

 

Please try replacing the function buildCategoriesCache in includes/functions/fwr_cat_functions.php

 

With ..

 

function buildCategoriesCache($filepath, $order_by, $languages_id) {
$result = categoriesFullScan($order_by, $languages_id);

$javamenustring = '';
while($row = tep_db_fetch_array($result)){
 $categories[$row['categories_id']] = array('id'	   => $row['categories_id'],
										 'parent'   => $row['parent_id'],
										 'sort'	 => $row['sort_order'],
										 'path'	 => '',
										 'name'	 => htmlentities($row['categories_name']));

}
tep_db_free_result($result);
foreach($categories as $cat_id => $key) {
if($key['parent'] != '0'){
( isset($categories[$key['parent']]['children']) && $categories[$key['parent']]['children'] !== NULL ? NULL : $categories[$key['parent']]['children'] = '' );
$categories[$key['parent']]['children'] .= $key['id'] . ',';
$categories[$key['id']]['path'] .= $categories[$key['parent']]['path'] . '_' . $key['id'];
} else {
$javamenustring .= '"menu_' . $key['id'] . '",';
$categories[$key['id']]['path'] .= $key['id'];
} 
}
$javamenustring = rtrim  ($javamenustring, ',');
$categories['menuid_string'] = $javamenustring;
$categories['menuid_js'] =
<<<JSSCRIPT
<script language="javascript" type="text/javascript">
function get_menu_ids() {
var menuids=[$javamenustring] //Enter id(s) of SuckerTree UL menus, separated by commas
return menuids;
}
</script>
<script src="suckertree.js.php" type="text/javascript"></script>
JSSCRIPT;

// Serialize and save the $categories array
$serialized = serialize($categories);
saveSerializedCategories($filepath, $serialized, $languages_id);

$sql = "
UPDATE " . TABLE_CONFIGURATION . "
SET `configuration_value` = 'false'
WHERE `configuration_key` = 'FWR_MENU_RESET'";
tep_db_query($sql) or die('Update failed ' . mysql_error());
return $categories;
}

 

Then reset the cache.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...