If you're a conscientious web developer you make sure when you update static assets, like CSS and javascript, that your site forces a visitor to download a fresh copy with the updated code in it. This is otherwise known as cache-busting.
CMS Articles
My must-have Processwire modules
Since I first wrote a review of Processwire more than six years ago, I've gone on to be an active user of the CMS and have used it on quite a few sites over the years. If you do a search for favourite your-preferred-cms plugins/modules/add-ons
, you'll get a lot of results, but there doesn't appear to be anything that's been written for Processwire, other than a forum thread which is a few years old now.
Upgrading to ExpressionEngine 5
It's only taken four and a bit years, but I finally got around to updating ExpressionEngine on this site. The site was running 2.11.9 and it's now on the latest version, 5.2.4. The main reason for the upgrade was because the way I had been dealing with images and code in blog posts wasn't ideal, it wasn't very flexible or user-friendly when creating content, and on the front end, the output wasn't responsive enough.
More Stash examples
Adding a link list to TinyMCE with ExpressionEngine
Yesterday I was working on the planning of a new site to be built with ExpressionEngine and was wondering about the best way to let editors link to other entries from within the body of an entry they're creating or editing. ExpressionEngine doesn't have this sort of functionality built into it by default so I asked on Twitter to find out if anyone knew of any add-ons that had been created that might do this.
Redesigning ExpressionEngine sites
With ExpressionEngine you give your clients a lot of power and flexibility to update the content of their own site, but at some point in a site's life there's going to come a time when changes will be required that the site owner or his/her staff can't do themselves via the control panel. Changes to a logo or other graphical elements of the site, adding new sections or functionality, giving the site a new 'skin' or theme, or completely rebuilding from the ground up will require a designer of developer to get involved.
Calling a Wordpress loop from inside a Wordpress loop
Recently I came across a sitution whereby I wanted to call a list of Wordpress posts from inside the body of another post, i.e., not coding it into a template, but embedding into the body of the post itself. Not a big drama
, I thought to myself: I already have the exec-php plugin installed to enable the execution of PHP from within Wordpress posts, so all I needed to do was call the Wordpress loop from the point inside the post where I wanted my list of links to appear, e.g.:
Removing unwanted fields from TinyMCE’s image and link popup windows
If you use TinyMCE in your Content Management System (CMS) projects, you no doubt also give clients the ability to add images and links to their content with TinyMCE's Link and Image buttons. But by default, these popup windows come with a variety of fields into which unsuspecting clients can input values which will translate into unwanted code when delivered to the page.
More on Removing unwanted fields from TinyMCE’s image and link popup windows →
Fetching posts in Wordpress and ExpressionEngine with jQuery and AJAX
Recently I was asked by a client to do some customisation of a Wordpress site to enable a site visitor to load posts from a certain category into the same part of the page via AJAX. This could have been done in a couple of different ways – using AJAX as requested; or all the posts could've been printed to the page, with javascript then used to hide all but one and also used to navigate between them in some sort of hide/show, fading/sliding effect. I've done similar things like this before using jQuery, but there were two reasons why I didn't go that route on this occasion:
- With javascript turned off, all the posts from the selected category would've been displayed on the page and as the design called for three short columns of text on the page, having one column much, much longer than the other two would really have looked wrong.
- The client specifically asked for AJAX to be used.
Custom ExpressionEngine template solutions
I have come across a few little solutions/fixes recently to various problems I've encountered when building sites with ExpressionEngine (EE) that I thought it would be worth sharing. A couple of these were tips I picked up from other posters on the EE forums and the third was one I came up with myself to solve a particular problem I had.