Relaunch Webseite Phantasialand

Geschrieben in default von natalia am 20 Juni 2011

Es ist schon ca. einen Monat her, seit dem das Phantasialand mit einer neuen wunderschönen Seite online gegangen ist. Ich bin schon ein wenig stolz daran mitgearbeitet zu haben. Aus der Marketingsicht wurde der Relaunch und die neue Webseite auf kernpunkt.de ausführlich betrachtet. Aus Entwicklersicht hat die Seite auch einiges zu bieten gehabt, hier einige Highlights:
Die Navigation wurde mit HTML und CSS und ein wenig Hilfe von jQuery umgesetzt. Ist es nicht schön, wie der blaue Schein dazukommt, wenn sie aufgeklappt ist und wie z.B. die Park-Themenwelten beim RollOver in den Bildern hervorgehoben werden – pure CSS Magic.
Für die Sushibar (ich wusste auch nicht, dass man es so nennen kann, für mich ist es ein Carousel), die man z.B. auf der Seite Fantasy bestaunen kann, musste ein jQuery-Plugin entwickelt werden. Vom CSS her war es in der Sushibar eine Herausforderung, dass die Elemente teilweise nach oben rausragen.
Auch sehr schön geworden ist der Parkplan – zu finden auf den Themenwelt-Seiten als Link in der rechten Spalte. Attraktionen der ausgewählten Themenwelt werden im Parkplan hervorgehoben.
Und auch der Erlebnisplaner hat ein paar nette Features: Attraktionen können am Anfang über einen Hinzufügen-Button in der Attraktion in den Erlebnisplaner gelegt werden. Sobald eine Attraktion im Erlebnisplaner ist, macht er auch schon Vorschläge. Diese Vorschläge kann man per Drag & Drop ebenfalls in die Liste der geplanten Attraktionen ziehen. Wenn man fertig ist, wird auf Wunsch eine Anfahrtbeschreibung generiert und ein personalisierter Parkplan, auf dem die gewählten Attraktionen zu sehen sind.

htaccess – Authetifizierung per IP und Passwort kombinieren

Geschrieben in default von natalia am 15 April 2011

Man kann per .htaccess Ordner vor unbefugten Zugriffen schützen einmal mit einer Benutzer-Authentifizierung und einmal per IP. Es ist aber möglich beides zu kombinieren. Dabei werden bestimmte Abrufe per IP zugelassen, und wenn die IP nicht in der Liste vorkommt, dann wird eine htaccess-Login-Aufforderung angezeigt. Die Lösung sieht so aus:

Order Deny,Allow
Deny from all
Allow from 192.168.
AuthType Basic
AuthUserFile /full/path/to/.htpasswd
AuthName "Restricted Area"
Require valid-user
Satisfy any

Gefunden habe ich es hier bei Coding Forums

Umleitung per .htaccess basierend auf Sprache

Geschrieben in default von natalia am 4 April 2011

Man kann auf eine Seite weiterleiten basierend auf der Sprache des Browsers und das geht tatsächlich per .htaccess.
Generator dafür findet sich hier: Redirection by Language

Zend Command Line Befehle

Geschrieben in default von natalia am 28 Dezember 2010

Das Zend Command Line Interface ermöglicht es, sich Module, Controller etc. anlegen zu lassen. Dabei wird die Ordnerstruktur bereits korrekt angelegt.

Modul erstellen mit Namen meinmodul:
zf create module meinmodul

Controller mit Namen meincontroller im Modul meinmodul erstellen, wenn index-action-included=1 nicht angegeben wird, dann wird der Controller nicht korrekt dem Modul zugewiesen:
zf create controller meincontroller index-action-included=1 meinmodul

Voraussetzung ist, dass zf als Alias für das Zend Command Line Tool hinterlegt ist:
alias zf=/home/../ZendFramework-1.8.0b1/bin/zf.sh

IE Conditional Comments in XSL

Geschrieben in default von natalia am 12 November 2010

Um einen Conditional Comment im Quellcode stehen zu haben

<!--[if IE]>
According to the conditional comment this is Internet Explorer<br />
<![endif]-->

braucht man folgendes im XSL, denn würde man es so reinscheiben wie oben, dann wäre es ja ein Kommentar im XSL-Code ;-)

<xsl:comment><![CDATA[[if IE]>
	<link rel="stylesheet" type="text/css" href="/media/css/styles-ie.css" />
<![endif]]]></xsl:comment>

UPDATE: Dieser Codeschnipsel hat den Nachteil, dass der Inhalt nicht geparst wird, damit kann man in dem Schnipsel keine Variablen verwenden oder Knotenwerte. Da hilft dieser Schnipsel weiter:

<xsl:comment>[if IE 7]<![CDATA[>]]>
	<xsl:value-of select="concat( '&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; media=&quot;all&quot; href=&quot;', $webbasepath, /resources/browser_specific_styles/styles_ie7.css, '&quot; />')" />
<![CDATA[<![endif]]]></xsl:comment>

HTML5/CSS3

Geschrieben in css,default von natalia am 20 Juli 2010

Video-Referat zu HTML5/CSS3 von einem Studenten der Medieninformatik und Gestaltung an der Uni Bielefeld. Echt cool!

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

Geschrieben in default von natalia am 15 Juli 2010

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

Geschrieben in default von natalia am 14 Juni 2010

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?

Zahlen beim Konvertieren mit XSLT deutsch formatieren

Geschrieben in default von natalia am 5 Mai 2010

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.

Frohe Weihnachten!

Geschrieben in default von natalia am 21 Dezember 2009

Ich wünsche meinen Lesern Frohe Weihnachten und einen Guten Rutsch ins neue Jahr!