Jump to content

jwilkins

Members
  • Content count

    62
  • Joined

  • Last visited

1 Follower

About jwilkins

  • Birthday 07/20/1981

Profile Information

  1. Rob, I just wanted to add 'another' big thumbs up to you and your KissMT Dynamic SEO Meta & Canonical Header Tags contribution. Since installing, I have seen an increase in sales by nearly 300%! That's without spending any time in making further use of your extended options. So, 300% increase 'out-of-the-box'. Not bad going! I highly recommend anyone using the other header tag contributions giving FWR Media's module a go instead! Thanks again, James
  2. I totally agree.. You've done an excellent job at retaining the original look, something which is very hard to do (considering how outdated the stock site looks! ;) ). Visually there won't be much difference apart from the product_listing table and a few "quirks" on the infobox styling (which I haven't got around to fixing just yet), but all the catalog files (and stylesheet) are now W3C compliant and I'm making good progress on the admin end..
  3. Ultimately that's what it will become, pre-built with contributions installed. However, at the moment, the site (built off a snapshot of GitHub 26/02/2010) is free from contributions that require any installation. That being said, it's a 'full site', so you can drop it into your dev environment (recommended) and run it up. It's good to go. In place of some of your code, I added a contribution that removed the need for the infoBox class (infoboxes now use <ul><li></li></ul> and CSS, plus your CSS product_listing enhancement (referenced on the download page at code.google.com)), which had a 'better' feel to it. Of course, this goes beyond what you had in place (some extra code has been removed, left over for Article Manager and X-Sell to make it a more 'stock' site), but for someone adept at 'merge-compare', or for yourself to merge the valid HTML into your contribution, it may act as a usefull addition. If not, then that's cool :) James
  4. I think that was intended for me?? If so, you can grab a copy now.. it's on Google Code, so anyone can take a copy.. http://code.google.com/p/blackgoggles-tableless-osc-plus/downloads/list This is "work in progress" at the minute and part of a larger picture.. i.e a "full" store all the "usual" contributions in place for people to use if they like. I plan to firstly valdiate the admin, then convert this to tableless, then add in some of the more usefull contributions, then to re-work the whole thing so that it feels a bit more Web 2.0. You'll notice that it's in 'RC' state at the moment.. so credits, working notes, finalised framework from the osC team, etc all need to be applied as I make some more progress. No credits are needed for me.. it's all your work to date anyway :thumbsup:
  5. No probs.. thanks for taking the time to put the initial release up. I have made a few amendments to suit my own needs, but a lot of it can be re-applied back into your build.. James
  6. This may or may not be of any use to people, but I have combined this contribution along with a GitHub snapshot as @26/03/2010. I needed to make a few adjustments to this contribution for HTML validation purposes and remove some of the code left over from testing other contributions (X-Sell, Article Manager etc). So now, the contribution validates across all pages (including all account, checkout pages etc) and is compatible with osCommerce's upcoming release. Due to the difference in base code, I haven't 'polluted' this contribution, but attach a link to where I'm further developing: http://code.google.com/p/blackgoggles-tableless-osc-plus/ James
  7. I just wanted to pass on a message of gratitude to Rob for this excellent module and to encourage anyone who hasn't yet applied it to their stores, to do so! Why have I said the above? Well, since moving away from HTSEO (which was fiddly and time consuming) and now using KissMT instead, every facet of my SERP results has improved. Not only in the result pages (now that Google has begun re-crawling my site with great effect), but the fact that the effort by Rob has turned into sales... yes, £££! I have not as yet begun using KissMT to its full potential, rather just use an 'out of the box' scenario whcih has now generated me more income over the past 3 weeks than ever before! So I urge people to give KissMT a go! For those, who like myself, have a lot of projects on the go and use their ecommerce site as a secondary or tertiary source of income, this module will suit you down to the ground.. you don't have to do anything at all! Just think about your product descriptions (which you should have done anyway) and away you go! Once again, thanks Rob.. this has worked brilliantly for me!
  8. Lol.. no problem.. I'll add it to my "to do" list too.. this "game" is never ending! Re: PHP 5.3 - there are a number of localhosts out there now offering PHP 5.3 as their runtime. It may be worth getting your hands on one to stay ahead of your host. You'll be surprised at how many deprecated functions need to be dealt with.. not just with this contribution..
  9. Hi Tigergirl, I really wouldn't have minded applying the edits for you.. it wouldn't have taken long to do! Anyway, for your rmstandardparcel.php, the edits you suggest look spot on. If you have any more of the shipping modules for the contribution, the same changes to split() would apply.. by replacing with preg_split("/.../") Cheers James
  10. jwilkins

    All Products SEO

    Super! I shall adjust my edits with the ones suggested by yourself. James
  11. jwilkins

    All Products SEO

    Jack, Just some thoughts and a bit of code I changed to suit. A friends site had a large number of disabled products that were being extracted within the all-products scrip. He wants to be able to retain the core osC function, but also run his all products code to output only those products that are set to active. Therefore I have changed the code lines below in *catalog*/all-products.php Original code: $firstletter = tep_sanitize_string($_GET['fl']); $where = ''; if (in_array($firstletter, $letters) || in_array($firstletter, $numbers)) { $where="where pd.products_name like '$firstletter%' AND p.products_status='1' "; $breadcrumb->add(NAVBAR_TITLE . '-'. $firstletter, tep_href_link(FILENAME_ALLPRODS_SEO, 'fl='.$firstletter, 'NONSSL')); } Changed to: $where = "WHERE p.products_status='1' "; if (in_array($firstletter, $letters) || in_array($firstletter, $numbers)) { $where= $where . "AND pd.products_name like '$firstletter%' "; $breadcrumb->add(NAVBAR_TITLE . '-'. $firstletter, tep_href_link(FILENAME_ALLPRODS_SEO, 'fl='.$firstletter, 'NONSSL')); } And then a bit further down the file: $exist_query = tep_db_query("select 1 from " . TABLE_PRODUCTS_DESCRIPTION . " pd inner join " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c on pd.products_id = p2c.products_id left join " . TABLE_CATEGORIES . " c on c.categories_id = p2c.categories_id " . $whereLetters . " and language_id = " . (int)$languages_id . " limit 1"); To: $exist_query = tep_db_query("select 1 from " . TABLE_PRODUCTS . " a, " . TABLE_PRODUCTS_DESCRIPTION . " pd inner join " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c on pd.products_id = p2c.products_id left join " . TABLE_CATEGORIES . " c on c.categories_id = p2c.categories_id " . $whereLetters . " and language_id = " . (int)$languages_id . " and a.products_id = pd.products_id and a.products_status = '1' limit 1"); And one last one: $exist_query = tep_db_query("select 1 from " . TABLE_PRODUCTS_DESCRIPTION . " pd inner join " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c on pd.products_id = p2c.products_id left join " . TABLE_CATEGORIES . " c on c.categories_id = p2c.categories_id " . $whereNumbers . " and language_id = " . (int)$languages_id . " limit 1"); To: $exist_query = tep_db_query("select 1 from " . TABLE_PRODUCTS . " a, " .TABLE_PRODUCTS_DESCRIPTION . " pd inner join " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c on pd.products_id = p2c.products_id left join " . TABLE_CATEGORIES . " c on c.categories_id = p2c.categories_id " . $whereNumbers . " and language_id = " . (int)$languages_id . " and a.products_id = pd.products_id and a.products_status = '1' limit 1"); This now only pulls those products that are set to 'active' within the database and eradicates the listing of inactive products. I just thought I'd pass the idea along... James
  12. Hi Tigergirl, No problem.. In the latest version by Chris (and possibly ones preceding (although I haven't checked)), the function split() has been used. This has become deprecated (throws a deprecated error) in PHP 5.3.x and will be removed by PHP 6.0.x The files I edited for the updated package were all located in *catalog*/includes/modules/shipping/ *and then any rm__.php file for this contribution. The split() function can be replaced by a few others, I chose preg_split(). If you like, PM me and I'll reply with my email address, whereby you can (if you wish) send over the files associated with this shipping contribution and I'll update them for you.
  13. A new package has been uploaded to incorporate the PHP 5.3 fix for split() For those who wish to update, simply overwrite your exisiting *catalog*/includes/modules/shipping/ files with the ones contained in the package. However, this is a FULL package if you are a new user. Version 2.2.1 is located here Thanks to Chris for this superb shipping module! James
  14. PHP 5.3 deprecated function split() Hi Chris, Just working my way through PHP 5.3 locally (before my host upgrades!) and came across a the need to replace split() in the includes/modlues/shipping/xxx.php files. I have posted below my "workings", replacing split() with preg_split() (although explode() or others may be better used?!) For those who wish to stay ahead of PHP 5.3, these are the amendments to make (which will clear the deprecated warnings for split()). *catalog*/includes/modules/shipping/rmfirst.php find: // Check if destination is a valid one for this method if (defined('MODULE_SHIPPING_RMFIRST_COUNTRIES_' . $this->num_zones)) { $countries_table = constant('MODULE_SHIPPING_RMFIRST_COUNTRIES_' . $this->num_zones); $country_zones = split("[,]", $countries_table); Replace with: // Check if destination is a valid one for this method if (defined('MODULE_SHIPPING_RMFIRST_COUNTRIES_' . $this->num_zones)) { $countries_table = constant('MODULE_SHIPPING_RMFIRST_COUNTRIES_' . $this->num_zones); $country_zones = preg_split("/[,]/", $countries_table); Next find: // Check if destination is a valid one for this method $countries_table = constant('MODULE_SHIPPING_RMFIRST_COUNTRIES_' . $this->num_zones); $country_zones = split("[,]", $countries_table); Replace with: // Check if destination is a valid one for this method $countries_table = constant('MODULE_SHIPPING_RMFIRST_COUNTRIES_' . $this->num_zones); $country_zones = preg_split("/[,]/", $countries_table); Next find: // Find the shipping cost $zones_table = split("[:,]" , $zones_cost); Replace with: // Find the shipping cost $zones_table = preg_split("/[:,]/" , $zones_cost); *catalog*/includes/modules/shipping/rmfirstrec.php find: // Check if destination is a valid one for this method if (defined('MODULE_SHIPPING_RMFIRSTREC_COUNTRIES_' . $this->num_zones)) { $countries_table = constant('MODULE_SHIPPING_RMFIRSTREC_COUNTRIES_' . $this->num_zones); $country_zones = split("[,]", $countries_table); Replace with: // Check if destination is a valid one for this method if (defined('MODULE_SHIPPING_RMFIRSTREC_COUNTRIES_' . $this->num_zones)) { $countries_table = constant('MODULE_SHIPPING_RMFIRSTREC_COUNTRIES_' . $this->num_zones); $country_zones = preg_split("/[,]/", $countries_table); Next find: // Check if insurance is available $compensation_table = split("[:,]" , $compensation_cost); Replace with: // Check if insurance is available $compensation_table = preg_split("/[:,]/" , $compensation_cost); Next find: // Check if destination is a valid one for this method if (defined('MODULE_SHIPPING_RMFIRSTREC_COUNTRIES_' . $this->num_zones)) { $countries_table = constant('MODULE_SHIPPING_RMFIRSTREC_COUNTRIES_' . $this->num_zones); $country_zones = split("[,]", $countries_table); Replace with: // Check if destination is a valid one for this method if (defined('MODULE_SHIPPING_RMFIRSTREC_COUNTRIES_' . $this->num_zones)) { $countries_table = constant('MODULE_SHIPPING_RMFIRSTREC_COUNTRIES_' . $this->num_zones); $country_zones = preg_split("/[,]/", $countries_table); Next find: // Get any insurance values entered $compensation_cost = constant('MODULE_SHIPPING_RMFIRSTREC_COMPENSATION_' . $this->num_zones); $compensation_table = split("[:,]" , $compensation_cost); Replace with: // Get any insurance values entered $compensation_cost = constant('MODULE_SHIPPING_RMFIRSTREC_COMPENSATION_' . $this->num_zones); $compensation_table = preg_split("/[:,]/" , $compensation_cost); Next find: // Get the cost to ship to the destination zone $zones_cost = constant('MODULE_SHIPPING_RMFIRSTREC_COST_' . $this->num_zones); $zones_table = split("[:,]" , $zones_cost); Replace with: // Get the cost to ship to the destination zone $zones_cost = constant('MODULE_SHIPPING_RMFIRSTREC_COST_' . $this->num_zones); $zones_table = preg_split("/[:,]/" , $zones_cost); This may take some time typing out the necessary adjustments for all files. Chris, I may upload a *new* fileset in the contribution page (could be a hell of a lot quicker!). However, let me know if you would rather compile the changes yourself (you may have updates to add anyway!) Cheers James
  15. PHP 5.3 deprecated function ereg_replace() Just working my way through PHP 5.3 locally and came across a the need to replace ereg_replace() with preg_replace(). In order to fix the deprecated function, navigate to: *catalog*/includes/functions/general.php and find this block of code: function tep_limit_text ($text, $maxchar, $wordlength = 40) { $text = str_replace ("\n", ' ', $text); $text = str_replace ("\r", ' ', $text); $text = str_replace ('<br />', ' ', $text); $text = wordwrap ($text, $wordlength, ' ', true); $text = ereg_replace ("[ ]+", ' ', $text); $text_length = strlen ($text); $text_array = explode (" ", $text); And change to: function tep_limit_text ($text, $maxchar, $wordlength = 40) { $text = str_replace ("\n", ' ', $text); $text = str_replace ("\r", ' ', $text); $text = str_replace ('<br />', ' ', $text); $text = wordwrap ($text, $wordlength, ' ', true); $text = preg_replace ("/[ ]+/", ' ', $text); $text_length = strlen ($text); $text_array = explode (" ", $text); This will fix a notice in your column_left/column_right.php James
×