The Joys of Automatic deployment with SVN/GIT and FTP/SFTP/etc

A while back I was extremely frustrated with shared hosting and the limited tools with which to update the sites I regularly work on. For the most part, shared servers do not allow ssh access. Some do, many don’t. And therein lies my frustration. I do not want to upload my changes every time I [...]

jQuery animated page scroll

I found a nice snippet for animating the page scroll using the standard anchor link. The original snippet can be found on oncemade.com. Below is an updated version that will automatically update all links that use the anchor for navigation. $(’a[href^="#"]‘).click(function(e) { var offset = 20; var duration = 500; var $dest = $(e.target.hash);   [...]

MyGate & PayGate Payment Gateway modules for OpenCart

I have released my first 2 OpenCart payment modules. MyGate Payment Module The payment module works with the MyGate Credit Card processing service to process payments in South Africa. PayGate Payment Module The payment module works with the PayGate Credit Card processing service to process payments in South Africa. There have been a couple of [...]

Simple Breadcrumbs Components/Helper

I made this component/helper a while ago for a site i was building and i thought i would share it with you. It’s a very simple and straight forward way to add breadcrumbs to your site with minimal mess or fuss. Component Code (app/controllers/components/breadcrumb.php): <?php /* author: Matthew Nessworthy http://www.devmatt.co.za/ */   class BreadcrumbComponent extends [...]

CakePHP Daemon Shell

A really excellent and useful CakePHP shell task is the Daemon Task. It allows you to run a pseudo daemon process. I say pseudo because the is no child process detached or anything of that sort. It would actually be more accurate to say that it allows you to run 1 instance of a specific [...]

AJAX jQuery link binding

When building an AJAX site often there will be a large amount of links that need to be processed in a specific way. Namely links will need to load content and replace a DOM element. A very basic way of doing this would be to do the following: $(document).ready(function() { $(’a').livequery(’click’, function() { var $el [...]

Pagination & Containable

Getting the CakePHP Containable behavior to play nice with the built-in pagination.