Jump to content



ArtcoInc

Member Since 31 Mar 2014
OFFLINE Last Active Today, 06:30
*****

#1754374 Devious Trick or Super Smart

Posted by ArtcoInc on 07 March 2017 - 19:10

(trying to remember the wording to an old joke)

 

Customer: How much are your xxxxxx?

 

Store: They are $10 each

 

Customer: YYYY sells them for $8 each.

 

Store: Then why don't you buy them from YYYY ?

 

Customer: YYYY is out of them.

 

Store: When we are out of them, we sell then for $5 each.




#1754183 UPS Dimensional Weight Starting in 2015

Posted by ArtcoInc on 03 March 2017 - 22:51

Since the US Post Office has announced that they too will be implementing Dimensional Weight, I guess it's time to look into how to determine the box dimensions when shipping several different sized items together.

 

I did a Google search, and found this:

 

http://stackoverflow...odule-in-presta

 

So, if ...

 

1) we had dimensions for each item we sell

2) we calculate the 'best' box size based on the algorithm above

3) compare that result to a database table of box sizes we use, and find the closest, but not smaller than, match

4) use that box size to determine the dimensional weight, keeping in mind that different carriers may apply a different 'weight' to the same box.

5) use the greater of the dimensional weight vs actual weight to determine the shipping cost

 

Does anyone think they can do this? This is all *way* above my skill level ...

 

Malcolm

 

PS: I did not find the actual code for the above link, but I did find this ...

 

https://github.com/dvdoug/BoxPacker




#1753899 How to show available stock in shopping cart page?

Posted by ArtcoInc on 27 February 2017 - 18:43

Found it B)

 

http://addons.oscommerce.com/info/1906

 

Malcolm




#1750456 PHP Error

Posted by ArtcoInc on 27 November 2016 - 21:51

It *looks* like the original poster is trying to install version 2.3.3.4

 

Malcolm




#1750068 1366 - Incorrect integer value: '' for column 'customers_id'...

Posted by ArtcoInc on 17 November 2016 - 22:16

@beebee99

This website is for a client and they have no money or budget for an upgrade or a new site otherwise that would have already happened.

 

In that case, take the money and run ... :rolleyes:

 

Malcolm




#1750002 Horizontal Categories Menu BS

Posted by ArtcoInc on 16 November 2016 - 00:45

@dnbvinyl

 

This is from /included/languages/english/modules/content/navigation/cm_navbar.php

  //header titles
  define('HEADER_CART_CONTENTS', '<i class="glyphicon glyphicon-shopping-cart"></i> %s item(s) <span class="caret"></span>');
  define('HEADER_CART_NO_CONTENTS', '<i class="glyphicon glyphicon-shopping-cart"></i> 0 items');
  define('HEADER_ACCOUNT_LOGGED_OUT', '<i class="glyphicon glyphicon-user"></i><span class="hidden-sm"> My Account</span> <span class="caret"></span>');
  define('HEADER_ACCOUNT_LOGGED_IN', '<i class="glyphicon glyphicon-user"></i> %s <span class="caret"></span>');
  define('HEADER_SITE_SETTINGS', '<i class="glyphicon glyphicon-cog"></i><span class="hidden-sm"> Site Settings</span> <span class="caret"></span>');
  define('HEADER_TOGGLE_NAV', 'Toggle Navigation');
  define('HEADER_HOME', '<i class="glyphicon glyphicon-home"></i><span class="hidden-sm"> Home</span>');
  define('HEADER_WHATS_NEW', '<i class="glyphicon glyphicon-certificate"></i><span class="hidden-sm">  New Products</span>');
  define('HEADER_SPECIALS', '<i class="glyphicon glyphicon-fire"></i><span class="hidden-sm"> Special Offers</span>');
  define('HEADER_REVIEWS', '<i class="glyphicon glyphicon-comment"></i><span class="hidden-sm"> Reviews</span>');

So, where ever you are defining the label 'Categories', change it to something like

'<i class="glyphicon gliphicon-th-list"></i><span class="hidden-sm"> Categories </span>' 

HTH

 

Malcolm




#1749724 Horizontal Categories Menu BS

Posted by ArtcoInc on 08 November 2016 - 17:59

@dnbvinyl

 

I spent some time working with the CSS to address issues 2 and 3 above. Here's what I came up with (the last five (5) entries are my new ones):

.dropdown-submenu {
  position: relative;
}

.dropdown-menu > .dropdown > .dropdown-menu,
.dropdown-submenu > .dropdown-menu {
  top: 0;
  left: 100%;
  margin-top: -6px;
  -webkit-border-radius: 0 6px 6px 6px;
  -moz-border-radius: 0 6px 6px 6px;
  border-radius: 0 6px 6px 6px
}

.dropdown-menu > .dropdown > a:after,
.dropdown-submenu > a:after {
  display: inline-block;
  content: "\f0da";
  font-family: FontAwesome;
  margin-left: 10px;
  color: #cccccc;
}

.dropdown-submenu:hover > a:after {
  color: #555;
}


.navbar-nav,
.navbar-nav > a: {
  color: #333;
}

.navbar-nav > a:focus,
.navbar-nav > a:hover {
  color: #fff;
}

.dropdown-menu .navbar-nav > li,
.dropdown-menu .navbar-nav > li > a: {
  color: #333;
}

.dropdown-menu .navbar-nav > li > a:focus,
.dropdown-menu .navbar-nav > li > a:hover {
  color: black;
}

.dropdown.open .dropdown-menu > li > .navbar-nav .dropdown.open .dropdown-menu {
  top: 0;
  left: 100%;  
}

This seems to work with multiple depths of categories. Here is the result:

 

Attached File  Screen Capture - 11-08-16.JPG   55.07KB   0 downloads

 

I'm still having layout issues and rollover color issues in the XS screen mode, and still need additional work on the CSS:

 

Attached File  Screen Capture - 11-08-16 - B.JPG   18.47KB   0 downloads

 

HTH

 

Malcolm




#1747276 Search add-on Reviews

Posted by ArtcoInc on 02 September 2016 - 17:07

@14steve14 Steve

Are you going to update the smart suggest addon to work with bootstrap? It may help others.

 

Excellent question..This has been discussed in the support thread for Smart Suggest

 

http://forums.oscomm...rch-suggestion/

 

 

I had to make two changes to get this to work with 2.3.4BS ...

 

1) As I mentioned in the review above, this add-on requires editing a bunch of files. The instructions said to modify:

 

/includes/modules/boxes/bm_search.php

 

Instead, I modified:

 

/includes/modules/content/header/cm_header_search.php

 

In this file, find:

      $search_box = '<div class="searchbox-margin">';
      $search_box .= tep_draw_form('quick_find', tep_href_link('advanced_search_result.php', '', $request_type, false), 'get', 'class="form-horizontal"');
      $search_box .= '  <div class="input-group">' .
                          tep_draw_input_field('keywords', '', 'required placeholder="' . TEXT_SEARCH_PLACEHOLDER . '"', 'search') . '<span class="input-group-btn"><button type="submit" class="btn btn-info"><i class="fa fa-search"></i></button></span>' .
                      '  </div>';
      $search_box .=  tep_hide_session_id() . '</form>';
      $search_box .= '</div>';

and replace with:

      $search_box  = '<div class="searchbox-margin">';
      $search_box .= tep_draw_form('quick_find', tep_href_link('advanced_search_result.php', '', $request_type, false), 'get', 'class="form-horizontal" id="frmSearch"');

      $search_box .= '  <div class="input-group">';
      $search_box .=      tep_draw_input_field('keywords', '', 'id="txtSearch" onkeyup="searchSuggest(event);" autocomplete="off" required placeholder="' . TEXT_SEARCH_PLACEHOLDER . '"' , 'search');

      $search_box .= '    <div id="smartsuggest" ></div>';
      $search_box .=      tep_draw_hidden_field('search_in_description', '1');

      $search_box .= '    <span class="input-group-btn">' ;
      $search_box .= '      <button type="submit" class="btn btn-info">' ;
      $search_box .= '        <i class="fa fa-search"></i>' ;
      $search_box .= '      </button>' ;
      $search_box .= '    </span>' ;

      $search_box .= '  </div>';
      $search_box .=    tep_hide_session_id() . '</form>';
      $search_box .= '</div>';

      // MOD: BOF - SmartSuggest
      if (SMARTSUGGEST_ENABLED != 'false') {
        require(DIR_WS_CLASSES . 'smartsuggest.php');
        $smartsuggest = new smartsuggest();
        $smartsuggest->output($data);
      }
      // MOD: EOF - SmartSuggest

2) /admin/stats_keywords_searched.php  is a new file included in the package. It was written for osc 2.2. I had to re-write it to work with osC 2.3. Here's the new file:

<?php
/*
  $Id: stats_keywords_searched.php,v 1.29 2013/10/04 22:50:52 fur Exp $

  osCommerce, Open Source E-Commerce Solutions
  http://www.oscommerce.com

  Copyright (c) 2003 osCommerce

  Released under the GNU General Public License
*/

  require('includes/application_top.php');
  require(DIR_WS_INCLUDES . 'template_top.php');
 
  $count_by = $_GET['count_by'] ? $_GET['count_by'] : 'newest';
  $date_from = $_GET['date_from'] ? $_GET['date_from'] : '';
  $date_to = $_GET['date_to'] ? $_GET['date_to'] : date('Y-m-d');

?>

<link rel="stylesheet" type="text/css"  href="includes/javascript/spiffyCal/spiffyCal_v2_1.css">
<script type="text/javascript" src="includes/javascript/spiffyCal/spiffyCal_v2_1.js"></script>

<script  type="text/javascript"><!--
  var dateFrom = new ctlSpiffyCalendarBox("dateFrom", "filter", "date_from", "btnDate1", "<?php echo $date_from; ?>", scBTNMODE_CUSTOMBLUE);
  var dateTo = new ctlSpiffyCalendarBox("dateTo", "filter", "date_to", "btnDate2", "<?php echo $date_to; ?>", scBTNMODE_CUSTOMBLUE);
//--></script>

  <div id="spiffycalendar" class="text" style="z-index:100"></div>

  <table border="0" width="100%" cellspacing="0" cellpadding="0">
    <tr>
      <td>
        <table border="0" width="100%" cellspacing="0" cellpadding="0">
          <tr>
            <td class="pageHeading"><?php echo HEADING_TITLE; ?></td>
            <td class="pageHeading" align="center">

<?php
              echo tep_draw_form('filter', FILENAME_STATS_KEYWORDS_SEARCHED, '', 'get');
?>

              <table style="border: 1px dashed black;">
                <tr>
                  <td class="main">Count By:</td>
                  <td class="main" colspan="2">

<?php
                    echo '<label><input type="radio" name="count_by" value="newest" ' . ($count_by == 'newest' ? 'CHECKED ' : '') . 'onchange="this.form.submit();"/> Newest</label>';
                    echo '<label><input type="radio" name="count_by" value="keywords" ' . ($count_by == 'keywords' ? 'CHECKED ' : '') . 'onchange="this.form.submit();"/> Keywords</label>';
                    echo '<label><input type="radio" name="count_by" value="customers_id" ' . ($count_by == 'customers_id' ? 'CHECKED ' : '') . 'onchange="this.form.submit();"/> Customer</label>';
                    echo '<label><input type="radio" name="count_by" value="ip" ' . ($count_by == 'newest' ? 'ip ' : '') . 'onchange="this.form.submit();"/> IP</label>';

?>
                  </td>
                </tr>

                <tr>
                  <td class="main">Date:</td>
                  <td class="main" colspan="2">
                    <script language="javascript">dateFrom.writeControl(); dateFrom.dateFormat="yyyy-MM-dd";</script>
                    to
                    <script language="javascript">dateTo.writeControl(); dateTo.dateFormat="yyyy-MM-dd";</script>
                  </td>
                </tr>

                <tr>
                  <td class="main">Pages:</td>
                  <td>
<?php
                    foreach(range(1,30) as $i)
                      $pages_options[] = array('id' => $i, 'text' => '>=' . $i);
                      echo tep_draw_pull_down_menu('pages', $pages_options, $_GET['pages'], 'onchange="this.form.submit();"');
?>

                  </td>
                  <td align="right">
                    <?php echo tep_image_submit('button_search.gif', 'Search'); ?>
                  </td>
                </tr>
              </table>
<?php
              echo '</form>';
?>
            </td>
          </tr>
        </table>

      </td>
    </tr>
  </table>

  <table border="0" width="100%" cellspacing="0" cellpadding="0">
    <tr>
      <td valign="top">
        <table border="0" width="100%" cellspacing="0" cellpadding="2">
          <tr class="dataTableHeadingRow">
            <td class="dataTableHeadingContent">No.</td>

<?php

            if ($_GET['keywords'] || $_GET['customers_id'] || $_GET['ip'])
              $count_by = 'newest';
                
              switch($count_by){

                case 'keywords':
                  $headings = array(TABLE_HEADING_KEYWORDS, TABLE_HEADING_NUM_RESULTS, TABLE_HEADING_LAST_SEARCHED_DATE, TABLE_HEADING_NUM_SEARCHED);
                  break;

                case 'customers_id':
                  $headings = array(TABLE_HEADING_CUSTOMERS, TABLE_HEADING_LAST_SEARCHED_DATE, TABLE_HEADING_LAST_SEARCHED_DATE, TABLE_HEADING_NUM_SEARCHED);
                  break;

                case 'ip':
                  $headings = array(TABLE_HEADING_IP, TABLE_HEADING_LAST_SEARCHED_DATE, TABLE_HEADING_LAST_SEARCHED_DATE, TABLE_HEADING_NUM_SEARCHED);
                  break;

                case 'newest';
                  $headings = array(TABLE_HEADING_KEYWORDS, TABLE_HEADING_NUM_RESULTS, TABLE_HEADING_CUSTOMERS, TABLE_HEADING_IP, TABLE_HEADING_PAGES, TABLE_HEADING_PRODUCT_IDS, TABLE_HEADING_ORDER_ID, TABLE_HEADING_DATE_SEARCHED);
                  break;

              }

              foreach($headings as $heading) {

?>
                <td class="dataTableHeadingContent">
                  <?php echo $heading; ?>
                </td>

<?php
              }
?>

          </tr>

<?php

          if (isset($_GET['page']) && ($_GET['page'] > 1))
            $rows = $_GET['page'] * MAX_DISPLAY_SEARCH_RESULTS - MAX_DISPLAY_SEARCH_RESULTS;
                              
          if ($_GET['keywords']) {
            $where_str = "where keywords = '" . tep_db_input($_GET['keywords']) . "' ";
          } elseif ($_GET['customers_id']) {
            $where_str = "where customers_id = '" . tep_db_input($_GET['customers_id']) . "' ";
          } elseif ($_GET['ip']) {
            $where_str = "where ip = '" . tep_db_input($_GET['ip']) . "' ";
          } else {
            $where_str = "where 1 ";
          }
                
          switch($count_by){
            case 'newest':
              $select_str = "select * ";
              $from_str = "from " . TABLE_SEARCHED_KEYWORDS . " ";
              $order_by_str = "order by date_added desc ";
              $columns = array('keywords', 'number_of_results', 'customers_id', 'ip', 'pages', 'products_ids', 'orders_id', 'date_added');
              break;


            default:
              if($count_by == 'keywords'){
                $select_str = "select keywords, number_of_results, date_added, count ";
                $columns = array('keywords', 'number_of_results', 'date_added', 'count');
              }else{
                $select_str = "select $count_by, keywords, date_added, count ";
                $columns = array($count_by, 'keywords', 'date_added', 'count');
              }

              $from_str = "from " . TABLE_SEARCHED_KEYWORDS . " sk right join (select $count_by as group_$count_by, count(*) as count, max(date_added) as last_date from " . TABLE_SEARCHED_KEYWORDS . " GROUP BY $count_by) skg on sk.$count_by = skg.group_$count_by and sk.date_added = skg.last_date ";
              $where_str .= "and $count_by is not null ";
              $order_by_str = "order by count desc ";
              break;

          }
                
          if ($_GET['date_from'])
            $where_str .= "and date_added >= '" . tep_db_input($_GET['date_from']) . "' ";

          if ($_GET['date_to'])
            $where_str .= "and date_added <= '" . tep_db_input($_GET['date_to']) . " 23:59:59' ";
                
          if ($_GET['pages'] > 1)
            $where_str .= "and (length(pages) - length(replace(pages, ',', '')) >= " . ((int)$_GET['pages'] - 1) . ") ";
               
          $searched_keywords_query_raw = $select_str . $from_str . $where_str . $order_by_str;

          $searched_keywords_split = new splitPageResults($_GET['page'], MAX_DISPLAY_SEARCH_RESULTS, $searched_keywords_query_raw, $searched_keywords_query_numrows);
          $searched_keywords_query = tep_db_query($searched_keywords_query_raw);
          while ($searched_keywords = tep_db_fetch_array($searched_keywords_query)) {
            $rows++;

?>

          <tr class="dataTableRow" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" <?php if($count_by != 'newest'){ ?>onclick="document.location.href='<?php echo tep_href_link(FILENAME_STATS_KEYWORDS_SEARCHED, tep_get_all_get_params() . $count_by . '=' . $searched_keywords[$count_by], 'NONSSL'); ?>'"<?php }?>>

            <td class="dataTableContent"><?php echo str_pad($rows, 3, '0', STR_PAD_LEFT); ?></td>

<?php

              foreach($columns as $column) {
                $column_text = $searched_keywords[$column];
                  if($column == 'keywords') {
                    $column_text = '<a href="' . tep_href_link('../advanced_search_result.php', 'keywords=' . $column_text, 'NONSSL') . '" target="_blank">' . $column_text . '</a>';
                  } elseif($column == 'customers_id') {
                    $customer_query = tep_db_query("select customers_id, customers_firstname, customers_lastname from " . TABLE_CUSTOMERS . " where customers_id = '" . (int)$column_text . "'");
                    $customer = tep_db_fetch_array($customer_query);
                    $column_text = '<a href="' . tep_href_link(FILENAME_CUSTOMERS, 'action=edit&cID=' . $customer['customers_id']) . '" target="_blank">' . $customer['customers_firstname'] . ' ' . $customer['customers_lastname'] . '</a>';
                  } elseif($column == 'ip') {
                    $column_text = '<a href="http://ipshark.net/?domain=' . $column_text . '" target="_blank">' . $column_text . '</a>
                                    <a href="http://www.infosniper.net/index.php?ip_address=' . $column_text . '" target="_blank">' . tep_image(DIR_WS_ICONS . 'preview.gif', 'Location Map of IP') . '</a>';
                  }

?>

            <td class="dataTableContent"><?php echo $column_text; ?></td>

<?php
              }
?>

          </tr>

<?php
          }
?>

        </table>
      </td>
    </tr>

    <tr>
      <td colspan="3">
        <table border="0" width="100%" cellspacing="0" cellpadding="2">
          <tr>
            <td class="smallText" valign="top">

<?php
              echo $searched_keywords_split->display_count($searched_keywords_query_numrows, MAX_DISPLAY_SEARCH_RESULTS, $_GET['page'], TEXT_DISPLAY_NUMBER_OF_KEYWORDS);

?>

            </td>
            <td class="smallText" align="right">

<?php
              echo $searched_keywords_split->display_links($searched_keywords_query_numrows, MAX_DISPLAY_SEARCH_RESULTS, MAX_DISPLAY_PAGE_LINKS, $_GET['page'], tep_get_all_get_params(array('pages')));
?>

            </td>
          </tr>
        </table>
      </td>
    </tr>

<?php
    if ($_GET['keywords'] || $_GET['customers_id'] || $_GET['ip']) {
?>

    <tr>
      <td>
        <a href="<?php echo tep_href_link(FILENAME_STATS_KEYWORDS_SEARCHED, tep_get_all_get_params(array('keywords', 'customers_id', 'ip'))); ?>">
          <?php echo tep_image_button('button_back.gif', 'Back'); ?>
        </a>
      </td>
    </tr>

<?php
    }
?>

  </table>


<script type="text/javascript">
$(document).ready(function(){
  $('td.dataTableContent a').click(stopPropagation);
});
function stopPropagation(e){
  e.stopPropagation();
}
</script>


<?php
  require(DIR_WS_INCLUDES . 'template_bottom.php');
  require(DIR_WS_INCLUDES . 'application_bottom.php');
?>

Other than these two changes, install the package as per the instructions.

 

Now, there is one *tiny* flaw in this adaptation ...

 

Attached File  Screen Capture - Search - C2.JPG   14.57KB   0 downloads

 

There is a single pixel dot just below the Search box. This is created by this line in /includes/modules/content/header/cm_header_search.php:

$search_box .= '    <div id="smartsuggest" ></div>';

I can't remove this line, or the function doesn't work. To change the div's color in CSS would change other things too. I think that most people won't even see it, so I've not tried to hide it.

 

HTH

 

Malcolm




#1747241 Faster login with bootstrap modal

Posted by ArtcoInc on 01 September 2016 - 05:06

@auzStar

 

Thank you for all of your work on this project (and moving the conversation back over here, where it belonged).

 

When this project first started, I had no clue as to the consequence of the SSL within a modal login. I appreciate that you were able to see it, and attempt to find a way to make it work. Your contribution was/is valuable, even when you had to ditch it.

 

Thank you.

 

Malcolm




#1747231 Search add-on Reviews

Posted by ArtcoInc on 31 August 2016 - 18:06

Search add-on Reviews

While working on a new store, I've been exploring the different Search add-ons available. I hope that others may find this useful.

 

I looked at four different Search add-ons:

A) Store Search (BS)
   http://addons.oscommerce.com/info/9328

B) SiteSearch Plus v1.4
   http://addons.oscommerce.com/info/6351

C) SmartSuggest - Self-learning Ajax Search Suggestion    v1.0.3
   http://addons.oscommerce.com/info/8926

D) Twitter Typeahead Autocomplete Search v1.6
   http://addons.oscommerce.com/info/9351


All of these have support pages on the forum.

I installed these individually on a clean installation of osCommerce v2.3.4bs - Edge. The tests were run on the stock database. For comparison, I used the search phrase 'mic' in each of the tests.

All of these either enhance the stock Search box in the header, or replace it. If replaced, the new Search box can have the bootstrap column width adjusted in Admin, just like the stock one.


------------------------------------------------------------------------------------------------------------------+
                                                                           |      A      |         B        |        C       |      D      | 
========================================================================
Requires core file edits                                       |     No     |      Yes *      |     Yes      |     No     |
------------------------------------------------------------------------------------------------------------------+
# of hits searching for 'mic'                                 |     6 *      |        3         |      3 *       |      5      |
(using as-installed default settings)                    |               |                   |                  |              |
-------------------------------------------------------------------------------------------------------------------+
When clicking on a result, are you sent to the    | Product  | Advanced  | Advanced | Product |
Product page, or to Advanced Search Results   |               |req. 2 clicks|                  |              |
-------------------------------------------------------------------------------------------------------------------+
Shows Product Image in Search Results            |     No      |       No        |      Yes      |    Yes    |
------------------------------------------------------------------------------------------------------------------+
Shows Product Description in Search Results    |     No      |       No        |       No      |    Yes    |
------------------------------------------------------------------------------------------------------------------+
Can select what pages to include in Search       |    Yes     |        No       |        No      |    No     |
------------------------------------------------------------------------------------------------------------------+
Records Searched for Words                             |     No      |       No        |      Yes      |    No     |
------------------------------------------------------------------------------------------------------------------+
Emails Store Owner if Search Not Found           |      No     |       Yes       |       No      |     No    |
------------------------------------------------------------------------------------------------------------------+
Pretty ranking (1=best) (in my opinion)              |       3      |         4         |        2       |      1      |
========================================================================


Comments and thoughts:
-----------------------------------------------------------------------------------------

A) Store Search (BS)

Attached File  Screen Capture - Search - A1.JPG   42.95KB   3 downloads

Plug and Play. Highly configurable. I like the 'Search Results Highlight' feature. Changing the configuration can alter the number of search hits. Using the 'out of the box' configuration, this gave the most number of search hits:

1 category
3 products
2 'other' pages

If you want your Search to be able to include searching pages other than just products, this is the one.

-----------------------------------------------------------------------------------------

B) SiteSearch Plus

 

Attached File  Screen Capture - Search - B1.JPG   41.83KB   4 downloads

If your server has PHP in strict mode, there are additional edits needed in a file. This is mentioned on the support thread, but is not included in the downloaded package.

This is the only package that has the email option.

-----------------------------------------------------------------------------------------

C) SmartSuggest - Self-learning Ajax Search Suggestion

 

Attached File  Screen Capture - Search - C1.JPG   31.36KB   4 downloads

This is the only package that records the Searched for words. Personally, I find this feature very useful.

Changing the configuration can alter the number of search hits.

-----------------------------------------------------------------------------------------

D) Twitter Typeahead Autocomplete Search

 

Attached File  Screen Capture - Search - D1.JPG   54.76KB   3 downloads

Plug and Play. This is clearly the prettiest of the add-ons. There are *many* options one can adjust and configure. Using the 'out of the box' configuration, this gave the second highest number of search hits.

============================================================================

Final thoughts:

 

I like the search functions that allow the user to go directly to the product or page, without having to make a detour through Advanced_Search_Results.

 

If I could pick-and-choose features, I'd start with D, add the ability to select the searched pages from A, and the recording of the searched for words in C

Your results may vary. Only you can decide what is important for your shop.

HTH

Malcolm




#1747148 SmartSuggest - Self-learning Ajax Search Suggestion

Posted by ArtcoInc on 30 August 2016 - 16:26

@Tsimi

 

Thank you! I am exploring several different Search add-ons to see which one I like best. I'll add that one to my list.

 

One feature about -this- Search add-on is that it builds a new table of 'searched for words'. This allows me to see what people are searching for. I can then use this information to perhaps improve the wording in my product descriptions, etc.

 

Like many things in life, I'd love to be able to take one feature from one add-on, and another feature from a different one, and ... Alas, I'm not that good of a programmer.

 

Malcolm




#1746970 Horizontal Categories Menu BS

Posted by ArtcoInc on 23 August 2016 - 19:16

I want to thank @Tsimi for both this add-on ( http://addons.oscommerce.com/info/9375 ), and the version he sent me (based on De Dokta's code). While De Dokta's code worked, there was one feature in the original code (based on @GLWalker 's code) that I wanted. So, I think I've finally been able to convert it to a NavBar module.  :)

 

No instructions .. just copy the new code in place and install through admin. No core changes.

 

Attached File  NavBar Horizontal Categories Menu BS.zip   5.44KB   31 downloads

 

Notes:

 

1) I have made a *tiny* edit to the file  /includes/classes/catmenu.php . So, if you have already installed @Tsimi 's version, this installation will overwrite his file. This should not cause a problem ... all I did was clean up one line of code. Or, you can use @Tsimi 's version. :thumbsup:

 

2) I'm having a CSS issue where, after the drop-down menu drops down, when you mouse over a selection, the selection whites out. I'm still working on this, but if anyone comes up with a solution, please let me know. B)

 

3) I used @GLWalker 's original code on a site I built over a year ago, where when each successive drop-down opened, it was shifted to the right. I'm not sure how I did that then, but I'm looking to add that to this module (when and if I can). :-

 

Malcolm




#1746748 Store Search Bar (BS)

Posted by ArtcoInc on 18 August 2016 - 22:35

@milerwan @Gergely

 

Ok, found the source of the 15px shift ...

 

in /includes/modules/navbar_modules/templates/store_search.php, replace

<div class="col-md-4 col-sm-4 col-xs-12">
  <?php echo $search_box; ?>
</div>

with

<li>
  <?php echo $search_box; ?>
</li>

Now, the entire NavBar doesn't shit, this module now follows the NavBar coding 'standard', and you can still use CSS to style and position (padding/margin) the search box within the NavBar as you wish.

 

HTH

 

Malcolm

 

(on to the next challenge :thumbsup: )




#1745217 creating a custom order total module

Posted by ArtcoInc on 27 June 2016 - 15:35

http://forums.oscomm...-credit-system/




#1742757 Shopping Cart Modules

Posted by ArtcoInc on 23 April 2016 - 16:33

Well, that's not what the ones above are saying.
They say "no html" in language files...full stop, no exceptions.

 

@burt

 

I don't think that's what people are saying. At least, that's not what I was saying.

 

In this thread

 

http://forums.oscomm...ules/?p=1742621

 

@bruyndoncx Carine mentioned that your *proposed* change in your GitHub included <div class="alert alert-danger"> in the language file. This div class would/could allow one to format that specific piece of text with CSS (hence the occasional mis-reference of including CSS in the language files).

 

This piece of HTML code most likely would not change in a multi-language shop. Hence, the thought was that it (and only it) should be in the template file, not the language file. (this is what I had agreed with)

 

This is not to say that all HTML markup needs to be removed from the language files. Your examples above (microdata, screen readers, language specific formatting, etc) are precisely why it should be allowed (and, I've actually done this myself in my shops).

 

I don't see this discussion as an 'All or Nothing' demand.

 

Malcolm

(channeling his inner wolf)