Introduction
Issue #85: No April 1 jokes, just great Craft CMS links, tips and more.
Welcome to another issue of Craft Link List. We’ve got updates to Craft, loads of great tips and plugins. As always, the stuff you read here is produced by the prolific Craft community. That includes you. You can submit your link here.
Thank you to this issue’s sponsors.
Fortrabbit is an official Craft CMS hosting partner with top-notch customer service. If you've got a Craft CMS site to host, check them out.
Freeform by Solspace makes creating complex, customized forms easy.
And thanks to Jalen for helping out with this issue.
Let’s hit the links.
-John Morton
News
Craft 3.1.20.1 released
There have been several Craft 3.1.x releases since the previous issue. Here are some highlights of what's new.
3.1.20 - This release added the project-config/rebuild
console command. You might use this if you manually updated your Craft database.
3.1.19 - The "pagination" release. You can now paginate any type of query using the {% paginate %} tag, not just element queries as the following example shows.
{% paginate craft.query()
.from('{{%sections}}')
.orderBy('name ASC') as pageInfo, pageSections
%}
Here's a quick link to the pagination docs for a refresher on how pagination works in Craft.
3.1.18 - The "throw exceptions on deprecations" release. As you can see in this Github issue, you can now add the following to your config/app.php
file.
return [
'components' => [
'deprecator' => [
'throwExceptions' => true,
],
],
];
Check out the full changelog because there are many tweaks and improvements.
Craft 2.7.7.3 released
Since the previous issue, Craft 2 has had a few minor bug fixes and updates. If you're in the v2 branch, get to updating.
Featured Sponsor

Craft CMS Hosting Partner
We like to automate ALL THE THINGS — except customer support.
Get started with a free trial today! And ask whenever you have any questions.
Tools, tips, and fundamentals
Understanding Project Config in Craft CMS ⭐️
Ben Croker deconstructs Craft 3.1's project config in detail. It's a must-read.
Auto-Complete Craft CMS 3 APIs in Twig with PhpStorm
Andrew kicks off the first of many PHPStorm + Craft links in this issue. He shares "a little magic will give you full auto-complete of all Craft CMS APIs in your Twig templates with PhpStorm."
Yii 2 and Craft CMS 3 Inspections for PhpStorm
Supports Yii 2+ and Craft CMS 3+
- Missing @property annotations; checks property feature annotations (has QF, has Settings)
- Translation message correctness, checks if messages have translations and follow best practices
- Missing translations, checks translation files for missing translations (has QF)
- Unused translations, checks translation files for unused translations (has QF)
Filtering entries in control panel using Searchit plugin
Searchit is a powerful Craft CMS plugin that allows you to filter through content in the control panel. This article from Craft Snippets shows how to filter entries by categories, creating a "category tree" widget.
Search autocomplete component for Craft CMS
Craft Snippets is back with another handy post: A basic search autocomplete component, appending search hints to input. It works out of the box and can be dropped into any Craft project.
Top Craft CMS plugins used at Good Work
Members of the Good Work development team share their favorite Craft plugins.

Carbon gains support for Twig
Carbon, the online tool that generates beautiful code snippet graphics, now supports Twig thanks to Jalen Davenport.
Set up Xdebug for Local PHP Development
If you're making a Craft plugin, or simply debugging some PHP, Xdebug is an important tool to have available. This video walks through getting Xdebug installed and working with PHPStorm. The installation process applies to other editors beyond PHPStorm though.
Xdebug versions are specific to the version of PHP you have. If you need detailed instructions for your version of PHP, visit the Xdebug: Support; Tailored Installation Instructions link: https://xdebug.org/wizard.php
nystudio107: "✅ Semver Tip: Here are 3 quick and common examples
Andrew recently reminded upgraders in the Slack Discord of how to read semver numbers. It's worth repeating. Thanks, Andrew.
1.0.0 = exactly & only this version
~1.0.0 = this version & any _patch_ release (up to 1.0.99̅)
^1.0.0 = this version & any _minor_ release (up to 1.99̅.99̅)
Injecting Environment Variables with Dotenvy | CraftQuest
This is a free excerpt from the longer version of this video which was in the previous issue.
Perfecting your technique
Does Any of This Scare You?
Will Browar shows how an intricate grid design can be built and managed in Craft CMS.
Cutting the Cord: Removing Craft CMS 3 Plugins
Plugins are a fantastic way to add functionality to Craft CMS 3. However, many times you don’t need them at all. So says Andrew, creator of many of the plugins installed on your Craft site.
RSS feed - a template component for Craft CMS
Craft Snippets scores a hat-trick with this post showing how to create a valid RSS feed link in your Craft templates.
Using Axios with Craft and Vue
How to configure Axios to play nice with Craft, and then how to tie that into Vue, by Jake Dohm.
After reading this article, check out Jake's Gist of a Vue component that handles new user account creation the front end using Axios. He's also posted a Login Vue component as well.
Sponsor

Effortlessly build beautiful forms in minutes with Freeform!
Freeform is the most reliable, intuitive and powerful form building plugin for Craft. Everything is at your fingertips in our elegant form builder. It gives you full control to create simple or complex multi-page forms, as well as connect your forms to many popular API integrations. Templating is easy and highly customizable. Our ready-to-go templates and features like built-in AJAX and Conditional Rules Logic will have you ready in minutes! No other form plugin even comes close to comparing! You can trust Freeform (and the team behind it) to deliver the quality and support you expect and deserve.
Plugged In
Expanded Search
This plugin is a port from the Craft 2 version of Expanded Search. It expands Craft's native search by providing additional context for search hits.
Craft CMS trivia: This is the 500th plugin in the Craft CMS Plugin Store.
Breadcrumb
Generate a simple breadcrumb from a URL. It's a good fit for websites that have descriptive and meaningful URLs.
Craft Vipps: Integrate Vipps with Craft Commerce
This plugin provides your Craft Commerce shop with two payment alternatives:
- A normal gateway for Craft Commerce, where a customer can select Vipps when checking out.
- Express Checkout - where a user taps the familiar, orange Vipps Checkout button and jumps right to the Vipps app to pay.
Guest Entries Notification
This plugin sends a notification when a guest creates an entry through the guest-entry plugin.
Algolia
Algolia for Craft CMS allows you to easily pull search results from Algolia into your Twig templates or through REST API endpoints.
Cryptographer
Cryptographer adds Twig filters to encrypt and decrypt content via URL-safe strings. For example, it helps generate URLs for users or entries without revealing usernames, slugs or IDs.
Tips on pricing a Craft plugin
If you’re planning to release a commercial plugin, pricing it can be a tough decision. The Craft CMS documentation includes a section on this topic in the link above.
Business Logic module template for Craft CMS
By design, this module does nothing. It's a simple template to help you quickly create PHP-based interaction with the rest of your Craft site. Install it and add your own functionality.
Craft Webhooks v2 released
The Webhooks plugin got a major update and now includes "the ability to send custom payloads, request logging, and class/event autosuggestions."
Section Field
This plugin provides a field type for choosing sections. This allows content administrators to select from available singles, channels, and structures. Entries using this field can then access these selections in their templates.
Field Labels
Relabel, a handy Craft 2 plugin, has launched on Craft 3 with a new name.
This plugin will allow you to override field labels and instructions for individual entries and element types in the field layout designer. This is useful for when you want to tailor the name or instructions of a field to a particular area, without having to create another (essentially identical) field.
Elasticsearch
This plugin will automatically index your site(s) and in a matter of minutes, your users will be able to benefit from the power of Elasticsearch for their search.
It allows you to choose which part of your contents and entry types are indexable, and launch a reindex if necessary from the admin panel or a command line.
The Craft Advantage

Our Pick for Managing Your Content
Paradigm has chosen a CMS. This post goes into why Craft CMS is the one.