TYPO3 Image mit HTML5 Data Atribute

Gerade gefunden und es geht hoffentlich nciht mehr verloren :

<f:image additionalAttributes="{data-imagefullsize: '{f:uri.image(src: \'uploads/tx_gallery/{image.image}\')}'}" src="uploads/tx_gallery/{image.image}" title="{image.caption}" alt="{image.caption}" maxWidth="{settings.largeImageMaxWidth}" maxHeight="{settings.largeImageMaxHeight}" />

Code im Forge gefunden

Wrappe n-Elemente mit TYPO3 Fluid Viewhelper

Problem: wir haben 12 Elemente einer Extension und alle 2 Elemente sollen in ein extra div gewrappt werden. Bis jetzt habe ich leider nichts fertiges dafür bei den ViewHelpern gefunden. Daher habe ich es versucht folgendermaßen um zusetzen. Zuerst wird ein öffnendes Div geschrieben, dann zum Schluss ein schließendes. Im Div selbst fragen wir wir ab die Anzahl des Elements ab und schreiben dann ein schließendes und ein öffnendes div-Tag. In Code sieht es dann auch schon so aus.

{f:if(condition: iter.isFirst, then: '
<div>')}
{listRow.value}
{f:if(condition: iter.isLast, then: '</div>
')}

Als erstes die f:for each Schleife, hier speichern wir in der Variable „iter“ alle Iterations Informationen, das können folgende sein:

iteration (string, optional): The name of the variable to store iteration information (index, cycle, isFirst, isLast, isEven, isOdd) Quelle: docs.typo3.org

Damit nicht leere tags dastehen, schreiben wir das öffnende und schließende Tag mit einer If Abfrage.

Mit Hilfe der Iterations Info cycle und Modulo können wir nun errechnen wann immer unsere zwei(oder 3,4) Elemente durchlaufen sind um das schließende und öffnende Div Tag zu schreiben.

{f:if(condition: iter.isLast, else: '<div>')}

Die Idee ist einfach if (Element % 2 == 0 AND nicht das letzte Elment) dann schreibe

'<div>'.

Leider habe ich es nicht hinbekommen die Schreibweise eins zu eins zu übernehmen. Die Condition Modulo 2 konnte ich nicht fragen ob Sie null ist, daher habe ich frage ich oben eigentlich ob es null ist und nutze dann nur den else Zweig um die logische UND Verknüpfung in einer neuen IF Abfrage unter zubringen, Auch hier nutze ich nur den Else Zweig. Wenn ich nicht Abfrage ob isLast == 0 ist, kann es bei z.B. genau zwei Elementen zu einem leeren DIV tag kommen.

</div>

Also der Code noch mal kompett:


{f:if(condition: iter.isFirst, then: '</code>
<div>')}
{listRow.value}


{f:if(condition: iter.isLast, else: '</div>
<div>')}


{f:if(condition: iter.isLast, then: '</div>
')}

Chrome Remote Debugging

Wenn man Webseiten baut sind Tools wie die Chrome DevTools oder Firebug kaum wegzudenken. Im Mobile Bereich ist es immernoch ein wenig schwierig, wenn man allerdings Chroome installieren kann sieht es schon wieder ETWAS besser aus.

Voraussetzung ist das Android SDK, welches man hier herunterladen kann:
http://developer.android.com/sdk/index.html

Danach auf dem Mobile Geräte in Chrome unter

Einstellungen > Entwickler-Tools > „Web-Debugging wie USB aktvieren“ anklicken, danach Geräte per USB anschliessen.

jetzt per Commandline/Terminal zur adb(.exe) navigieren und einfach schon mal mit

adb devices

testen ob das Geräte gefunden wird.

Danach schreiben wir folgendes

adb forward tcp:9222 localabstract:chrome_devtools_remote

jetzt Mobile Chrome starten und die zu debuggende Seite aufrufen. Lokal rufen wir dann im Chrome die

http://localhost:9222

auf und legen los.

Quelle:
https://developers.google.com/chrome/mobile/docs/debugging

XAMPP unter Mac OS X

Wenn man mal mit MacOS X und xampp arbeiten muss hier ein Tipp von crashsource.de der mir gerade sehr geholfen hat.

Um diesen Problem mit den Zugriffsrechten aus dem Weg zu gehen sind folgende Änderungen in der /Applications/XAMPP/etc/httpd.conf notwendig:

DocumentRoot "/Applications/XAMPP/xamppfiles/htdocs" 

ändern in

DocumentRoot "/Users/USERNAME/Documents/htdocs"

Directory …

<Directory "/Applications/XAMPP/xamppfiles/htdocs">

ändern in

<Directory "/User/USERNAME/Documents/htdocs"> 

und

<IfModule !mpm_netware_module>
    User nobody
    Group nogroup
</IfModule> 

ändern in

<IfModule !mpm_netware_module>
    User USERNAME
    Group nogroup
 </IfModule> </blockquote>

nochmal vielen Dank an crashsource.de für den Hinweis

Cygwin Aliase

Ich bin mittlerweile großer Fan von Cygwin unter Windows geworden denn damit kann ich auf viele kleine Tools aus der Linux Welt zurückgreifen.
Um direkt auf per Shell dann direkt auf meine Partitionen zugreifen zu können nutze ich immer das folgende Skript von Thomas Gern.

  #!/bin/bash
  ############################################################
  # alias 

  for drive in a b c d e f g h i j k l m n o p q r s t u v w x y z
  do
          alias ${drive}:="cd /cygdrive/${drive}"
  done

Quelle:
http://www.pro-linux.de/artikel/2/128/eine-cygwin-umgebung-unter-windows-einrichten.html

Symlinks für Windows am Beispiel TYPO3

Wenn ich eine neue TYPO3 Installation aufsetze nutze ich immer die Möglichkeit der Symlink Nutzung.
hat einfach den großen Vorteil, wenn eine neue TYPO3 Version rauskommt, reicht es auch einen Symlink zu ändern und die Installation ist mit einer Frischen Version versorgt… danach natürlich noch die üblichen Update Schritte durchlaufen.
Den noch größeren Vorteil sehe allerdings darin, schnell wieder zurück zu wechseln. Bei einer größeren Seite musste ich die Möglichkeit auch schon mal in Anspruch nehmen, nach dem Switch gab es einfach eine weiße Seite und vom Frontend keine Spur mehr, schnell sysmlink wieder auf die alten TYPO3 core Dateien geändert und alles wieder da.

Bisher nutze ich immer die empfohlene Kombination

source/ <---- typo3_src-4.x/
www/   <--- Installation

www/typo3_src <--> ../source/typo3_src-4.x/
www/typo3 <--> typo3_src/typo3/
www/t3lib <--> typo3_src/t3lib
www/index.php <--> typo3_src/index.php

Bei Unix wird es umgesetzt mit folgendem Befehl

// immer das Ziel und dann den Symlink Namen
ln -s ../source/typo3_src-4.x/ typo3_src
ln -s typo3_src/typo3 typo3
ln -s typo3_src/t3lib t3lib

Also als erstes wird ein Symlink typo3_src gesetzt, dieser weißt als einziger Link auf den aktuellen Source-Ordner, die andern Symlinks bauen dann auf diesen Link auf. Bei einem Update muss dann nur dieser eine Symlink angepasst werden.

In Windows (an Vista) sieht es dann so aus:
Start -> in der suche CMD eintippen und dann auf dem Ergebniss mit Rechtsklick „Als Administrator ausführen“
dann folgendes eingeben

// hier ist es genau umgekehrt zu Unix, erst den Symlink Namen dann das Ziel
// wenn Ordner auf diese Weise geschriee
mklink /J typo3_src ..\source\typo3_src-4.x\
mklink /J typo3 typo3_src\typo3\
mklink /J t3lib typo3_src\t3lib\

// Dateien
mklink index.php typo3_src\index.php 

Damit ist auch ein Testen mit XAMPP oder ähnlich auch gut zu bewerkstelligen

Genutzte Quelle:
http://www.windows7home.net/use-mklink-command-in-windows-7/

SSH Public/Private Key zum Login nutzen

SSH Keys nutzen um sich am Terminal anzumelden:

als erstes ssh Private und Public Key erzeugen

ssh-keygen -t rsa

Speicherort mit Enter bestätigen und danah bei Wunsch ein Passwort setzen.
man erhält nun die Dateien ida_rsa (Private Key) und ida_rsa.pub (Public Key)
Die ida_rsa.pub Datei auf den Server verschieben in den Ordner .ssh
Falls dieser noch nicht existiert,anlegen und auf chmod 700 setzen.
Danach die Datei hochladen und auf chmod 600 setzen (ansonsten werden die Keys nicht genutzt), danach Datei umbenennen in authorized_keys.
Nun sollte der Login schon ohne Password klappen.

Um noch einen Schritt weiter zu gehen, verschieben wir nun unseren Private Key in einem verschlüsselten Container oder auf einen USB-Stick. Nun legen wir auf dem Client im Verzeichnis .ssh eine Datei mit dem Namen config an und darin notieren wir folgende Sachen

Host 	kurzerServerName
Hostname kompletter.server.name.de
IdentityFile /path/to/usb-stick/id_rsa
User	benoetigterLoginName-fuer-den-Server

(kann auch genutzt werden um mehrere Private-Keys zu verwalten)

Bei DF sieht ein Login immer wie folgt aus

ssh ssh-123123-1@meinedomain.de

Wenn alles erfolgreich eingerichtet ist kann ich statt dessen

ssh kurzerServerName

nutzen um mich anzumelden.

Wenn der USB-Stick oder der TrueCrypt Container allerdings nicht vorhanden sind, funktioniert der Login auch nicht

Wenn man ein PW vergibt sollte man es auch ab und durch ein neues ersetzen, dafür nutztman

ssh-keygen -p

Danach wird man nach dem Ort des Private Key gefragt und muss zweimal das neue PW eingeben

Quelle:
http://stackoverflow.com/questions/2419566/best-way-to-use-multiple-ssh-private-keys-on-one-client,
http://www.phpecho.de/git/deployment-einfach-gemacht-mit-git-hooks-1326.html
und
http://www.guyrutenberg.com/2007/10/05/ssh-keygen-tutorial-generating-rsa-and-dsa-keys/

Eintrag eins

Der goldene erste Eintrag, auf das es viele weitere werden… habe ich das so richtig gemacht ? So sind doch schon Milliarden von neuen Blogs an den Start gegangen auch wenn davon nur noch 50 übrig sind. ich hoffe ich überlebe mit meinem vorhaben länger 🙂