foreach-Schleife in JavaScript

Viele wissen es gar nicht, aber es gibt in JavaScript ein Äquivalent zur foreach-Schleife aus PHP — und das ganz ohne zusätzliche Libraries wie jQuery.

View Code JAVASCRIPT
var meinArray = ["Apfel", "Birne", "Banane"];
for(var i in meinArray) {
    document.write(meinArray[i] + "<br/>");
}

Das gleiche funktioniert übrigens auch bei Objekten:

View Code JAVASCRIPT
var meinObjekt = {
    apple: "Apfel",
    pear: "Birne",
    banana: "Banane"
};
for(var key in meinObjekt) {
    document.write(meinObjekt[key] + "<br/>");
}

TYPO3 Fluid > POST-Parameter in Paginate-ViewHelper übernehmen

Manchmal benötigt man für eine Pagination zusätzliche Übergabeparameter. Zum Beispiel, wenn man für eine Listenansicht zuvor ausgewählte Filter, Sortierungen oder sonstige Parameter verwendet. Mit Hilfe des Standard-ViewHelpers Paginate von TYPO3, lässt sich das kinderleicht umsetzen:

View Code HTML5
<f:widget.paginate objects="{myObjects}" as="paginatedObjects" configuration="{itemsPerPage: 5, addQueryStringMethod: 'POST,GET'}">
...
</f:widget.paginate>

Wie man sieht, braucht man dem Konfigurations-Attribut lediglich den Wert „POST,GET“ für addQueryStringMethod hinzuzufügen, damit Fluid alle vorhandenen Parameter aus POST und GET an die Seitenlinks anhängt.

Im Übrigens lässt sich das auch bei eigenen Widgets anwenden. Dafür gibt man das addQueryStringMethod-Attribut an den Link-Widget-ViewHelper:

View Code HTML5
<f:widget.link arguments="{page: 1}" addQueryStringMethod="POST,GET">Seite 1</f:widget.link>

OpenLayers 3 > Zoom per Maus-Scroll deaktivieren

Wer das Zoomen per Maus-Scroll deaktivieren möchte, braucht seinem Map-Objekt lediglich eine zusätzliche Code-Zeile hinzufügen:
interactions: ol.interaction.defaults({mouseWheelZoom:false})
Die Steuerung über die Zoom-Buttons sowie per Touch bleiben davon unberührt.

Hier noch mal ein komplettes Beispiel:

View Code JAVASCRIPT
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/ol3/3.9.0/ol.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/ol3/3.9.0/ol.min.css" type="text/css" media="all" />
<div id="map"></div>
<script type="text/javascript">
	var map = new ol.Map({
		layers: [
			new ol.layer.Tile({
				source: new ol.source.OSM()
			})
		],
		interactions: ol.interaction.defaults({mouseWheelZoom:false}),
		target: 'map',
		view: new ol.View({
			center: ol.proj.fromLonLat([9.0, 51.0], 'EPSG:3857'),
			projection: ol.proj.get('EPSG:3857'),
			zoom: 7
		})
	});
</script>
Ältere Artikel »