Fluid: Select in Formularen mit weiteren Optionen

Ich habe ein wenig gesucht und es scheint mir, als würde die Select-Box von Fluid, die als View-Helper zur Verfügung gestellt wird, nur aus den Daten ein Auswahlfeld machen, die ihr gegeben werden. Wenn man z.B. Kategorien hat und man möchte nicht nur die Kategorien in der Auswahlliste anzeigen, sondern auch eine Option zum Zurücksetzen der Auswahl, also sowas wie „Alle Kategorien“, dann gibt es keinen Tag dafür.

Dazu habe ich einen View Helper erstellt, der von dem Select View Helper ableitet (Tx_Fluid_ViewHelpers_Form_SelectViewHelper). Dann habe ich einen zusätzlichen Parameter registriert in der Init-Function:

public function initializeArguments() {
	parent::initializeArguments();
	$this->registerArgument('additionalOptions', 'array', 'Associative array with values to prepend', FALSE);
}

Und die getOptions-Funktion so weit angepasst, dass die zusätzlichen Optionen vor die automatisch zusammengestellten angehängt werden:

protected function getOptions() {
	$options = parent::getOptions();
	$additionalOptions = array();
	foreach ($this->arguments['additionalOptions'] as $key => $value) {
		$additionalOptions[$key] = $value;
	}
	return array_merge($additionalOptions, $options);
}

Und so kann man es dann im eigenen Template verwenden:

<custom:advSelect name="category" options="{categories}" optionLabelField="title" additionalOptions="{0 : 'Alle Kategorien'}" />

UPDATE:
Es gibt mit dem Code ein kleines Problem, und zwar werden beim Zusammenfügen von Arrays die Schlüssel neu nummeriert. Daher:

protected function getOptions() {
	$options = parent::getOptions();
	if(empty($this->arguments['additionalOptions'])) {
		return $options;
	}
	foreach ($this->arguments['additionalOptions'] as $key => $value) {
		$additionalOptions[$key] = $value;
	}
	return $additionalOptions + $options;
}

Downloadliste: Beschreibungen statt Dateinamen verlinken

Eine normale TYPO3 Downloadliste stellt normalerweise eine Liste von Dateien als Tabelle dar, die Dateinamen sind dabei verlinkt und der Beschreibungstext, den man zusätzlich angeben kann, erscheint darunter. Man kann das Rendering der Liste jedoch anpassen, wenn man weiß, was zur Verfügung steht.
Ein Blick in den Quellcode zeigt, dass viele Informationen ins TYPO3-Register geschoben werden, auf das Register kann mit dem Keyword „register:“ per TS zugegriffen werden. Folgende Informationen werden ins Register gespeichert: linkedIcon, linkedLabel, filename, path, description, fileSize, fileExtension
So kann man das Rendering anpassen, damit anstatt Dateinamen die Beschreibung angezeigt wird. Einziger Nachteil dieses Schnipsels: es muss immer eine Beschreibung angegeben werden.

(mehr …)

Extbase: Controller/Action per FlexForm konfigurierbar machen

In Extbase lassen sich die Controller&Actions zum einen mit Parameter in der URL steuern, dass kann jedoch nicht genug sein, wenn man auf einer Seite eine bestimmte Action aufrufen möchte, ohne Parameter an die Seite zu übergeben. Um in einem Plugin die Action (oder auch den Controller) konfigurierbar zu machen, definiert die Auswahl in Flexforms. Der so ausgewählte Controller bzw. die Action wird dann berücksichtigt.

Innerhalb des XML-Elements „el“ braucht man ein Knoten mit dem Namen „switchableControllerActions“, in dem später folgenden Abschnitt items gibt man als Value die Kombination aus Controller und Action an, die ausgeführt werden sollen. Dabei läßt man den Suffix „Controller“ bzw. „Action“ weg.

(mehr …)

iPhone App für Nudelliebhaber

Die App gibt es in der Version „Wizard“ mit einer Schritt für Schritt-Anleitung und in der Version „Basic“ nur mit der Uhr. Zunächst mal wählt man anhand von Bildchen (man nutzt natürlich die schicke Swipe-Blätter-Funktion) die Nudeln aus, die man hat (Farfalle, Penne etc.), dann gibt man an, wie man die mag (al dente, weich) und dann klingelt das iPhone, wenn es meint, dass die Nudeln gar sind. Danach wird gefragt, ob es denn geschmeckt hat und man kann angeben, ob die Nudeln genau richtig waren („Super!“, „könnten etwas weicher sein“). Dementsprechend wird das Urteil des Nutzers beim nächsten Kochen berücksichtigt. Also wenn „al dente“ angegeben wurde, der Nutzer jedoch meinte, dass die Nudeln zu hart waren, dann wird die Zeitspanne beim nächsten „al dente“ entsprechend verlängert. Und richtig fancy wären dann Statistiken so wie: „Du hast im letzten Jahr insgesamt 124 Mal Nudeln gekocht“, „Davon sind 20% Farfalle, 10% Penne und 70% Spaghetti“.

Geschrieben in crazyideas | Kommentare deaktiviert für iPhone App für Nudelliebhaber

Frank Schätzing – Limit (Hörbuch)

Bewertung: 7/10

Frank Schätzing ist ein Meister der deutschen Sprache, bei all den Details und scheinbar unwichtigen Handlungssträngen und Charakteren wird es kein bisschen langweilig. Die Beschreibungen der Charaktere und der Orte sind sehr ausführlich, was mir persönlich gut gefällt und zum Teil der großartigen Weise des Autors zu verdanken ist. Der Vorleser hat eine sehr angenehme Stimme und schafft es, durch stimmliche Kontraste die unterschiedlichen Gesprächspartner rüberzubringen. Allerdings fand ich die Auflösung etwas langweilig. Als klar wurde, dass es sich bei der Bedrohung um eine Bombe handelt und das Mondhotel nach und nach zerstört wurde, hat sich die Geschichte nicht mehr weiterentwickelt. Was im Film gut funktioniert, Action nämlich, ist ausgeschrieben (oder vorgelesen) etwas langweilig. Insgesamt hätte man die zweite Hälfte schneller abwickeln und auflösen können. Vor allem weil mir schon recht schnell klar war, wer der Oberbösewicht ist.

Geschrieben in books | Kommentare deaktiviert für Frank Schätzing – Limit (Hörbuch)

Step II Choreo – Mai 2010

Block A:
8 – Sixpoint R+L, R auf Step, Twist
8 – Knee R, im Box Step ab, Stomp R
12 – Doubme Knee L, Stomp R hinten kreuzen, Stomp L hinten kreuzen (beide an der gleichen Ecke)
4 – Leg Curl L

Block B:
7 – Turn Reverse, R ab, halbe Drehung zurück, Straddle ab
9 – Mambo Chacha L + 2 March, Stomp R
8 – Mambo L, Box over
8 – Mambo L, Box over

Block C:
8 – Chacha im Straddle, Kneelift L
8 – Kneelift R am Boden, Basic over
10 – Double Stomp (Variation: Hold, Tap seit), Double Stomp (Variation: Tango)
6 – Kneelift R, L auf Step absetzen, Knee hoch R, R+L ab

Geschrieben in choreos | Kommentare deaktiviert für Step II Choreo – Mai 2010

Alina Bronsky – Scherbenpark

Bewertung: 7/10

Die Russin Sascha lebt in einem Solitär, mit ihren Geschwistern, betreut von der Großtante. Nachdem ihre Mutter von ihrem Stiefvater ermordet worden ist und sie an nichts anderes denken kann, als ihn dafür umzubringen, lernt sie einen Journalisten und seinen Sohn kennen.

Ich kann mich nicht ganz den Kritiken anschließen, die das Buch bis in alle Himmel loben und die Autorin als „Newcomerin des Jahres“ bezeichnen. Allerdings habe ich andere Newcomer bisher nicht gelesen. Es ist ein ineressanter Roman. Der Anfang ist witzig, und ich als lange in Deutschland lebende Russin konnte so vieles nachvollziehen und musste häufig schmunzeln. Danach wirds allerdings chaotisch. Meiner Meinung nach ist der Stil des Romans nicht besonders konsequent eingehalten und die gelegentlichen Sprünge in der Erzählung sind verwirrend.

Geschrieben in books | Kommentare deaktiviert für Alina Bronsky – Scherbenpark

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

Step II Choreo – 23 April 2010

Block A:
8 – Squat, Chacha, Squat, Chacha Stomp (1)
8 – Kneelift L, Kneelift R am Boden
8 – March over kreuzen, Tango am Boden, zurück drehen
8 – Basic over, Basic
(1) – 1: R auf Step, 2: Pause, 3: Chacha over, 4: Pause, 5: Chacha over zurück, 6: R Stomp auf Step, 7: L ab, 8: R ab

Aufbau:
1.Teil: Repeater + 2 Knee -> Repeater zu 2 Knee und Stomp -> die 2 Knee zu Squat-Chacha-Kombo;
2.Teil: 3 Basic + Kick -> aus den ersten 2 Basic 4 Stomp -> aus den 4 Stomps die Over-Kreuzen-Bewegung
dann beide Teile hintereinander, beim 2. den Kick durch einen Basic ersetzen

Block B:
5 – Kick over
6 – Double Curl auf der Nordseite
5 – Kick over zurück
8 – 2 Side Tap
8 – Turn Reverse, Basic

Aufbau:
2 Basic + Repeater Leg Curl -> Leg Curl zu March + Double Curl -> aus den Basics und 2 Marches 2 Kicks mit dem gleichen Bein an der gleichen Ecke machen -> dann 2 Tap Ups und 2 Basic dran -> vorne umstellen -> zuletzt die Kicks als Over

Block C:
7 – Stom R am Boden, V-Step L
9 – Stomp L am Boden, Double Knee
5 – Double Stomp (1. normal, 2. Straddle)
7 – Dobule Stomp (1. normal, 2.Straddle), 2 Marches drehen
4 – Basic

Aufbau:
2 Basic + Repeater Knee -> Repeater Knee zu 2 March und Double Knee -> aus den Basic und 2 March wird ein Sixpoint und ein V-Step -> V-Step in die Mitte vom Sixpoint -> die Stomps vom Step runterziehen

Wenn man es etwas schwieriger haben möchte, dann kann man den Basic am Ende jedes Blocks durch einen Basic over ersetzen, so dass nach einem Block ein Frontwechsel stattfindet.

Geschrieben in choreos | Kommentare deaktiviert für Step II Choreo – 23 April 2010