Willkommen zur Lern-Kaffeepause, heute mit MySQL Befehlen! Ich mag es, auf der MySQL Konsole zu arbeiten. Sie ist überall verfügbar und Tastatur schlägt Maus sobald man die richtigen Befehle und Kürzel kennt. Aber es steckt mehr darin als nur Queries einzugeben. Heute teile ich ein paar Tipps, um Eure Produktivität mit der MySQL Konsole zu steigern:
Die Woche Wochen auf StackExchange #24-29 / 2016
Das wöchentliche Format habe ich ja nicht sehr lange durchgehalten, aber ein paar Beiträge auf Magento StackExchange kamen in den letzten 5 Wochen dann doch zusammen, die vielleicht einen Blick wert sind (und ein neues T-Shirt):
Magento 2
- Eine Produktbild URL in einem eigenen Block auszugeben ist offenbar nicht trivial und kann auf viele Weisen “falsch” gemacht werden: Getting full image URL of product in template
- Wie man eine eigene Search Engine definiert: Magento 2: what is the search_engine.xml? How to declare a new search engine? Zu dem Thema plane ich noch einen eigenen Blog-Post.
- Interessante Entdeckung: Die “area” auf
adminhtml
zu setzen, setzt nicht auch automatisch denadmin
store: Magento 2 integration test in admin context - Und noch eine offene Frage: Right way to implement getExtensionAttributes()
Magento 1
- In How to correctly select the first item from a filtered collection? stelle ich fest, dass man
$collection->getData()
besser nicht benutzen sollte (und den obligatorischen Hinweis zur typischen Performance-Falle) - Eine Kurzübersicht über alle CMS und Email Template Direktiven, oder ein Versuch davon: Why do we have to use “store” for links in CMS like <a href=“{{store url=’home’}}”>home</a>
- Eine Erinnerung, besser
theme.xml
stattlocal.xml
zu benutzen: Is it possible to include a parent local.xml?
- Was ist eigentlich die Einheit des Gewicht-Attributs? What Is The Default Magento Weight Unit And How Can Change It
5 Minuten Tipps: Git
Hier etwas für Montagmorgen. Einige Git Befehle die ihr vielleicht zu eurem Repertoir hinzufügen wollt:
5 Minuten Tipps: Magento Performance Tweaks
Meine “Woche auf StackExchange” Reihe pausiert gerade weil nicht sooo viel bloggenswertes wöchentlich zusammenkommt.
Stattdessen heute mal wieder etwas neues: Tipps zu einem bestimmten Themenbereich, die man sich in maximal 5 Minuten in der Kaffeepause durchsehen kann. Das meiste nicht von mir sondern nur von mir gefunden 🙂
Es soll keine regelmäßige Reihe werden, aber ich denke es kommt das ein oder andere zusammen, was ich bisher lose gesammelt habe. Da nutze ich doch mal wieder das Blog zum Festhalten von nützlichen Dingen und hoffe, es haben noch mehr Leute etwas davon.
Fangen wir an mit Magento Performance Tweaks, alle mit wenig Aufwand, die alle relativ bedenkenlos eingesetzt werden können:
Continue reading “5 Minuten Tipps: Magento Performance Tweaks”
(English) MageStackDay #5 and the moderation discussion
17.-18.6. was MageStackDay, an online hackathon dedicated to the Magento StackExchange site
Die Woche auf StackExchange #23 / 2016
Kurz vor dem 5. MageStackDay, hier einige Fragen und Antwroten auf magento.stackexchange.com von letzer Woche, die euch interessieren könnten:
Magento 2
- Noch ohne Antwrot, und vermutlich gibt es noch keine Lösung (Stand: Magento 2.0): Localized frontend value for getCustomAttribute() (select or multiselect attributes) – aber wie ich in den Kommentaren schrieb:
I’m going to continue to ask these questions when I’m hitting walls, and if it’s just to highlight, where the API is incomplete, especially when it’s about the catalog
- Marius stellte eine gute Frage zum testen von Source Models: Unit testing source models. Neben meiner Antwort zu dem konkreten Fall, sind die Ausführungen von Vinai zu “Sollte ich X testen” und “Wie sollte ich X testen?” wertvoller Rat für jeden.
Magento 1
- Eine Frage zu Logik im Frontend: Where should i put my function if i need it only in one Template?
- Und ein kleiner Trick für das Warenkorb-Template: Adding Line Only X Left in Cart Table Summary Page
Die Woche auf StackExchange #22 / 2016
Ich bin zurück mit frischem Magento Content (und habe die 1000er Marke auf magento.stackexchange.com mit dieser unspektakulären FGITW Antwort geknackt)
Magento 2
- Raphael (DigitalPianism) fragte nach PSR (nicht PCI!) in Magento 2 (what’s the status of M2 regarding PSR compliance?) und ich habe einen Überblick gegeben soweit es mir möglich war. Offensichtlich ist der PSR-8 Huggable Aprilscherz nur von der Community implementiert!
- Ich habe versucht, Kategorien für ein Produkt über die Service Contracts auszulesen (Get Category IDs for Product via Service Contract / API) – leider scheint die Antwort “unmöglich” zu sein
- Mit verknüpften Produkten hatte ich mehr Erfolg (Get child products (Product Type instance) via Service Contract) und konnte außerdem beweisen, dass ich auch in der Lage bin, dumme Fragen zu stellen.
- Und hier eine High-Level Frage, die etwas mehr Aufmerksamkeit brauchen könnte: How to avoid Law of Demeter violation (“Newable objects should not [reference] an injectable object”)
Magento 1
- Eine Frage zum Testen von Zeit-abhängigen Features in Magento 1: How to change magento date/time. Der “mock time()” Trick funktioniert ja nicht, wegen fehlender Namespaces.
Meta Diskussion
Für die, die es interessiert, es gibt eine fortlaufende Diskussion zu “off topic / on topic” und wie man mit dem Schließen von Fragen auf Magento.SE verfahren sollte:
- Are “please write code for me” questions on topic here?
- 3rd party code closes, 2016 part 2
- Dieser Twitter Thread
- To be continued: Fühlt euch frei, teilzunehmen!
Die Woche Wochen auf StackExchange #16-21 / 2016
Nein, ich habe die Serie nicht aufgegeben, allerdings kam mir das Developers Paradise (lest mein Review!) und mein Urlaub dazwischen und ich bin etwas langsamer getreten.
Nun hat sich aber in der Zwischenzeit genug angesammelt, dass es Zeit wird für einen neuen Post:
Magento 2
- Verwirrende Klassennamen und fehlende API Docs versuche ich hier auszugleichen: Magento 2: difference between Api\SearchCriteriaBuilder and Api\Search\SearchCriteriaBuilder?
- Ein Problem mit Unit tests und Code Generierung: Generate factory or proxy in unit tests: “ReflectionException: Class …Factory does not exist”
- In Use preconfigured builders (e.g. for SearchCriteria) in Magento 2 befasse ich mich mit spezialisierten, wiederverwendbaren, seiteneffektfreien Buildern.
- Ein kleines Beispiel für die Verwendung von Repositories der Service Contracts: Get product collection with product ids
- Und passend dazu meine Frage, wann Service Contracts nicht verwenden sollte: Is there ever a reason to prefer $model->load() over service contracts?
- Manche Observer will man lieber nicht haben. So deaktiviert man sie: Remove Observer from third party extension
Magento 1
- Einige Tipps für Collections, die vielleicht nicht jedem bekannt sind:
- Berechnete Spalten: What is the use of addExpressionFieldToSelect over addFieldToSelect?
- Filtern nach berechneten Spalten: CE1.9.2 – Filter Orders collection on hasInvoices()
- Filtern nach berechneten Spalten in EAV: Filter Product Collection By Another Attribute In Product Collection eg ‘attribX’, array(‘gt’ => ‘attrib-Y’)
- Wie man einen Controller (nicht) überschreibt: Overwriting controller vs overwriting action controller request – Offenbar gibt es immer noch Leute, die die alte Variante benutzen.
Framework-agnostische Extensions/Plugins – Iterating Iterators
Der vorerst letzte Teil meiner Blog-Reihe auf integer-net.com über Framework-unabhängigen Code ist draußen: Iterating Iterators.
Vorige Teile
Die Woche auf StackExchange #15 / 2016
Hier kommt das nächste Update mit hoffentlich interessanten Fragen und Antworten auf StackExchange!
Magento 2
- Wie prüft man, ob die aktuelle Seite die Startseite ist? Best way to check if page is home page
- Wie greift man in Magento 2 auf Quote und Order Items zu? Antworten in Magento 2 – How to get all items in cart? und Magento2 Correct Way to get Order items
Offene Fragen
- Es scheint als wäre ich nicht der einzige mit diesem Problem, leider gibt es noch keine Antwort: Magento 2 Admin Panel hangs forever until page refresh. Es sind +150 Punkte Kopfgeld ausgesetzt.
- Nachdem Magento auf der Imagine die neue PaaS Lösung “Magento Enterprise Cloud Edition” vorgestellt hat, konnte ich es nicht erwarten, technische Details dazu zu erfahren: Magento Enterprise Cloud Edition: What are the development and deployment tools?
Magento 1
- Wie man Rewrites auflistet, sollte hinlänglich bekannt sein, aber wie sieht es mit Controller Overrides aus? How to get list of overridden controllers?
Software Design
Diese Woche auch mal etwas von programmers.stackexchange.com:
- Kann/Sollte man das Prinzip der geringsten Verwunderung auf (API) Interfaces anwenden? Principle of least astonishment (POLA) and interfaces
- Wie geht man mit Validierung auf höherer Ebene um? Data validation: separated class or not?