Tech, Code, Gadgets, BBQ & More

Custom content post procession for TYPO3

Compress or pretty print HTML output by your own

There are many HTML compression extensions for TYPO3 in the TER. Many of them aren't maintained anymore or just have a huge overhead, you will mostly not need for anything. So why not build a content compression by your own?

It's pretty easy to implement. Basically it just require the use of two Hooks from tslib/class.tslib_fe.php. The Hooks are called contentPostProc-all and contentPostProc-output. The first one handles normal pages with cached output, the second one does the same, just for uncached pages with COA or USER_INT objects. This Hooks will be bind to a class and function of your choice in ext_localconf.php of your extension.

read more ...
Share:

Zend Mail has problems with multiple BCC recipients

Reason and Workaround

In a project, we've discovered some strange behavior of Zend\Mail while trying to send a single message to multiple bcc recipients. If addressed multiple bcc (or even cc) recipients, only the first one would get the message delivered by the mail server. It took us quite a long time to figure it out and found a solution.

What Zend\Mail does

Well, to understand what Zend-Mail does in background let's assume a simple Message object, like this:

use Zend\Mail;

$mail = new Mail\Message();
$mail->setFrom('test@example.org', 'Sender\'s name');
$mail->addTo('daniel@example.com', 'Name of recipient');
$mail->setSubject('Test Subject');
$mail->setBody('This is the text of the email.');

$mail->setBcc([
    'bcc_recipient_one@example.com',
    'bcc_recipient_two@example.com',
    'bcc_recipient_three@example.com',
]);

$transport = new Mail\Transport\Sendmail();
$transport->send($mail);
read more ...
Share:

Homematic CCU spricht jetzt mit Philips Hue

Anleitung, erste Schritte und Nutzung mit TinyMatic/HomeDroid

Seit dem letzten Update am 09.01.2018 für die CCU 2 auf Version 2.31.23 unterstützt Homematic nun auch direkt Philips Hue. Bisher konnte man lediglich Osram Lightify direkt über die Zentrale steuern. Diese Lücke wurde nun endlich geschlossen und somit habe ich mir mal genauer angesehen, wie eQ-3 dies umgesetzt hat. Erwähnt sei an dieser Stelle noch, dass der Hersteller die Hue-Integration noch als beta angibt.

read more ...
Share:

Pünktlich zu Weihnachten: Das Dach ist drauf!

Und die Werkstatt nimmt Gestalt an ...

Genau passend vor Weihnachten wurde das Dach noch gerichtet! Nachdem es aufgrund von schlechtem Wetter eine Woche zu Verzug gekommen war, sind wir froh, dass es doch noch vorher geklappt hat. Bei immer noch viel Regen konnte das Gestell und der Friesengiebel aber glücklicherweise noch aufgestellt werden.

So lässt sich langsam wiedermal mehr erahnen, wie das Haus nachher aussehen wird. Außerdem können die inneren Wände und Böden hoffentlich schon etwas trocknen. Auch wenn leider noch nicht alle Außenwände im oberen Stock komplett fertig sind und somit dort noch mehr Regen reinkommen wird.

read more ...
Share:

Zwischendecke und Außenmauern sind fertig

Es geht mit Carport und Klinker weiter

Die Zwischendecke hatte gerade mal ein Wochenende Zeit zu trocken, schon geht im Dachgeschossen mit den Mauerarbeiten weiter. In diese Woche konnten wir das erste Mal über die Treppe in die obere Etage gehen. Es ist immer wieder ein tolles Gefühl, wenn man das erste Mal in seinem Haus steht und sich nach und nach immer mehr vorstellen kann, wie es wird.

Die äußeren Wände im oberen Geschoss wurden bereits gesetzt und die Säulen für den Friesengiebel und Auflagen für das Dachgestell wurden betoniert. Somit kann dort erstmal nicht weitergemacht werden, bis das Dach drauf ist. Dieses soll in einer Woche gerichtet werden, sodass es hoffentlich pünktlich zu Weihnachten steht. Daumen drücken!

read more ...
Share:

Erdgeschoss, Treppe, Klinker und Zwischendecke

Die Mauerarbeiten im Erdgeschoss nähern sich dem Ende

Nach einer sehr regnerischen Woche ging es endlich wieder mit großen Schritten weiter! Die Mauerarbeiten im Erdgeschoss sind im inneren soweit abgeschlossen. Alle Wände stehen und alle Öffnungen für Fenster und Türen sind vorhanden. Zwischenzeitlich wurde außen schon angefangen mit dem Klinker, welcher in der letzten Woche angeliefert wurde.

Am Mittwoch wurde die Filigrandecke aufgelegt, welche am Donnerstag bereits verschalt wurde. Der Elektriker und die Handwerker für die Wohnraumbelüftung waren auch direkt da und haben alle Kabel und Rohre in die Zwischendecke eingebracht, so dass diese noch am selben Tag Betoniert werden konnte. Ebenfalls in der letzten Woche wurde die Schalung für die Treppe eingesetzt, welche nun zusammen mit der Deckenplatte ausgegossen wurde.

read more ...
Share:

Die ersten Mauern werden gestellt

Man erkennt erste Umrisse und Fenster

Bisher läuft fast alles nach Plan weiter. Am Montag wurde die Bodenplatte komplett abgeklebt. Zum Glück spielte das Wetter mit, so dass gleich alles gemacht werden konnte, und nicht nur die Stellen wo gemauert wird. Am Dienstag ging es dann direkt mit den ersten Mauern los. Langsam kann man sich die ersten Sachen besser vorstellen und man bekommt ein Gefühl für die Größen. Bisher kennt man alles ja nur vom Papier.

Aber es muss ja auch mal was nicht klappen: Ende letzter Woche wurde mitgeteilt, dass der ausgesuchte Klinker nicht vor März 2018 lieferbar ist! Das war erstmal ein Schock, war der Klinker doch eigentlich schon lange vor dem Haus ausgesucht. Es blieb nichts Anderes übrig, als möglichst schnell einen Ersatz zu finden. Ein paar Alternativen die wir schon eher im Auge hatten waren auch alle nicht verfügbar. Hinzu kam das Problem, dass wir den Stein schön zu nächster Woche benötigen. Also nicht sonderlich viel Zeit.

read more ...
Share:

Erdarbeiten und Bodenplatte: Erledigt!

Endlich ist es eine Baustelle

Seit letzter Woche ist endlich eine richtige Baustelle auf unserem Grundstück zu erkennen!

Am Mittwoch haben wir die Grobabsteckung des Hauses und der Anbauten gemacht, so dass Donnerstagfrüh der Bagger anfangen konnte, den schwarzen Boden abzutragen. Hierbei hatten wir Glück, da nicht sehr tief ausgehoben werden musste. Es waren lediglich 80cm bis 1m Tiefe bis zum Baugrund. Das ist alles noch im Rahmen gewesen.

Am Freitag waren der Bagger und die LKWs fleißig dabei, dass Loch wieder mit schönem weißen Sand aufzufüllen. Damit waren am Freitag die Erdarbeiten auch schon beendet und wir hatten einen schönen Sandkasten.

read more ...
Share:

Der Bauantrag wurde genehmigt!

Es kann losgehen ...

Ich weiß, der Titel sagt es schon, aber ich möchte mich wiederholen: Der Bauantrag ist genehmigt! ;)

Nach ganz genau 14 Tagen haben wir die Freigabe vom Bauamt erhalten und können nun endlich anfangen. Wir sind wirklich froh, dass es jetzt so schnell ging mit dem Antrag. Und das obwohl wir sogar noch ein paar Informationen nachreichen mussten. Es gab zusätzlich keine weiteren Vorgaben, weshalb wir unser Häuschen genauso bauen können, wie wir es geplant haben.

Bereits nächsten Mittwoch geht es mit den Erdarbeiten los! Jetzt beginnt langsam der wirklich spannende Teil ...

read more ...
Share:

How to create an internal URI in TYPO3

Sometimes you want to generate TYPO3 internal URIs programmatically. Now you could try to create the URL manually on your own, or use the UriBuilder class. This handy tool is pretty neat to create any kind of internal URI. In a controller this class is available by $this->getControllerContext()->getUriBuilder(). If you want to use the UriBuilder somewhere else, you need to load an instance of the class by the ObjectManager.

$objectManager = 
  GeneralUtility::makeInstance(\TYPO3\CMS\Extbase\Object\ObjectManager\ObjectManager::class);
$uriBuilder =
  $objectManager->get(\TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder::class);

When you have access to an instance of the builder, it's pretty straight forward from now on. The class has a bunch of simple setters, to control the generation of the URI. Best practice is to reset all the options of the builder on start of every new URI creation.

read more ...
Share: