Introduction
Issue #54: Plugging into Craft 3
Since last issue, Craft 3 RC1 & RC2 have been released along with the built-in Plugin Store. The number of plugins released in such a short time has been amazing. We're well past 100 Craft 3 plugins already. You'll see some of them included in this issue that have come up in Slack discussions recently.
We’ve also got links for getting up to speed on Craft 3, upgrading from Craft 2, tips for making Craft 3 plugins and more. If you’re wanting to get your own plugin listed in the store, there’s a guide for that here as well.
This issue's sponsor is me, hawking Pic Puller for Craft, which is now available for Craft 3 in the plugin store. Check it out if you need your Instagram images in your Craft site. If you want to sponsor a future issue, please drop me a line.
Let's hit the links!
-John
Top Stories
Setting up a New Craft CMS 3 Project ⭐️
Andrew Welch has a great intro to Craft 3 including how and why you might want to make your own custom project to install Craft 3 just the way you like it.
Upgrading from Craft 2
I try not to repeat links in CLL, but this link to the Upgrade from Craft 2 to Craft 3 seems worth the redundancy.
The first step to upgrading your site to Craft 3 is updating the CMS itself.
News
Craft 3 RC2 released
Among the updates in RC2 were a couple security fixes, including a XSS vulnerability in the control panel.
Craftmas 2017 from Top Shelf Craft
Santa Rog is coming to town. If you're not on the Nice List by Christmas Eve, no presents for you.
Featured Sponsor

Pic Puller: The Instagram plugin for Craft CMS 2 & 3
Pic Puller brings your Instagram media into Craft CMS with one-click authorization. Full documentation and code samples get you up and running quickly. Learn more at picpuller.com or find it in the plugin store in your Craft 3 control panel.
Tools, tips, and fundamentals
Craft 3 Plugins
The new home for Craft 3 plugins, outside the one built into your Craft 3 control panel.
devMode.fm | Talking Craft CMS RC1! ⭐️
There’s a new podcast you’ll probably want to check out. Whether you’re a regular participant or lurker in the Craft Slack, you’ll see (or hear, I guess) some folks you know quite well. Episode 1 kicks off with a discussion of Craft CMS RC1.
Generated a plugin for Craft 3 before RC1?
Update your "semver" so it will install on RC1 and later.
Craft 3 RC Upgrade killed the WYSIWYG Editor
But the WYSIWYG editor still lives via the Plugin Store.
Postico
If you're interested in local postgreSQL development and want something like Sequel Pro, the MySQL tool, Postico was recommended as a tool to check out. It's a "Modern PostgreSQL Client for the Mac."
Using Laravel Mix with Webpack for All Your Assets
Laravel Mix provides a fluent API for defining Webpack build steps for your application using several common CSS and JavaScript pre-processors.
Macros imported to parent template are not accessible in child templates
A fix in Twig might affect your upgraded-to-Craft3 site depending on how you used macros in Craft 2:
"The fact that macros imported in the parent were available in the child templates is a side effect of the old implementation, and it was never supported officially. Note that we are aware of the fact it does not work anymore."
Get full auto-completion of the Craft app APIs in PhpStorm
Get full auto-completion of the Craft app APIs in PhpStorm in your Twig templates. Enable the Symfony plugin.
Then add this to the top of your templates:
{# @var craft \craft\web\twig\variables\CraftVariable #}
This tip is now part of “So You Wanna Make a Craft 3 Plug-in.”
If you find this handy, Oliver Starck also suggested adding {# @var entry \craft\elements\Entry #}
to your templates for autocompletion of the entry variable.
Perfecting your technique
Troubleshooting rendering performance issues
A YouTube video looking at detecting, pinpointing, measuring, and fixing rendering performance issues.
Macroable: A trait to dynamically add methods to a class
A trait to dynamically add methods to a class. I fully admit that I don't know what that means but friends in Slack were very excited about it. If you're also interested, you might want to check out this article on extending yii behaviors in Craft 3 mentioned in issue #51.
A bunch of Yii2 resources
A Slack user posted a host of Yii2 resources recently. Here they are:
- https://yii2x.com/
- https://code.tutsplus.com/series/how-to-program-with-yii2--cms-725
- https://code.tutsplus.com/series/building-your-startup-with-php--cms-742
- http://www.yiiframework.com/doc-2.0/guide-index.html
- https://www.packtpub.com/mapt/video/web_development/9781783553037/6594/6632/the-course-overview
- https://www.youtube.com/watch?v=GtHB58-JA38
- https://leanpub.com/yii2forbeginners (book)
Plugged In
About getting your plugin in the Plugin Store ⭐️
Let’s say you’ve got your plugin written. How do you get it into the plugin store? Check out this guide for the details.
A CMS Guide for Craft CMS version 3.
Use this plugin to create your CMS Guide within a section of the Control Panel and write your own Dashboard welcome widget.
Schema
A fluent builder Schema.org types and ld+json generator based on Spatie's PHP schema-org package for Craft 3.
Craft Scout
Craft Scout provides a simple solution for adding full-text search to your entries. Scout will automatically keep your search indexes in sync with your entries.
Craft3 Dumper
Bringing larapack/dd to your Craft3 website. I laughed like a schoolkid at the name of this plugin.
Overheard
It’s not Craft, but it’s interesting.
Moving beyond just using a CMS exclusively
This video walks through the journey from being “just a CMS” person being a more rounded practitioner, a front-end Developer, full-stack developer or a back-end developer.