Jump to content
kymation

[Contribution] Products Specifications

Recommended Posts

That's what it looks like. You need to change the code that generates that box to make it use the jQuery UI styles instead of the old 2.2 styles.

 

The search function is a simple SQL match against the specification field. It's pretty primitive. Try making your search string shorter, and check your spelling.

 

Regards

Jim


See my profile for a list of my addons and ways to get support.

Share this post


Link to post
Share on other sites

Thanks Jim, but that code is what I am having trouble finding :) Would you happen to know where it is?

 

The search I performed was just 3 digits. I set up an Item # text specification and i inputted 260 in that field for one of my items then did a search for 260 and the item did not come up. I went back just to be sure it was saved and I also found the item and looked and the item # specification is there. Any thoughts?

 

Thanks,

Cliff

Share this post


Link to post
Share on other sites

The code that generates the box is in includes/modules/products_filter.php:

 

// Output the box in the selected style
     switch (SPECIFICATIONS_FILTERS_FRAME_STYLE) {
       case 'Plain':
         new borderlessBox ($info_box_contents);
         break;

       case 'Simple':
         new productListingBox ($info_box_contents);
         break;

       case 'Stock':
       default:
         new contentBoxHeading ($info_box_heading, false, false);
         new contentBox ($info_box_contents);
         break;
     }

 

As I mentioned, the search is rather primitive. It seems to have problems with numbers as well. Also, you must be on the specification page for it to work, so it's fairly useless unless you have hundreds of specifications.

 

Regards

Jim


See my profile for a list of my addons and ways to get support.

Share this post


Link to post
Share on other sites

Thanks again Jim for all your help. I really appreciate it. Take care and keep up the great work :)

Share this post


Link to post
Share on other sites

Hi,

I just installed the add-on and configured it. I added 2 specifications, one is for "price", another is for "style", and set the filter class a value of not null (set as "range" for price, and set as "exact" for style). Those two filters could show in category page.

 

Now I could see two submit buttons for each filter. The filter for style could work,but the filter for price is not working correctly. When I clicked the submit button, it didnt filter out the results. I could see the url changed to a value like "products_filter.php?f1[2]=20-30&cPath=22&x=0&y=0", if I changed the url to a value like ""products_filter.php?f1=20-30&cPath=22&x=0&y=0", it could filter the results.

 

Could anyone tell me why this happen?

 

 

 

Best,

Sam

post-321679-0-96843100-1380679477_thumb.png

Share this post


Link to post
Share on other sites

You have your filters set as Checkboxes. Checkboxes in HTML are multi-select, (multiple price ranges could be selected, etc.) but the Range filter type is single select. You need to change to Radio buttons, or some other single select type. You can restyle the radio buttons using CSS if you don't like the look.

 

Regards

Jim


See my profile for a list of my addons and ways to get support.

Share this post


Link to post
Share on other sites

 

 

As I mentioned, the search is rather primitive. It seems to have problems with numbers as well. Also, you must be on the specification page for it to work, so it's fairly useless unless you have hundreds of specifications.

 

Regards

Jim

 

Hey Jim, I just wanted to let you know that I was able to adjust some code to get the search working so it will find data in product specifications. I am a complete novice when it comes to this, but the below is what worked for me.

 

in catalog/advanced_search_result.php

 

find:

 

$from_str = "from " . TABLE_PRODUCTS . " p left join " . TABLE_MANUFACTURERS . " m using(manufacturers_id) left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id";

 

change to:

 

//************** BEGIN PRODUCT SPECIFICATIONS SEARCH CHANGE ******************//

$from_str = "from " . TABLE_PRODUCTS . " p left join " . TABLE_MANUFACTURERS . " m using(manufacturers_id) left join " . TABLE_PRODUCTS_SPECIFICATIONS . " psv using(products_id) left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id";

//************** END PRODUCT SPECIFICATIONS SEARCH CHANGE ******************//

 

 

find:

 

$where_str .= "(pd.products_name like '%" . tep_db_input($keyword) . "%' or p.products_model like '%" . tep_db_input($keyword) . "%' or m.manufacturers_name like '%" . tep_db_input($keyword) . "%'";

 

change to:

 

//************** BEGIN PRODUCT SPECIFICATIONS SEARCH CHANGE ******************/ /

$where_str .= "(((pd.products_name like '%" . tep_db_input($keyword) . "%' or p.products_model like '%" . tep_db_input($keyword) . "%' or m.manufacturers_name like '%" . tep_db_input($keyword) . "%' )) or ( specification like '%" . tep_db_input($keyword) . "%' )";

//************** END PRODUCT SPECIFICATIONS SEARCH CHANGE ******************//

 

Take care,

Cliff

Share this post


Link to post
Share on other sites

I have figured out how to get the filters in a styled box on the left or right columns.

 

Thanks again for all your help,

Take care,

Cliff

 

Just wanted to share how i fixed the style of the left/right box.

 

In catalog\includes\modules\boxes\bm_products_filter.php

 

Find:

 

$oscTemplate->addBlock($box_text, $this->group);

 

Replace with (you can comment out the above line and just add the below, above or below, the commented out line):

 

//Begin Change Style of Left/Right Box//

$data = '<div class="ui-widget infoBoxContainer">' .

' <div class="ui-widget-header infoBoxHeading">' . MODULE_BOXES_PRODUCTS_FILTER_TITLE . '</div>' .

' <div class="ui-widget-content infoBoxContents">' . $box_text . '</div>' .

'</div>';

 

$oscTemplate->addBlock($data, $this->group);

//End Change Style of Left/Right Box//

 

Take care,

Cliff

Share this post


Link to post
Share on other sites

Thanks for the information. I still plan to release another update with all of these fixes, but I don't know when that will happen.

 

Regards

Jim


See my profile for a list of my addons and ways to get support.

Share this post


Link to post
Share on other sites

Hi Jim,

 

You have your filters set as Checkboxes. Checkboxes in HTML are multi-select, (multiple price ranges could be selected, etc.) but the Range filter type is single select. You need to change to Radio buttons, or some other single select type. You can restyle the radio buttons using CSS if you don't like the look.

 

Regards

Jim

 

Thanks so much. I changed display of the filter as "list of links", its working correctly. Thanks a lot for this addon. One more question, is it possible to show the product attributes as filters? We have already added product attributes for product, such as size, color, etc. Is it possible to show these attributes as filters?

 

 

Best,

Sam

Share this post


Link to post
Share on other sites

No, not with the current code. It would be possible to link in attributes, but it would take a lot of work to handle the database structure. Of course you can add your attributes as new Specifications, but I realize the maintenance required makes this impractical for most stores.

 

Regards

Jim


See my profile for a list of my addons and ways to get support.

Share this post


Link to post
Share on other sites

No, not with the current code. It would be possible to link in attributes, but it would take a lot of work to handle the database structure. Of course you can add your attributes as new Specifications, but I realize the maintenance required makes this impractical for most stores.

 

Regards

Jim

 

Thanks for your answer. Yeah. We just realize maybe its not user friendly to let our clients to add those specifications for already added attributes. Is it possible that we write code by our own for those filters of attributes only in the front end? i.e. get all the available attributes and list those option values in the fitlers? but the main concern is that we are not sure how to integrate that with this add-on? like when user choose one attribute filters, we still want to use all the filters, including the filters for specifications.

 

Any ideas?

Share this post


Link to post
Share on other sites

You would have to code this the same way the Existing Fields are coded for other product fields. However, since the attributes are not in the products or products_description database tables, you would have to use the attributes' link to the products table. See the osCommerce database schema in the Extras folder in the osC distribution package for details of the database structure.

 

Regards

Jim


See my profile for a list of my addons and ways to get support.

Share this post


Link to post
Share on other sites

Is it possible to carry out bulk updates to the product specifications through phpmyadmin?

Share this post


Link to post
Share on other sites

It is certainly possible, but you will need to understand the relationship between the various tables to do this successfully. There is a database diagram in the User's Manual that spells this out.

 

Regards

Jim


See my profile for a list of my addons and ways to get support.

Share this post


Link to post
Share on other sites

Hi Jim,

 

Tried to installed your Products Specifications on another website. (Also has the Modular Front Page installed). I had installed in other website and it has the same issues actually. When I click on catalog/new product, the Products Specifications will not show up properly, have links on top of CKEditor area, and the specifications squares list below. Please find the images, it will be easier to understand what I mean.

6p4t9nqzj

rnaz7qqu7

 

I have to hit refresh then it will comes to what products specifications what normally does. Anyway I can fix it?

 

And I have the Modular Front Page installed, there is no errors but at the front page, the tab just not show up. I can PM you the site access name and password if you have time to take a look.

 

Thanks in advance.

 

Lyn

Edited by ce7

Share this post


Link to post
Share on other sites

It looks like your Admin Categories page is halting on an error before everything loads. Check your edits to admin/categories.php against the one in the distribution.

 

If all edits are correct, check that the jQuery files are loading in the head section of that page.

 

Regards

Jim


See my profile for a list of my addons and ways to get support.

Share this post


Link to post
Share on other sites

It looks like your Admin Categories page is halting on an error before everything loads. Check your edits to admin/categories.php against the one in the distribution.

 

If all edits are correct, check that the jQuery files are loading in the head section of that page.

 

Regards

Jim

 

Hi Jim,

 

Thanks for the reply. The website is a new installed osc 2.3.3.4 version, I have Modular Front Page installed first, (also CKEditor,) so I just copy the admin/categories.php from oscommerce addon site.

 

How do i check the jQery files in the head section of the page? (view source?)

 

By the way, I tried to add new tab, has the Notice: Undefined index: 7 in /admin/includes/modules/products_tabs.php on line 228 (basically I just copy tab6 and change the number to 7 and the div tabs-8, not sure where else I need to check to find out the problem.

 

Thanks.

 

Lyn

Edited by ce7

Share this post


Link to post
Share on other sites

It looks like your Admin Categories page is halting on an error before everything loads. Check your edits to admin/categories.php against the one in the distribution.

 

If all edits are correct, check that the jQuery files are loading in the head section of that page.

 

Regards

Jim

 

Hi Jim,

 

I had uninstalled the Products Specifications, this is the 3rd time, before I installed, I change the

 error_reporting(E_ALL);

and I have no error appear in the backend, however I just notice that the CKEditor doesn't appear the first time unless I hit refresh.

So I am thinking maybe the problem I mentioned earlier is not causing by Products Specifications but CKEditor, as I uninstalled the CKEditor, the problem not happened.

 

I will try to install the CKEditor again and update the result later.

Share this post


Link to post
Share on other sites

I will try to install the CKEditor again and update the result later.

 

There are three version of CKEditor on osC addons site,

info/8302--->files doesn't work

info/7650--->tried to modified the template_top.php and admin/categories.php as manual mentioned, but it doesn't work at all for me.

info/7897---> it works but the issue is have to hit refresh everytime to make the CKEditor comes up.

Edited by ce7

Share this post


Link to post
Share on other sites

Hi Jim,

 

I think I asked the similar question before but I did not record it and could not find out which page I should go through. Hope you dont mind me to ask again.

 

After three tries, I finally make the tabs comes up on the front page, however the tab doesn't seems work right way, please find the attach images.

 

http://postimg.org/image/o81p0j42n/

http://postimg.org/image/kzx7nhhsv/

http://postimg.org/image/62oqmh4kf/

 

 

Which files should I go to check so can fix the problem?

 

thanks

 

Lyn

Share this post


Link to post
Share on other sites

You're missing a language file or the changes to a language file. Possibly includes/languages/english/product_info.php.

 

regards

Jim


See my profile for a list of my addons and ways to get support.

Share this post


Link to post
Share on other sites

That's a jQuery bug. Add this code into includes/template_top.php, just before the /head tag:

 

 <script type="text/javascript">
 // fix jQuery base tag bug
   $.fn.__tabs = $.fn.tabs;
   $.fn.tabs = function (a, b, c, d, e, f) {
  var base = location.href.replace(/#.*$/, '');
  $('ul>li>a[href^="#"]', this).each(function () {
    var href = $(this).attr('href');
    $(this).attr('href', base + href);
  });
  $(this).__tabs(a, b, c, d, e, f);
   };
 </script>

 

Regards

Jim


See my profile for a list of my addons and ways to get support.

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

×