Over years a lot of you requested having Manufacturers listed in a drop down list in Customer area. This customization will allow you to keep default XC behavior, but having the drop down list too.
All you need is configuring as you want Manufacturers menu in Modules -> Manufacturers with a few clicks. This one is a very easy customization.
Steps you have to do:
1) Edit [XC_Dir]/skin/common_files/modules/Manufacturers/menu_manufacturers.tpl
2) Create 2 new configuration settings for using them in Manufacturers module settings
3) Create 2 new language Labels
STEP 1 - File menu_manufacturers.tpl
original (default XC Gold+ 4.5.4)
PHP Code:
{*
$Id: menu_manufacturers.tpl,v 1.1.2.2 2010/12/09 14:00:53 aim Exp $
vim: set ts=2 sw=2 sts=2 et:
*}
{if $manufacturers_menu ne ''}
{capture name=menu}
<ul>
{foreach from=$manufacturers_menu item=m}
<li><a href="manufacturers.php?manufacturerid={$m.manufacturerid}">{$m.manufacturer|amp}</a></li>
{/foreach}
{if $show_other_manufacturers}
<li><a href="manufacturers.php">{$lng.lbl_other_manufacturers}</a></li>
{/if}
</ul>
{/capture}
{include file="customer/menu_dialog.tpl" title=$lng.lbl_manufacturers content=$smarty.capture.menu additional_class="menu-manufacturers"}
{/if}
modified
PHP Code:
{*
$Id: menu_manufacturers.tpl,v 1.1.2.2 2010/12/09 14:00:53 aim Exp $
vim: set ts=2 sw=2 sts=2 et:
*}
{if $manufacturers_menu ne ''}
{capture name=menu}
{if $config.Manufacturers.manufacturers_menu_drop_down eq 'Y'}
<ul>
<select name='manufacturers' onchange="javascript:if (this.value) self.location=this.value;">
<option value="">{$lng.lbl_manufacturers_drop_down}</option>
{foreach from=$manufacturers item=m}
<li>
{if $m.manufacturerid neq 0}
<option value="manufacturers.php?manufacturerid={$m.manufacturerid}">{$m.manufacturer|amp}</option>
</li>
{/if}
{/foreach}
</select>
{if $config.Manufacturers.manufacturers_menu_view_all eq 'Y'}
<li><a href="manufacturers.php">{$lng.lbl_manufacturers_view_all}</a></li>
{/if}
</ul>
{else}
<ul>
{foreach from=$manufacturers_menu item=m}
<li><a href="manufacturers.php?manufacturerid={$m.manufacturerid}">{$m.manufacturer|amp}</a></li>
{/foreach}
{if $show_other_manufacturers}
<li><a href="manufacturers.php">{$lng.lbl_other_manufacturers}</a></li>
{/if}
</ul>
{/if}
{/capture}
{include file="customer/menu_dialog.tpl" title=$lng.lbl_manufacturers content=$smarty.capture.menu additional_class="menu-manufacturers"}
{/if}
STEP 2 - Create 2 new configuration settings for using them in Manufacturers module settings
-
manufacturers_menu_drop_down - by default it is checked. It will group all Manufacturers in a drop down list. If you uncheck it you will see the default XC behavior, using Manufacturers list limit value.
-
manufacturers_menu_view_all - by default it is checked. It will show "View All" link at the bottom of drop down list. If you uncheck it you won't see this link.
Here are SQL statements for creating these 2 new options.
Code:
insert into `xcart_config` (`name`, `comment`, `value`, `category`, `orderby`, `type`, `defvalue`, `variants`, `validation`) values('manufacturers_menu_drop_down','Group all manufacturers in a drop down list','Y','Manufacturers','5','checkbox','N','','');
insert into `xcart_config` (`name`, `comment`, `value`, `category`, `orderby`, `type`, `defvalue`, `variants`, `validation`) values('manufacturers_menu_view_all','Include \"View All\" option when drop down list is used','Y','Manufacturers','6','checkbox','N','','');
STEP 3 - Create 2 new language Labels
-
lbl_manufacturers_drop_down - this is for first option in drop down list set to "Please select".
-
lbl_manufacturers_view_all - this label is for "View All" text.
Here are SQL statements for creating these 2 new options.
Code:
insert into `xcart_languages` (`code`, `name`, `value`, `topic`) values('en','lbl_manufacturers_drop_down','Please select','Labels');
insert into `xcart_languages` (`code`, `name`, `value`, `topic`) values('en','lbl_manufacturers_view_all','View All','Labels');
Once you do these small changes cleanup your website cache (in my case it worked without cleaning up). If you visit again you should find the new results (see the attachments).
Do not forget to backup the data before starting modification. And create a few Manufacturers in Back End (XC is not coming with any Manufacturers created).
>> If you like this customization please click [Thanks] button for this post. Having lots of [Thanks] hope Qualiteam will take in consideration inserting this customization into future versions