home | contact us
» » May


I have just finished a project for a client specialising in Computers and Peripherals to take their osCommerce based site (though heavily customised) and apply a fresh new design to the existing site.

For the design work I have hooked up with local web designers Creode who are actually based in the same office complex as Edmonds Commerce making colaboration a breeze. I have been impressed with the quality of their work and will definitely be hooking up with them for future projects.

Edmonds Commerce’s role in the project was to take the design ideas of Creode and apply them to the existing osCommerce system with the minimum of fuss. We have also added in a few extra nice features such as a popular searches system on sub category pages.

We will shortly be upgrading the site with a streamlined fast checkout procedure as well which will be the icing on the cake.

More…


 

Just came across this and its so cool and easy I had to blog about it straight away..

http://www.fivesecondtest.com/

Basically people see a screenshot of your design and then get 5 seconds to ‘take it in’ and give you feedback on which bits they managed to assimilate.

Very useful :-)


 

Xdebug is an excellent addition to a PHP developers arsenal. However when debugging large arrays etc, the truncating can get in the way.

To stop Xdebug truncating arrays etc when you dump them using var_dump, just make these two additions to your php.ini file:

xdebug.var_display_max_data=9999999999
xdebug.var_display_max_children=9999999999

For a fuller explanation of Xdebug check out this article


 

Just came across userfly, looks like an interesting tool. Would appreciate any feedback in the comments from people who’ve used it.

http://userfly.com/

More…


 

I really like NetBeans IDE for coding PHP. However there are lots of hidden features which are only accessible via keyboard shortcut.

This page lists a bunch of them. Its titled Ruby Shortcuts, but they seem to work just as well for PHP.

More…


 

I just hit an intriguing situation where a page that was perfectly viewable in my browser was not visible via curl.

I scratched my head and messed around testing the page in variety of online proxy services and local web browsers. I even stared messing about with telnet and manually typing headers. My conclusion was that the simpler systems such as text based browsers were not able to see the page and were instead given a 404 message.

However better more modern browsers could see the page. Likewise the page was visible in the Google cache and aso Google Translate.

In the end I downloaded a neat little firefox add-on called Tamper Data. This allows you to tweak your request headers before they are submitted. 5 minutes later I realised that it was the Gzip compatibility which was causing the issue.

Curl (being the awesome tool that it is) can handle Gzip compression, but I wasn’t using it. I have now added the following line to my curl function and I am pulling pages fine.

 if(!empty($compression)){
    curl_setopt($go,CURLOPT_ENCODING , $compression);
 }

More…


 

I’ve been using spotify a lot recently. For coding work you can’t beat a nice classical playlist, however I have found the classical collection of music on Spotify to be really quite hit and miss, with an unfortunate bias towards those tragic classical music meets 90′s electronica abominations… :S

So I have started filtering out all the decent classical recordings that I find and storing them in this playlist.

More…


 

This week has seen the full launch of 247Electrical.co.uk. The site is based on Magento and the specific requirements where that it needs to be able to handle a large scale catalogue with frequent updates whilst still enjoying all the fancy features such as layered navigation and custom attributes.

As Magento’s own bulk catalogue handling tools are a little bit underpowered and overbloated, the solution was to create a standalone system for handling csv file uploads and then pushing this data across to the Magento database directly without that much interaction with the Magento codebase. We have managed to achieve product insert times (including building category structure and handling custom attributes) of around 0.1 second per product.

The result is a large fully featured catalogue that can be torn down and rebuilt in a matter of minutes. Stock and Price information can be updated even faster, with a full catalogue stock and price level update taking only a matter of seconds.

More…


 

If you are doing any kind of bulk updating etc then you also need to make sure that you rebuild all of the caches and indexes after your bulk updates otherwise things can go wrong.

I have just managed to get the following script to work including when flat catalog is enabled (thanks to Nick of Meanbee for the Mage::app() tip).

This script can be called from the browser (I would highly recommend some form of IP restriction or other security) or called from a cron job.

<?php
$magePath = '/path/to/Mage.php';
require_once $magePath;
//Varien_Profiler::enable();
//Mage::setIsDeveloperMode(true);
//ini_set('display_errors', 1);
umask(0);

Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID); 

echo '<h3>Cleaning overall Cache</h3>';

flush();
// clean overall cache
Mage::app()->cleanCache();
echo 'done';

flush();
echo '<h3>Cleaning Catalog Rewrites</h3>';

flush();
// clear 'refresh_catalog_rewrites':
//Mage::getSingleton('catalog/url')->refreshRewrites();
Mage::getModel('catalog/url')->refreshRewrites();
echo 'Catalog Rewrites was refreshed succesfuly<br>';

flush();
echo '<h3>Cleaning Image Cache</h3>';

flush();
//  clear 'clear_images_cache':
Mage::getModel('catalog/product_image')->clearCache();
echo 'Image cache was cleared succesfuly<br>';

flush();
echo '<h3>Cleaning Layered Navigation</h3>';

flush();
//  clear 'refresh_layered_navigation':
Mage::getSingleton('catalogindex/indexer')->plainReindex();
echo 'Layered Navigation Indices was refreshed succesfuly<br>';

flush();
echo '<h3>Clearing out Search Index</h3>';

flush();
Mage::getModel('catalogsearch/fulltext')->rebuildIndex();
echo 'Search index was rebuilt succesfully<br>';

flush();
echo '<h3>Rebuilding Flat Category</h3>';
Mage::getResourceSingleton('catalog/category_flat')->rebuild();
echo 'flat category was rebuilt successfully<br>';

flush();
echo '<h3>Rebuilding Flat Products</h3>';
Mage::getResourceSingleton('catalog/product_flat_indexer')->rebuild();
echo 'flat product was rebuilt successfully<br>';

flush();

More…


 

I’ve been spending a hell of a lot of time coding Magento recently, and for any full time serious ecommerce business I would recommend a Magento solution. However I have spent much more of my time coding osCommerce and usually CRE Loaded osCommerce based ecommerce sites.

CRELoaded is still a great package (once you get rid of the annoying nags and ads) and is really taking the osCommerce platform and polishing it up to a nice usable fully featured system. If you are looking for a UK based developer who specialises in ecommerce, osCommerce and CRELoaded development then definitely get in touch. Don’t be surprised though if I mention that Magento is definitely worth a close look!

More…


 
rss icon