Beiträge der Kategorie default

XSL: Template wählen abhängig von der Anzahl der Kindelemente

Gegeben ist eine Struktur, in der in einem Knoten entweder 0 oder mehr Kind-Knoten sind . Wenn es 0 Kind-Knoten gibt, soll eine Meldung ausgegeben werden, andernfalls die Liste der Kinder.

<root>
	<parent>
		<child><name>Eins</name></child>
		<child><name>Zwei</name></child>
	</parent>
</root>
<xsl:template match="root">
	<xsl:apply-templates select="parent" />
</xsl:template>
 
<xsl:template match="parent[count(child) = 0]">
	Leer
</xsl:template>	
 
<xsl:template match="parent">
	<ul>
		<xsl:apply-templates select="child" />
	</ul>
</xsl:template>	
 
<xsl:template match="child">
	<li><xsl:value-of select="name" /></li>
</xsl:template>

DateTime in PHP: Timestamp und Konstrukor

Klasse DateTime – ist neu in PHP 5.2. Hat in PHP 5.3. eine neue Funktion dazu bekommen: setTimestamp(), damit man einen Unix-Timestamp übergeben kann.
Wenn man ein in PHP 5.3 erstelltest Projekt mit diesem Aufruf nun auf einen Server mit PHP 5.2. spielt, dann knallts. Nun steht als Zusatz in der Funktion getTimestamp() folgendes:

Passing a Unix timestamp to DateTime::__construct() is an alternative when using PHP 5.2.

Und die Dokumentation zu __construct:

public DateTime::__construct ([ string $time = "now" [, DateTimeZone $timezone = NULL ]] )

Es wird als ein String erwartet als erster Parameter. Wenn man nun unter PHP 5.3. dem Konstruktor einen Timestamp übergibt, dann Error. Alles klar?

Tags:

Geschrieben in default | Kommentare deaktiviert für DateTime in PHP: Timestamp und Konstrukor

Zahlen beim Konvertieren mit XSLT deutsch formatieren

Wenn man mal ein paar Floats deutsch (oder wie im Beispiel als Geldbetrag) formatieren muss:

<xsl:decimal-format name="deutsch" decimal-separator="," grouping-separator="." />
...
<xsl:template match="price">
  <xsl:value-of select="format-number( ., '##0,00', 'deutsch' )" /></xsl:template>
 
<xsl:template match="whatever">
<p>Preis: <xsl:value-of select="format-number( price, '##0,00', 'deutsch' )" /></p>
</xsl:template>

Die erste Zeile als Unterelement von xsl:stylesheet, den Rest irgendwo in einem xsl:template.

Geschrieben in default | Kommentare deaktiviert für Zahlen beim Konvertieren mit XSLT deutsch formatieren

Gute Vorsätze

Für kernpunkt, die Agentur, bei der ich seit Mitte Oktober arbeite, habe ich eine Seite umgesetzt, auf der man einen guten Vorsatz für sich oder für einen Freund fürs nächste Jahr bestellen kann. Nachdem man aus insgesamt 22 Motiven einen ausgesucht hat und die Adresse angegeben hat, wird der Vorsatz auf einen Button gedruckt und per Post versendet. Wenn man möchte, kann man den Vorsatz auch auf Twitter veröffentlichen.
Heute morgen wurde die Seite auf Basic Thinking erwähnt und seitdem trudeln immer mehr neue Vorsätze ein. Das ist schon sehr lustig, was sich die Leute alles vornehmen – ich meine nur die ernsthaften Vorsätze.

Geschrieben in default | Kommentare deaktiviert für Gute Vorsätze

Ausführungspfad in Windows temporär erweitern

Manchmal möchte man in Windows in der Kommandozeile etwas ausführen: mit FOP ein PDF generieren oder PHP-Code in der Kommandozeile ausführen. Es gibt die Möglichkeit die Pfad-Variable für eine Session zu überschreiben, solange das Kommandofenster geöffnet ist, gilt diese Änderung. Ein Beispiel zum Ausführen von PHP:

path = %PATH%;C:\xampp\php

Damit kann man sich die aktuelle Einstellung ausgeben lassen:

echo %PATH%

The PATH Environment Variable

Geschrieben in default | Kommentare deaktiviert für Ausführungspfad in Windows temporär erweitern

Entwicklungsumgebung: XAMPP und Subversion

Zum Entwickeln nutze ich XAMPP, dann lade ich mir die aktuellste Version von TYPO3 herunter, dabei verwende ich die „Source with Dummy Site“ (weil Windows keine symbolischen Links kennt).
Jetzt wollte ich das ganze um Versionierung erweitern und habe nach einem Subversion-Server für Windows gesucht, der schnell und einfach zu installieren ist. Es scheint, als würde VisualSVN meinen Vorstellungen entsprechen – es war einfach installiert, Testuser und -repository war schnell angelegt. Da ich bereits einen Apache habe und dort noch einer installiert wird, habe ich den Port sicherheitshalber nicht auf 80 gestellt. Und als Client empfehle ich den Tortoise SVN Client.

Geschrieben in default | Kommentare deaktiviert für Entwicklungsumgebung: XAMPP und Subversion

Neues Design

Endlich! Ich hab ganz schön lange gebraucht – jetzt hab ich mal ein neues Design. Die Fotos oben sind immer alle von mir – jeden Tag ein neues 🙂 Es ist noch nicht ganz fertig, einige Labels müssen noch übersetzt werden etc. Anregungen und Wünsche bezüglich des neuen Designs nehme ich gerne entgegen.

Zeitabfrage in MySQL

Es sollen Datensätze selektiert werden, die in einem bestimmten Jahr abgelegt worden sind. Im Feld ‚date‘ jedes Datensatzes steht ein Timestamp, der beim Speichern gesetzt worden ist. Mit dieser SQL-Abfrage lassen sich ohne Umrechnung die Datensätze aus dem richtigen Zeitraum selektieren:

SELECT * FROM documents WHERE FROM_UNIXTIME(date, „%Y“) = 2008

Die MySQL-Funktion FROM_UNIXTIME wandelt einen Timestamp in einen Wert entsprechend der Formatierung um. Gleiches läßt sich für einen Monat machen (Formatstring ist %c). Das wäre ein Beispiel für den Monat April.

SELECT * FROM documents WHERE FROM_UNIXTIME(date, „%c“) = 4

PS: eigentlich ist es nicht schön, ein Feld ‚date‘ zu nennen, da es in MySQL ein reservierter Sting (=Funktion) ist.

Tags:

Geschrieben in default | Kommentare deaktiviert für Zeitabfrage in MySQL

Rekord

Wahnsinn – den Kölner Dom rauf zur Aussichtsplattform und runter mit Anschauen der Glocken und Zusammenzucken, weil man danebensteht, während die schlägt in insgesamt 20 Minuten 🙂