Craft 3 coming into focus.
We've had 3 Craft 3 version releases since last issue. We're now at version 3.0.2937. We're getting Multi-site support. Nice.
There are a number of plugins, and other stories to check out including a number of links that come from a Slack discussion regarding HTML sent from Craft.
If you've got a link to share with me, be sure to get in touch. Want to sponsor an issue? By all means, get in touch. :-)
Let's hit the links.
Coming to Craft 3: Multi-Site
Multi-Site is coming to Craft 3! No extra charge for all Craft editions (even Personal).
Why "Craft::$app" in Craft 3.
If you're wondering about Craft 3's use of
Craft::$app, Brandon mentioned this in Slack on Sept 12.
...the reason Craft 3 does
craft()is namespaces. In Craft 2 everything was in the
Craftnamespace so we could just put the
craft()function in there and everything could access it. But with everything in its own namespaces in Craft 3, that wouldn't be the case. PHP didn't make it possible to import a function from a different namespace until 5.6, and originally Yii 2/Craft 3 supported back to 5.4. Yii 2.1 is going to require 5.6 though, and we've already bumped Craft's requirement to 5.6 in preparation of that, so it's doable now.
Pic Puller: The Instagram plugin for Craft CMS
Pic Puller brings your Instagram media into Craft CMS. Full documentation and code samples get you up and running quickly.
Tools, tips, and fundamentals
The Stack Exchange Zero Hangout
Ben Parizek announced a new ephemeral Craft resource last week, The Stack Exchange Zero Hangout. Sort of the Snapchat version of the Straight Up Hangouts you may be used to.
"These hangouts will not be publicly recorded events, they will just be Google Hangouts focused on answering questions on Stack Exchange and learning together during that process. If you’d like to join, just click on the hangout link when it becomes active at 11am PT [on Fridays]."
Up and Running With Craft CMS (...a different one)
You may think you've heard of this course before, but this is not Mijingo course you're thinking of. Kezz Bracey, writing for TutsPlus, has created a own course and named it the exact same name as the Mijingo course. Too bad about the name confusion, but it's good to have the resource.
Building Landing Pages With Craft CMS
Kezz Bracey followed up the TutsPlus mentioned above with another course dedicated to building landing pages with Craft.
Craft Content Builder Tutorial (in German)
I do not "sprechen sie Deutsch" so I'm cutting and pasting the description below.
In diesem Tutorial zeigen wir euch wir ihr mit Craft eigene Felder definieren und im Template wieder auslesen könnt, um euch dann zu zeigen wir ihr das ganze mit Matrix Felder aufbaut, um an ende mit Neo Fields. Das ganze so Modular wie möglich.
Perfecting your technique
Adding Additional Locales
Did you know you can create custom locales not natively supported in Yii in Craft CMS?
Don’t stop at the system. Automate, then humanize.
This Straight Up Hangout discusses Live Wires and examples of using the Neo field in Craft CMS.
Transcode videos to various formats, and provide thumbnails of the video.
Craft Build Query
A plugin for Craft CMS, demonstrating how to build complex or optimized queries by modifying an ElementCriteriaModel.
A seamless legacy authentication workflow for CraftCMS
The Hacksaw plugin has a new home.
You may be familiar with Hacksaw, the handy text truncation plugin by Ryan Shrum, but the link to it's still-being-upldated-repo has changed.
Premailer for Craft CMS
Premailer uses the Premailer API to inline the CSS for HTML emails. This is especially useful when using the "template" feature in Craft's email settings.
Easily create and submit forms in Craft using Craft’s native email setup.
MJML: The Responsive Email Framework
While we're on the topic of email, this is one of the email frameworks mentioned.
Foundation for Emails
Also mentioned was ZURB's Foundation for Emails. If you're familiar with Foundation, you'll have no problem picking this up.
Limit Block Type
This Craft CMS plugin adds option to limit individual Matrix block types. Useful if, for example, you want to limit the number of images in a photo gallery you're building with Matrix.
A Craft plugin that helps keep your front-end assets free of cache issues after they've changed.
Erik Reagan ported this plugin from EE and is looking for feedback on it.
Assets Browser Plugin for Craft CMS
Browse assets and download from the front end of your Craft site.
Commerce Register On Checkout
Allow user registration during Craft Commerce checkouts.
Commerce Widgets is a Craft CMS plugin that gives you helpful dashboard widgets for your Craft Commerce store.
If you're wondering what ACF is, you can find out here.
plugin name here
It’s not Craft, but it’s interesting.
Equal Height and Width Columns using Flexbox
If you go this route, also check out Flexibility, a JS polyfill for Flexbox.
Connect to MySQL Remotely (with ServerPilot)
This link was mentioned in a discussion about methods of connecting to remote databases.
"Basically this works like it's running mysql locally but sends the results over a standard ssh connection to your database client - looks like Navicat can do this too.
In a nutshell you give it you ssh username and password (or better, private key file) - and the normal DB login details (like the ones you have in db.php) - and away it goes over ssh."
Don't Use "Else"
Code refactoring came up in Slack recently. Here's the first of 3 interesting links from that discussion.
Link #1: This Laracast episode was mentioned and the whole series was given the thumbs up. (This is related to the Craft Collections plugin mentioned in issue #16.)
Foundations of Programming: Refactoring Code
Link #2: This course was also mentioned in the same conversation as a good resource.
Refactoring to Collections
Link #3: Never write another loop again.