One of the things Magento 2.1 doesn’t bring to the table is the ability to symlink your modules and other components. It’s hard to tell if this is a deliberate omission, or just something that’s not a priority for the development team and keeps getting lost in the shuffle. If you checkout the Context section of this [...]
astorm
This is another one of those 10,000 foot view posts, as much to get my own head straight about something as anything else. In programming, the term scope usually means If I’ve defined variable X “here”, where else can I access it? Magento’s core team have borrowed the term scope to described Magento’s [...]
astorm
How Can I Resolve a RequireJS Alias in Magento 2? A quick command line that will, usually, resolve those RequireJS map/shim/alias things that often obscure where a file lives in Magento 2. Spoilers find vendor/magento/ -name requirejs-config.js -exec grep addToCart '{}' +
astorm
While KnockoutJS bills itself as an MVVM (model, view, view model) framework, PHP developers will find the model portion a little thin. KnockoutJS itself has no native concept of data storage, and like many modern javascript frameworks it was designed to work best with
astorm
I was investigating Magento 2’s TinyMCE implementation the other day, and came across this #File: vendor/magento//magento2-base/lib/web/mage/adminhtml/wysiwyg/tiny_mce/setup.js define([ 'jquery', 'underscore', 'tinymce', 'mage/translate', 'prototype', 'mage/adminhtml/events', 'mage/adminhtml/browser' ], function(jQuery, _, tinyMCE) [...]
astorm
Before we can continue our exploration of Magento's advanced javascript features, we need to take a crash course in KnockoutJS. KnockoutJS bills itself as a javascript MVVM system, and its the dominant DOM manipulation framework in Magento 2.
astorm
Magento 2, KnockoutJS ViewModels, and Scope Binding A self answer from me over on the Magento StackExchange. The short version – Magento applies knockout bindings without a default view model. The Magento_Ui/js/core/app module/program, embeded via x-magento-init, adds view model objects to the uiRegistry. Finally, Magento has [...]
astorm
Magento 2’s core javascript library ships with a basic implementation of a class based object system, and the uiComponent feature uses these classes and objects extensively. The base class is the Magento_Ui/js/lib/core/class module/object/function, and you create a new instance of the class using javascript build-in new keyword. [...]
astorm
Today we're starting a new series that will cover advanced Javascript systems in Magento 2. This series is sponsored by my patreon campaign. If you like what you see here, please consider donating to keep the tutorials coming.
astorm
KnockoutJS: What Does Calling applyBindings Without Arguments do? Getting into Magento 2’s KnockoutJS implementation, and being slightly annoyed at the JS world. Knockout’s a great framework, but by positioning themselves as an MVVM framework they create the impression that Knockout itself is enough to contain your entire [...]
astorm
First, lets bask in the awful yet accurate glory of my original title for this quickie: Dependency Injection Argument Specific Instance Objects. If you’ve worked your way through my Magento 2 Object Manager series, you know its possible to tell Magento’s object system that a particular object should be instantiated every time [...]
astorm
Rackspace Magento Hosting Post Mortem – Dev Notes Rackspace has fallen a long way from the days of the defacto preferred Magento host.
astorm
The short version: I've started a Patreon. Donating will help me take on less consulting projects, giving me more time to write, which means I can start diving into the new features of Magento 2.
astorm