The current Magento2 version is 2.0.0.0-dev45 and I would like to build a simple HelloWorld! extension. I guess the current version isn't that different to Magento1 and maybe it doesn't make that much sense to write this right now, but I just want to show the little difference in this moment.
Today I want to make a little review about PHP Data Persistence with Doctrine 2 ORM from Michael Romer. Like I said in a few posts ago, I just developed Magento Shops and worked with the Zend Framework. But there are so many cool libraries and frameworks for webdevelopers that I never tested. One of these things is the Doctrine Project.
"The Doctrine Project (or Doctrine) is a set of PHP libraries primarily focused on providing persistence services and related functionality."There isn't any other book outside for Doctrine. Maybe, because the documentation is very good. But I wanted a german. I know, I'm presenting the english one, but I did read the german version. If I buy a book, I expect from the author not only knowledge about the a framework or library. I also expect things like common styleguide and some practical experience. The book is published by leanpub. A very cool publisher for ebooks about IT stuff. You just have to write a ebook and can publish it over leanpub. The books will be published in the working progress, often you just have 10% of the book and it will grow. They are not that expensive, but the main problem is, the books aren't that professional.
I just wanted to write my first Hello World extension in Magento2, but it wasn't that easy. The normal way in Magento is to create a <module>.xml in app/etc/modules. For example my extension should have the Name Lesti_HelloWorld, I would create app/etc/modules/Lesti_HelloWorld.xml with the following content:
<?xml version="1.0"?>
<config>
<modules>
<Lesti_HelloWorld>
<active>true</active>
<codePool>community</codePool>
<depends>
<Mage_Core/>
</depends>
</Lesti_HelloWorld>
</modules>
</config>I stared the repository of magento2 since 1 year, but I never did take a look at it. Today I wan't to change this. My current status is commit a15ecb31976feb4ecb62f85257ff6b606fbdbc00. Maybe in a few weeks all of my post isn't the latest. Let's install magento2.
Since version 1.1.1 of Lesti_Fpc I get more support requests for the layered navigation. I did change the behavior of key generating in Lesti_Fpc to get more hits in the cache. I added the new field Uri Params in the configurations and wrote a post about it. This post is all you need to get your layered navigation work, but I guess it would be better to explain it again an example.
A few days ago, I bought me an ebook reader. I need a smart solution for the 2 hours in the subway each day. I just want to learn new frameworks or any other computer things. It was clear, the reader should at first support epub format. My choice was the kobo and I'm happy with that. But were did I get my ebooks from. Sure there are a lot of (free) ebooks in the web. But I want to support the authors and I can't write a critic review of a book I never paid for. Yes, I want to pay for my books, but I will never download books with DRM and install me any Adobe shit. It's very funny, many publisher have there own books without DRM and the reseller with DRM. But there are two publisher I did like very much in the last days. The first one is leanpub.com. You get good and also very bad books for mostly 10 to 20$ in all formats without DRM. A big disadvantage and also a advantage, the author can publish the book in a nonfinished status and you never know if it will be finished. The second Publisher is packtpub.com, a good known publisher from the old paper times. I like there instant books. Just 10$ and you get a more detailed tutorial I would say. And today I would like to say a little bit about Backbone.js Application Development from Thomas Hunter II.
Two weeks ago, I did get my first bad review on magento connect. The review was for the extension Lesti::Smtp. I can't say how frustrating it was for me. I guess I'm able to take criticism and I know it looks very childish to write a post about it, but I just want say my oppinion about it. Here can you see the review of digisiil.
In the first post I wrote a little summary of the vagrant Getting Started Documentation. But the only thing that has been working was a apache. And for my project I need also mysql and php. I did take a look at a repository of Danilo Braband who made a very cool Magento Skeleton with vagrant, n98 and composer. If you are a magento developer, take a look at it.
In the last 3 years, I had mad a few steps in developing. In the very first days, I had uploaded files with ftp or sftp on the server. After one year I had my first big job in a little team and that was the first time I heard about version control. It sounds crazy, but I never had imagine that there were tools around coding that can bring you such a big benefit. And now, there are that much tools around coding. A good developer has to know so much about things like pipelining, version control, frameworks, desing patterns, testing, security and much more stuff. And today I want to check an other little thing. Vagrant. First I heard about it from Danilo Braband. He made a cool presentation about it, but I was a little bit critical. I thought:"I didn't need more fancy tools, I guess I can live without it". But a few weeks later, I did see more and more little Vagrantfiles on github and in practice it's very efficiently . And today I want to make my own first steps with vagrant.
Lesti_Fpc needs the name_in_layout of a block to make that block lazy or dynamic. Magento needs a unique identitfier for every block in the layout. That is the Name in Layout of a block. You can get this name with the following function.
$blockName = $block->getNameInLayout();
Or you can find the name in the layout.xml of your extensions. For example the app/design/frontend/base/default/layout/checkout.xml.
<!-- ... -->
<block type="checkout/cart_sidebar" name="cart_sidebar" template="checkout/cart/sidebar.phtml" before="-">
<!-- ... -->
The searched attribute is name.