Statischen Block bei Magento anzeigen

Ich war nach einem Hack, mit dem ich auf die Schnelle einen Block in Magento ausgeben kann. Den Umweg über XML und einer Template-Datei wollte ich vermeiden, das Template existiert und lange herumkonfigurieren wollte ich auch wieder nicht. Die Lösung:

<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('name')->toHtml() ?>

Hier

BlackBerry eingerichtet

Nachdem ich mein WebOS-Device vor etwa einer Woche abgegeben habe, bin ich nun soweit und kann sagen, mein BlackBerry ist eingerichtet. Es gibt vielleicht noch eine Sache, die ich mir genauer ansehen will und einen Bug, der Rest ist durch.

Mein Setup

Zuhause werkelt ein NAS von Qnap. Auf diesem NAS liegen meine Dokumente und Mediafiles. Die Mediafiles kopiere ich einfach so rüber, im Moment wieder per SMB, ansonsten in ein gemountetes Verzeichnis. Auf meinem NAS ist noch ein Qnote, welches voll mit Daten ist und nur per Web genutzt werden kann. Diverse Dienste wie den mediaplayer habe ich deaktiviert, lediglich ein Monkeydingens läuft.

Bei meinen Dokumenten arbeite ich mit Owncloud, da Qnap keinen Sync-Client für Linux anbietet. Die Owncloud ist somit für alle Dokumente verantwortlich und zudem meine Zentrale für Kalender und Kontakte.

Mein Schleppi ist schon etwas älter. Auf ihm läuft ein Xubuntu. Die Dokumente werden, wie beschrieben, mit Owncloud gesichert – abgesehen vom Backup – und stehen mir so überall bereit. Thunderbird arbeitet via CardDav und Caldav ebenfalls mit der Owncloud zusammen und synct mir somit Kalenderdaten und Kontakte.

Mein BlackBerry greift ebenfalls auf die Owncloud als Zentrale zu. Die Kalender und Kontakte werden direkt synchronisiert. Außerdem nutze ich WebDav im meine Bilder direkt in die Cloud zu laden (wenn WiFi vorhanden) und den Android-Client um direkt in die Cloud zu gehen. Darüber hinaus nutze ich den integrierten SMB-Server um größere Datenmengen wie Mixtapes auf das Gerät zu bekommen. Alternativ kann ich hier den File-Explorer mit WebDAV Zugang nutzen, wozu ich aber die Daten erstmal in die Owncloud bekommen muss.

Dienstleister

Am liebsten würde ich auf diverse Dienstleister verzichten. Aber mein NAS kann eben nicht alles oder bietet keine Clients für Linux und BlackBerry. Und so nutze ich noch Remember the Milk und jetzt auch wieder Evernote. Diese Dienste kann ich sowohl auf dem BB als auch auf Linux nutzen. Auf der einen Seite arbeiten native Apps, auf der anderen Tasque und Everpad. Außerdem habe ich mich auf dem BB mal wieder mit der Dropbox verknüpft. Die wird nirgends gesynct und so kann ich da wenigstens reingucken. Neu hinzugekommen ist Pushbullet. Mit ihm kann ich Nachrichten von einer Maschine zur nächsten senden. Mal sehen ob mir das was nutzt.

Fehler

Das meiste läuft. Alles läuft. Außer der Sync der Kontakte. Kontakte, die mit dem BB erstellt wurden, werden bei jedem Sync neu in die Owncloud eingetragen. Somit habe ich inzwischen von drei Kontakten jeweils 20+ Einträge. Das ist lästig und einen Workarround habe ich nocht nirgends gefunden. Das Problem besteht seit 2013 (älteste Forumeinträge) aber nichts tut sich. Hier muss ich dringed was tun, sonst bin ich bald wieder bei einem Dienstleister *grr.

Außerdem wollte ich mal Dukto ausprobieren. Kackt aber ab. Da ich andere Möglichkeiten habe, muss ich das Tool nicht nutzen und so gammelt es vor sich hin.

Weitere Fehler sind mir noch nicht untergekommen. Ich bin zufrieden.

Optimierung

Die Sache mit den Notizen beschäftigt mich. Einfache Notes lasse ich auf dem BB, ich brauche diese nicht überall. Das ich aber Evernote und RTM nutzen muss, gefällt mir nicht. Zumindest für Evernote gibt es eine Alternative: Tomboy in Verbindung mit dem Owncloud-Tool grauphel. Grauphel ist ein Tomboy-Server mit eigener Oberfläche in der OC. Von dort könnte ich meine Notizen auf meiner Schleppi und auf dem BB mit einer Android-App nutzen. Mich stört dabei das „Android“ und das die Notizen wirklich nut Text sind. Aufgabenlisten wäre klasse. Außerdem mag ich mein schwaches NAS nicht zu sehr belasten, es hat mit der Cloud schon zu kämpfen. Naja, irgendwann, wenn ich Zeit habe, werde ich es ausprobieren.

Die ToDo-Liste von RMT ist ebenfalls sowas. Ich nutze sie schon lange und es ist okay, lieber wäre mir aber ein Sync über meine Owncloud. Ich habe noch nicht nachgesehen, was es da gibt, aber ich ahne es schon: wenig und altes.

Es fehlt

Erstmal nichts. Ich werde sehen, wie sich das alles entwickelt und was ich so alles an alternativen noch haben werde. Meine zukünftigen Experimente landen dann hier 🙂

Fusioninvoice

Auf Besis des Codeigniter gab es zwei beliebte Rechnungsprogramme, BambooInvoice und Fusioninvoice. Beide sind mitlerweilen eingestellt, bzw. nach einer Überarbeitung nur noch kommerziell erhältlich. Aber… Sie waren mal frei uns sind noch immer zu finden, wobei ich pro Fusion bin, das sieht schicker aus und kann scheinbar auch mehr. Für mich wichtig: Wiederholende Rechnungen, z.B. für Abos.

„Fusioninvoice“ weiterlesen

Codeigniter und MYSQLs DATE_FORMAT()

Man, jetzt hab ichs.

$this->db->select("DATE_FORMAT(beginn, '%d.%m.%Y') AS fbeginn")

wird durch den aktiven Schutz zu einem

DATE_FORMAT(beginn, `'$d`.`$m`.`$Y'`)`

und damit zu einem falschen Statement.

Den Schutz kann man deaktivieren. Die Select-Methode hat dazu einen zweiten Parameter:

$this->db->select("DATE_FORMAT(beginn, '%d.%m.%Y') AS fbeginn", FALSE)

Thats it 🙂

Aptana Studio 3 vs. PhpStorm

Nachdem bei uns in der Firma viel mit PhpStorm gearbeitet wird, habe ich mir auch einmal das Programm angesehen. Der Testzeitraum ist noch nicht zu Ende, aber ich kann ein erstes Fazit bilden.Ich werde die 99 Euro nicht ausgeben. Dazu bietet es einfach keinerlei Vorteile, die den Preis rechtfertigen würden. Noch schlimmer, es hat keine Vorteile im Vergleich zu Aptana, welches als angepasste Eclipse-IDE einfach extrem anpassungsfähig ist.

Was ich gerne nutze ist der Split-View. In Aptana kann ich den bequem einrichten, indem ich den Tab dort hin ziehe, wo ich das View gerne geöffnet hätte. Aptana regelt das von alleine und ist dabei sehr dynamisch. PhpStorm hingegen benötigt mindestens zwei Klicks bis ich den Split-View geöffnet habe und die nun doppelte Datei schließen kann. Es bietet zudem nur zwei Splits, einen Split im Split kann es nicht.

Bereits installiert ist ein MySQL-Editor. Den fand ich klasse und alleine deswegen hätte ich am Ende das Geld ausgegeben. Es ist einfach bequem aus dem Edior heraus in die DB zu schauen, wenn gerade der Name der Spalte einem nicht einfallen will. Aber… Eclipse bietet mehrere Plugins. Quantum ist bei mir gerade im Test.

Und dann habe ich so meine Probleme mit dem FTP-Upload mit copy&paste. Beispielsweise lade ich mir ein Theme für Bootstrap herunter. Ich entpacke es lokal und kopiere es per Strg-C und Strg-V in den Ordner meines Projekts. Es wird hochgeladen und fertig. PhpStorm macht das auch, wird aber zwischen der 5ten und 10ten Datei so träge, dass es schon mal eine Stunde dauert, bis die 30 Dateien hochgeladen sind.

Dafür gibt es bei Aptana keinen Option, mit der man Dateien sicher entfernt. Das war praktisch, wenngleich nicht immer korrekt bis das es gar nicht anschlägt, wenn die Datei über umwege aufgerufen wird, wie CI das in der Regel macht. Und das automatische erstellen der PHPDoc ist nicht integriert, da werde ich mal suchen.Für die, die mit Aptana/Eclipse PHP entwickeln wollen, werde ich mal die praktischen Erweiterungen auflisten…

Abhängige Selects mit JS

Mal wieder muss ich gaaanz tief in die JS-Trickkiste greifen 🙂 Ich benötigt abhängige Select-Boxen. Das heißt, die Auswahl der ersten Box beeinflusst die Möglichkeiten in der zweiten. Was kommt einen da am ehesten in den Sinn: JS.

Ohne jQuery

http://www.malleus.de/FAQ/createDependentSelectOptions3.html

Einfach und übersichtlich. Zumindest bei den kleinen Datenmengen. Leider passt das nicht zu meinem CMS-Konzept. Der Controller übergibt die Daten an ein HTML-Element, sie werden bei diesem Beispiel aber schon im Header benötigt.

Mit jQuery

http://www.appelsiini.net/projects/chained

Weil ich sowieso jQuery ständig mit mir herum schleppe, habe ich auch hier mal gesucht und eigentlich nur umstädndliche Lösungen erwartet. Das hier aber ist mindestens so sauber wie das oben. Und es passt zu meinem Code 🙂

Das ganze basiert auf Klassen und kann bei Bedarf auch per AJAX seine abhängigen Daten laden und das abhängige Select erstellen. Passt.