Latest News: (loading..)


  • Content count

  • Joined

  • Last visited


About RMD27

Profile Information

  • Real Name
  • Gender
  • Interests
    Top OSC Contributions

    1.Easy Populate - OSC is useless without it


    2.SEO URLS - Awesome


    3.KissMT - Has some weaknesses, you cant specify your own tags for example but it is super easy to install
    or 3.Header Tags - Big deal to install, can customise the tags.


    4. Ask a product question


    5. Order Editor


    6. CSS Product Listing

    1) add the following code (new class definition) to includes/classes/boxes.php before the final ?>

    ///// BOF CSSTABLEBOX //////
    class csstableBox {

    // class constructor
    function csstableBox($contents, $direct_output = false) {

    for ($i=0, $n=sizeof($contents); $i<$n; $i++) {
    if (isset($contents[$i]['form']) && tep_not_null($contents[$i]['form'])) $csstableBox_string .= $contents[$i]['form'] . "\n";
    $csstableBox_string .= ' <div class="cssproduct_listing_item" >' . "\n";

    if (isset($contents[$i][0]) && is_array($contents[$i][0])) {
    for ($x=0, $n2=sizeof($contents[$i]); $x<$n2; $x++) {
    if (isset($contents[$i][$x]['text']) && tep_not_null($contents[$i][$x]['text'])) {
    $csstableBox_string .= ' <div class="cssproduct_listing_content">';
    if (isset($contents[$i][$x]['form']) && tep_not_null($contents[$i][$x]['form'])) $csstableBox_string .= $contents[$i][$x]['form'];
    $csstableBox_string .= $contents[$i][$x]['text'];
    if (isset($contents[$i][$x]['form']) && tep_not_null($contents[$i][$x]['form'])) $csstableBox_string .= '</form>';
    $csstableBox_string .= '</div>' . "\n";
    } else {
    $csstableBox_string .= ' <div class="cssproduct_listing_content">' . $contents[$i]['text'] . '</div>' . "\n";

    $csstableBox_string .= ' </div>' . "\n";
    if (isset($contents[$i]['form']) && tep_not_null($contents[$i]['form'])) $csstableBox_string .= '</form>' . "\n";

    $csstableBox_string .= '<div class="cssclear"></div>' . "\n";

    if ($direct_output == true) echo $csstableBox_string;
    return $csstableBox_string;

    class cssproductListingBox extends csstableBox {
    function cssproductListingBox($contents) {
    $this->csstableBox($contents, true);

    ////// EOF CSSTABLEBOX //////

    2) add the following to includes/stylesheet.css

    border: 1px dotted #bbc3d3;
    border-width: 0px 0px 0px 0px;
    width: 140px;
    padding: 2px 0px 2px 0px;
    margin: 0px 0px 0px 0px;

    float: left;
    width: 155px;
    height: 165px;
    border: 1px solid #bbc3d3;
    border-width: 1px 1px 1px 1px;
    font-family: Verdana, Arial, sans-serif;
    font-size: 10px;
    text-align: center;
    padding: 5px 0px 5px 5px;
    margin: 5px 5px 5px 5px;

    .cssclear{clear: both;}

    3) In includes/modules/product_listing.php:
    about line 68 comment out the following.
    ie change:

    $list_box_contents[0][] = array('align' => $lc_align,
    'params' => 'class="productListing-heading"',
    'text' => ' ' . $lc_text . ' ');

    // $list_box_contents[0][] = array('align' => $lc_align,
    // 'params' => 'class="productListing-heading"',
    // 'text' => ' ' . $lc_text . ' ');

    and change:

    new productListingBox($list_box_contents);

    // new productListingBox($list_box_contents);
    new cssproductListingBox($list_box_contents);

    That's it.


    7. To speed up the site search

    I finally figured out what was bogging down my database when searching for products. I had to post this. I have about 220,000 active products in my store parse time is at the bottom if anyone wants to checkout the performance.

    I have optimized so many queries and continue to monitor and do so. Whe I started, my search queries were about 20-40 seconds... that's a life time on the net. Including all the variables in the search url with help decrease query speed by about 50%...


    Now I'm down to about 11 or 12 seconds for a search which is still not good enough. 6 seconds should be the maximum. Just remove products_model from the search string. Here is the code to change in advanced_search_result.php...

    Comment this out:
    //$where_str .= "(pd.products_name like '%" . tep_db_input($keyword) . "%' or p.products_model like '%" . tep_db_input($keyword) . "%'";

    Simply change to this:
    $where_str .= "(pd.products_name like '%" . tep_db_input($keyword) . "%'";

    I hope this helps someone out. My queries are running under half a second and my search page parses in about 2 seconds. That's a 1500% imporvement.

    check it out at


    8. To ramp up site speed

    2- Run this query in your db

    ALTER TABLE `products_to_categories` DROP PRIMARY KEY;
    ALTER TABLE `products_to_categories` ADD INDEX `idx_p2c_categories_id` ( `categories_id` );
    ALTER TABLE `products_to_categories` ADD INDEX `idx_p2c_products_id` ( `products_id` );




    Open graph protocol

    <meta property="og:title" content="<?php echo $product_info['products_name']; ?>" />
    <meta property="og:type" content="product" />
    <meta property="og:url" content="<?php echo 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] ;?>" >
    <meta property="og:image" content="<?php print 'http://' . $_SERVER['SERVER_NAME'] . DIR_WS_HTTP_CATALOG . DIR_WS_IMAGES . $product_info['products_image']; ?>" />
    <meta property="og:site_name" content="<?php echo STORE_NAME;?>" />
    <meta property="fb:admins" content="YOUR_ADMIN_KEY_GOES_HERE" />
    <meta property="og:description" content="<?php echo preg_replace('/[^a-zA-Z0-9\s]/','',preg_replace('/\s+/',' ',preg_replace("/
    /", "",strip_tags($product_info['products_description'])))); ?>" />


    Recommended Hosting Company - These guys are awesome


    Upgraded to PHP 5.6. Shipping info stopped being carried to checkout confirmation. At least on first try and orders were not being received. This fixed the problem


    PHP upgrade step to 5.6
  1. Your points are valid. Let me rephrase. If someone is under the impression that they need to change their version of OSC just to make it responsive, they dont. If you are already modifying your CSS so it adapts to the screen size and want to to know if its easy for Google to see it as Responsive, it is.
  2. Hello again. I checked it out. It seems like it is reinventing the wheel for no good reason. Having to manually set up the filters for example.... Im looking for something like a master filter which works in the same manner as "Auto Filter" in excel, ie the results narrow as you select a term from each column You have your filters fields/columns in the product description table eg colour/car/size (for compatibility with EP)
  3. Hi, no, to make the site responsive ie make work correctly on mobile phones, tablets etc. "Altering the CSS will obviously take a bit longer than 2 seconds!"
  4. Whoa. Ill check it out. Thanks!
  5. For anyone that stumbles upon this post looking to make their OSC responsive. Add something like this to the head and customise your CSS accordingly. Takes about 2 seconds. Google will recognize your site as mobile friendly, at least at time of writing. Altering the CSS will obviously take a bit longer than 2 seconds! <link rel="stylesheet" type="text/css" href="stylesheet_800.css" media="screen and (max-width:800px)"> <link rel="stylesheet" type="text/css" href="stylesheet.css" media="screen and (min-width:801px)">
  6. Its be done to death I know. But honestly, how hard would it be to make (for me, impossible!) a tick box filter that sorts products according to specified fields in the product_description table (Im thinking compatibility with EP) I know there are contributions that do something similar but the changes required are too much and the extras are unnecessary (for me) Could there be a dedicated page where the filter is located and which uses the same template as product_listing, therefore keeping the code changes to one page or perhaps involving just the addition of code in a new page. Just putting it out there. In my opinion that lack of a filter feature is a glaring omission and probably 1 of the main reasons stopping people from starting with OSC Regards Someone willing to pay for such a contribution
  7. The Barbara Cartland of OSC Contributions! (In a good way, obviously)
  8. You could consider Amazon and advertising expense. Put some products on there at low prices to build awareness of your business.
  9. On the exporting into the EU front. If UK leaves the EU "free" trade area, UK companies would no longer be required to register for VAT in EU countries if they export over X amount value of goods to end consumers. Also will be sending VAT free to EU. Makes life much easier.
  10. From this page I tried this on product_info.php <style amp-boilerplate>body{-webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:-amp-start 8s steps(1,end) 0s 1 normal both;animation:-amp-start 8s steps(1,end) 0s 1 normal both}@-webkit-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}</style><noscript><style amp-boilerplate>body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}</style></noscript> <script async src=""></script> It breaks the add to cart button... Added it to index.php also And Add to cart works fine...
  11. Spoma So many good reasons why you need the product_model field. You can put a garbage value in it if you want but I would put something meaningful. About using the same number twice. Only do this if you are happy with both products having the same title. You would only use the same product_model twice if you had the same product in two different categories.
  12. Hi, have you any experience running these two contributions together? Can they work together out of the box?
  13. I disabled the normal login box and all okay. I think there may be an issue with the PayPal login box but I didnt look into it, I just disabled it. Awesome contribution thank you
  14. I would check your php settings, specifically upload size, it should have "mb" next to the number eg 20mb
  15. In your php settings you have mb at the end of the number for upload size? if you just have a number without mb EP will say imported but it does nothing.