<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:ymaps="http://api.maps.yahoo.com/Maps/V2/AnnotatedMaps.xsd">

<channel>
	<title>Chaim&#187; Tutorials</title>
	<atom:link href="http://www.online-im-park.de/category/tutorials/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.online-im-park.de</link>
	<description>Design ist... wenn man nichts mehr wegnehmen.</description>
	<lastBuildDate>Sat, 04 Sep 2010 08:41:28 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>de</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Mac OS X: RAW-Dateien von der Kamera holen</title>
		<link>http://www.online-im-park.de/2010/04/22/mac-os-x-raw-dateien-von-der-kamera-holen/</link>
		<comments>http://www.online-im-park.de/2010/04/22/mac-os-x-raw-dateien-von-der-kamera-holen/#comments</comments>
		<pubDate>Thu, 22 Apr 2010 18:13:51 +0000</pubDate>
		<dc:creator>Chaim</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Bildbearbeitung]]></category>
		<category><![CDATA[DSLR]]></category>
		<category><![CDATA[Gimp]]></category>
		<category><![CDATA[iPhoto]]></category>
		<category><![CDATA[Photoshop]]></category>
		<category><![CDATA[RAW]]></category>

		<guid isPermaLink="false">http://www.online-im-park.de/?p=1378</guid>
		<description><![CDATA[Wer Fotos im RAW-Modus schießt und die Kamera anschließend an seinen Mac anschließt um die Fotos mit iPhoto auf die Festplatte zu holen, stellt fest dass die Bilder plötzlich im JPEG-Format vorliegen. Dort liegen die Bilder allerdings bereits in der komprimierten Version vor. Das heißt, die Bilder verbrauchen weniger Speicherplatz, haben aber auch eine geringere [...]]]></description>
			<content:encoded><![CDATA[<p>Wer Fotos im RAW-Modus schießt und die Kamera anschließend an seinen Mac anschließt um die Fotos mit <a href="http://www.online-im-park.de/tag/iphoto/" class="liinternal">iPhoto</a> auf die Festplatte zu holen, stellt fest dass die Bilder plötzlich im JPEG-Format vorliegen. Dort liegen die Bilder allerdings bereits in der komprimierten Version vor. Das heißt, die Bilder verbrauchen weniger Speicherplatz, haben aber auch eine geringere Qualität. Zudem sind bereits einige &#8220;Einstellungsmöglichkeiten&#8221; vorgenommen worden (besonders im Bereich Belichtung), die man eigentlich am Mac im Rahmen der Nachbearbeitung vornehmen wollte.</p>
<p>Anstatt mit iPhoto kann man die Raw-Dateien mit dem Programm <strong>&#8220;Digitale Bilder&#8221;</strong> von der Kamera holen.<sup>1</sup> Dort werden einem auch gleich die wichtigsten Bilddaten, wie Blende, Brennweite, ISO-Wert etc. angezeigt.</p>
<h3>Was ist eigentlich RAW?</h3>
<p>Raw ist ein Rohdatenformat für Digitale Bilder. Es benötigt mehr Speicherplatz als ein bereits komprimiertes Bild (JPEG). Da das Bild unbearbeitet vorliegt, kann es auch nicht zu Belichtungsfehlern durch den Verarbeitungsprozess der Kamera kommen. Das RAW-Format eignet sich also besonders bzw. ausschließlich, wenn man es mit einem RAW-Verarbeitenden Programm (z.B. Photoshop) nachbearbeiten will.</p>
<h3>Dateiendungen von RAW-Dateien</h3>
<p>Je nach Kamerahersteller haben die erzeugten RAW-Dateien unterschiedliche Endungen. Canon benutzt zB unter anderem die Endung &#8220;cr2&#8243;.<sup>2</sup></p>
<h3>Bearbeitungsprogramme</h3>
<p>Neben einigen Namenhaften Programmen aus dem Hause Adobe (Photoshop, Photoshop Elements, Lightroom&#8230;) gibt es noch viele weitere kostenpflichtige und freie Programme. Darunter auch das Allseitsbeliebte <a href="http://www.gimp.org/" class="liexternal">GIMP</a> oder RawStudio. Zu beachten ist, dass Photoshop RAW-Dateien erst ab der Version CS unterstützt darunter ist ein kostenpflichtiges Plugin Vorraussetzung für die Arbeit mit dem Rohdatenformat.</p>
<ol class="footnotes"><li id="footnote_0_1378" class="footnote"> findet man unter Programme oder einfach über die Suche </li><li id="footnote_1_1378" class="footnote"> Eine ausführliche Liste der Dateiendungen findet sich in der <a href="http://de.wikipedia.org/wiki/Rohdatenformat_%28Fotografie%29#Dateierweiterungen" rel="nofollow" class="liwikipedia">Wikipedia</a> </li></ol>]]></content:encoded>
			<wfw:commentRss>http://www.online-im-park.de/2010/04/22/mac-os-x-raw-dateien-von-der-kamera-holen/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Spaß mit Twitter ohne API</title>
		<link>http://www.online-im-park.de/2009/10/07/spas-mit-twitter-ohne-api/</link>
		<comments>http://www.online-im-park.de/2009/10/07/spas-mit-twitter-ohne-api/#comments</comments>
		<pubDate>Wed, 07 Oct 2009 14:09:25 +0000</pubDate>
		<dc:creator>Chaim</dc:creator>
				<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Social Media]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Codeschnipsel]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.online-im-park.de/?p=836</guid>
		<description><![CDATA[Vor einiger Zeit habe ich einen Gastartikel auf Netheweb veröffentlicht, darüber wie man seinen Twitterfeed im Blog anzeigen kann ohne sich in die Twitterapi einarbeiten zu müssen. Der Artikel zeigt anhand eines Beispiels, wie man die letzten vier Tweets seines Twitteraccounts (oder des Accounts eines Freundes) auf seinem Blog darstellen kann.
Hier der Codeschnipsel:

$feed = &#34;http://search.twitter.com/search.atom?q=from:creanu&#38;amp;rpp=4&#34;;
$xml [...]]]></description>
			<content:encoded><![CDATA[<p>Vor einiger Zeit habe ich einen Gastartikel auf Netheweb veröffentlicht, darüber wie man seinen <a href="http://netheweb.de/microblogging/twitter-im-blog-anzeigen/" class="liexternal">Twitterfeed im Blog anzeigen</a> kann ohne sich in die <strong>Twitterapi</strong> einarbeiten zu müssen. Der Artikel zeigt anhand eines Beispiels, wie man die letzten vier Tweets seines Twitteraccounts (oder des Accounts eines Freundes) auf seinem Blog darstellen kann.</p>
<p>Hier der Codeschnipsel:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$feed</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;http://search.twitter.com/search.atom?q=from:creanu&amp;amp;rpp=4&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$xml</span> <span style="color: #339933;">=</span> <span style="color: #990000;">simplexml_load_file</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$feed</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&lt;strong&gt;Meine letzten Tweets:&lt;/strong&gt; 
&nbsp;
&quot;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$xml</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">entry</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$entry</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #000088;">$tweet</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$entry</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">title</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$title</span> <span style="color: #339933;">=</span> <span style="color: #990000;">htmlentities</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$tweet</span><span style="color: #339933;">,</span><span style="color: #009900; font-weight: bold;">ENT_QUOTES</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'utf-8'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$tweet</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;
&nbsp;
&quot;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p><span id="more-836"></span></p>
<p>Die Variable $feed enthält die URL zum Feed der Suche. Diesen Feed erhält man ganz einfach, indem man das gesuchte (in diesem Fall &#8220;from:creanu&#8221;) in die Twittersearch eingibt und auf &#8220;Rss Feed for this query&#8221; klickt. Diesen Feed kann ich dann mit der simplexml-Funktion bearbeiten. Mittels einer foreach-Schleife werden alle Tweets (in diesem Fall 4 Stück, da wir die Suche mit dem Parameter rpp=4 auf 4 Ausgaben begrenzen) aufgeführt.</p>
<p>So nun möchte ich den Code noch ein wenig umschreiben für einen Hashtag und alle Tweets aufführen, die mit diesem Hastag getaggt wurden. Für dieses Beispiel, möchte ich auf ein Hashtag zurückgreifen, das bisher nur einmal verwendet wurde (zumindes laut der Twittersearch, die nur X Wochen zurück geht). <a href="http://search.twitter.com/search?q=%23hebraeisch" class="liexternal">#hebräisch</a>.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$feed</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;http://search.twitter.com/search.atom?q=%23hebraeisch&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$xml</span> <span style="color: #339933;">=</span> <span style="color: #990000;">simplexml_load_file</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$feed</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&lt;strong&gt;Tweets mit dem Hashtag #hebraeisch:&lt;/strong&gt; 
&nbsp;
&quot;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$xml</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>entry <span style="color: #b1b100;">as</span> <span style="color: #000088;">$entry</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #000088;">$tweet</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$entry</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">title</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$title</span> <span style="color: #339933;">=</span> <span style="color: #990000;">htmlentities</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$tweet</span><span style="color: #339933;">,</span><span style="color: #009900; font-weight: bold;">ENT_QUOTES</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'utf-8'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$tweet</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;
&nbsp;
&quot;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>&#8220;%23&#8243; in der URL steht für # (wer hätte das gedacht!?)</p>
<p>Mit dem Code werden jetzt alle Tweets mit dem Hashtag #hebraeisch angezeigt. Nun möchte ich passend dazu noch den Twitternamen, desjenigen anzeigen, der den Hashtag getwittert hat.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$twitteruser</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$entry</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>name<span style="color: #339933;">;</span></pre></div></div>

<p>und dann die Ausgabe:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">echo</span> <span style="color: #000088;">$twitteruser</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;: &quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$tweet</span><span style="color: #339933;">;</span></pre></div></div>

<p><strong>Woher weiß ich, wie die Objekte heißen!?</strong></p>
<p>Die Variable $entry ist ein Objekt, das mehere Elemente enthält. Nämlich alle Elemente, die auch die XML-Datei enthält. XML-Dateien sind wie folgt aufgebaut:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span>name<span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span>creanu<span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;/</span>name<span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span></pre></div></div>

<p><tweet>Mein Tweet</tweet></p>
<p>&lt;datum&gt;07.10.2009&lt;/datum&gt;</p>
<p>Wenn ich nun auf den Inhalt des Elements &#8220;datum&#8221; zugreifen möchte, tue ich das mit $entry-&gt;datum. Um herauszufinden welche Elemente es in der XML Datei gibt und wie sie heißen öffne ich sie im Browser und lasse mir den Quelltext anzeigen. Falls du eingestellt haben solltest, dass sich Feeds automatisch in deinem Feedreader öffnen, klickst du den Feed und speicherst ihn auf deiner Festplatte (Ziel speichern unter&#8230;) um ihn dort mit einem Texteditor zu öffnen und dir die Struktur anzusehen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.online-im-park.de/2009/10/07/spas-mit-twitter-ohne-api/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Hebräisch schreiben unter Mac OS X</title>
		<link>http://www.online-im-park.de/2009/10/07/hebraisch-schreiben-unter-mac-os-x/</link>
		<comments>http://www.online-im-park.de/2009/10/07/hebraisch-schreiben-unter-mac-os-x/#comments</comments>
		<pubDate>Wed, 07 Oct 2009 12:20:21 +0000</pubDate>
		<dc:creator>Chaim</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Hebräisch]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.online-im-park.de/?p=810</guid>
		<description><![CDATA[Ich bin ja eigentlich eher der konservative Typ, der Vokabeln und anderes lernt indem er sie per Hand abschreibt. Leider führt das auf Dauer zu unendlich viel Papiermüll, vollen Ordnern, überfüllten Ablagen etc. deswegen versuche ich mich &#8211; der Ordnung und der Umwelt zur Liebe &#8211; um zu erziehen. Gestern habe ich gestern angefangen eine [...]]]></description>
			<content:encoded><![CDATA[<p>Ich bin ja eigentlich eher der konservative Typ, der Vokabeln und anderes lernt indem er sie per Hand abschreibt. Leider führt das auf Dauer zu unendlich viel Papiermüll, vollen Ordnern, überfüllten Ablagen etc. deswegen versuche ich mich &#8211; der Ordnung und der Umwelt zur Liebe &#8211; um zu erziehen. Gestern habe ich gestern angefangen eine <a href="http://www.online-im-park.de/2009/10/07/hebraicum/" class="liinternal">Vokabelliste mit Hebräischen Verben</a> abzutippen. Das war leider nicht ganz so einfach <img src='http://www.online-im-park.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  deswegen gibt es hier ein Tutorial für alle, die mal Hebräisch, Griechisch, Arabisch oder sonst etwas für die Schule, die Arbeit, die Uni etc. am Mac schreiben müssen.</p>
<p><span id="more-810"></span> <strong>1. Eine neue Tastaturbelegung hinzufügen<br />
</strong></p>
<p>Unter Systemeinstellungen findet man den Dialog <strong>Sprache &amp; Text</strong></p>
<p><a href="http://www.online-im-park.de/wp-content/uploads/2009/10/hebraeisch-mac-os-1.gif" rel="lightbox[hebraeisch-macos]" class="liimagelink"><img class="alignnone size-medium wp-image-814" title="hebraeisch-mac-os-1" src="http://www.online-im-park.de/wp-content/uploads/2009/10/hebraeisch-mac-os-1-300x254.gif" alt="hebraeisch-mac-os-1" width="300" height="254" /></a></p>
<p>Dort müsst ihr die Registerkarte <strong>Eingabequellen</strong> aufrufen und scrollt runter bis zu <strong>Hebräisch</strong> (oder der Sprache eurer Wahl).<br />
<a href="http://www.online-im-park.de/wp-content/uploads/2009/10/hebraeisch-mac-os-2.gif" rel="lightbox[hebraeisch-macos]" class="liimagelink"><img class="alignnone size-medium wp-image-815" title="hebraeisch-mac-os-2" src="http://www.online-im-park.de/wp-content/uploads/2009/10/hebraeisch-mac-os-2-300x261.gif" alt="hebraeisch-mac-os-2" width="300" height="261" /></a></p>
<p><strong>&#8220;Hebräisch QWERTY&#8221; oder &#8220;Hebräisch&#8221;?</strong></p>
<p>Es gibt zwei Tastaturbelegungen, die eine nur &#8220;Hebräisch&#8221; die andere ist &#8220;Hebräisch QWERY&#8221;. Bei der <a href="http://en.wikipedia.org/wiki/Hebrew_keyboard" rel="nofollow" class="liwikipedia">klassischen, israelischen Belegung </a>(siehe Bild) findet man z.B. א auf &#8220;T&#8221;. Es ist etwas gewöhungsbedürftig, ich habe Vorgestern einen Nachmittag damit geschrieben und habe mich &#8220;schnell&#8221; eingelebt. Dennoch bin ich jetzt auf die <strong>Hebräisch QWERTY</strong> umgestiegen, weil sie &#8211; meiner Meinung nach &#8211; für Europäer (und Amerikaner, Australier etc.) einfacher ist. Hier liegt א auf A, פ liegt auf F etc. es erscheint also <strong>&#8220;logischer&#8221;</strong>, weil sich bspw. ein &#8220;ל&#8221; (auf der Taste L) im deutschen auch anhört wie L.</p>
<p>Wer vor hat <a href="http://de.wikipedia.org/wiki/Iwrit" rel="nofollow" class="liwikipedia">modernes Hebräisch</a> (עברית) zu schreiben und einen Aufenthalt in Israel plant, sollte sich vielleicht lieber gleich an die &#8220;normale&#8221; Tastaturbelegung gewöhnen, da ein späteres umgewöhnen evtl. etwas kompliziert wird <img src='http://www.online-im-park.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Hier seht ihr die <strong>Standardtastaturbelegung</strong></p>
<p><a href="http://www.online-im-park.de/wp-content/uploads/2009/10/hebrew_keyboard_layout.png" rel="lightbox[hebraeisch-macos" class="liimagelink"><img class="alignnone size-medium wp-image-816" title="hebrew_keyboard_layout" src="http://www.online-im-park.de/wp-content/uploads/2009/10/hebrew_keyboard_layout-300x99.png" alt="hebrew_keyboard_layout" width="300" height="99" /></a></p>
<p><strong>Tipp: Tastatur- und Zeichenübersicht und Eingabequellen in der Menüleiste anzeigen</strong></p>
<p><a href="http://www.online-im-park.de/wp-content/uploads/2009/10/hebraeisch-mac-os-3.gif" rel="lightbox[hebraeisch-macos]" class="liimagelink"><img class="alignnone size-medium wp-image-817" title="hebraeisch-mac-os-3" src="http://www.online-im-park.de/wp-content/uploads/2009/10/hebraeisch-mac-os-3-300x261.gif" alt="hebraeisch-mac-os-3" width="300" height="261" /></a></p>
<p>Ganz oben, könnt ihr die <strong>Tastatur- und Zeichenübersicht</strong> aktivieren. Damit könnt ihr beim schreiben (z.B. in Pages) eine &#8220;Hilfstastatur&#8221; einblenden, auf der ihr die Tastaturbelegung sehen könnt. Sehr wichtig (da praktisch) ist auch das einstellen der <strong>Anzeige in der Menüleiste</strong>. So könnt ihr ganz bequem immer zwischen Deutsch und Hebräisch (oder Griechisch, Chinesisch, Arabisch etc.) umherschalten ohne jedes Mal die Systemeinstellungen aufzurufen. Das sieht dann im Einsatz so aus:</p>
<p><a href="http://www.online-im-park.de/wp-content/uploads/2009/10/hebraeisch-mac-os-4.gif" rel="lightbox[hebraeisch-macos]" class="liimagelink"><img class="alignnone size-medium wp-image-818" title="hebraeisch-mac-os-4" src="http://www.online-im-park.de/wp-content/uploads/2009/10/hebraeisch-mac-os-4-300x240.gif" alt="hebraeisch-mac-os-4" width="300" height="240" /></a></p>
<p><strong>Das sieht dann so aus:</strong></p>
<p><a href="http://www.online-im-park.de/wp-content/uploads/2009/10/hebraeisch-tastatur-klein.png" rel="lightbox[hebraeisch-macos]" class="liimagelink"><img class="alignnone size-full wp-image-826" title="hebraeisch-tastatur-klein" src="http://www.online-im-park.de/wp-content/uploads/2009/10/hebraeisch-tastatur-klein.png" alt="hebraeisch-tastatur-klein" width="500" /></a></p>
<p><strong>Endbuchstaben</strong> etc. kann man mit gedrückter Shift-Taste schreiben:</p>
<p><a href="http://www.online-im-park.de/wp-content/uploads/2009/10/hebraeisch-tastatur-gross.png" rel="lightbox[hebraeisch-macos]" class="liimagelink"><img class="alignnone size-full wp-image-827" title="hebraeisch-tastatur-gross" src="http://www.online-im-park.de/wp-content/uploads/2009/10/hebraeisch-tastatur-gross.png" alt="hebraeisch-tastatur-gross" width="500" /></a></p>
<p>und <strong>Vokale</strong> mit gedrückter Alt-Taste:</p>
<p><a href="http://www.online-im-park.de/wp-content/uploads/2009/10/hebraeisch-tastatur-vokale.png" class="liimagelink"><img class="alignnone size-full wp-image-828" title="hebraeisch-tastatur-vokale" src="http://www.online-im-park.de/wp-content/uploads/2009/10/hebraeisch-tastatur-vokale.png" alt="hebraeisch-tastatur-vokale" width="558" height="254" /></a></p>
<p><strong>2. Schreiben in Numbers</strong></p>
<p>Nachdem das bei mir gestern noch super funktioniert hat, wollte ich eine Vokabelliste in Numbers anfertigen.</p>
<p><strong>Das hier ist meine Vokabelliste:</strong></p>
<p><a href="http://www.online-im-park.de/wp-content/uploads/2009/10/hebraeisch-numbers.png" rel="lightbox[hebraeisch-macos]" class="liimagelink"><img class="alignnone size-full wp-image-820" title="hebraeisch-numbers" src="http://www.online-im-park.de/wp-content/uploads/2009/10/hebraeisch-numbers.png" alt="hebraeisch-numbers" width="500" /></a></p>
<p>Anfangs hatte ich allerdings folgendes Problem:</p>
<p>Immer wenn ich ein neues Verb eingetragen habe, hat er die Buchstaben umgedreht. Aus חיים wurde also “םייח“. Wenn ich dann auf die Zelle geklickt habe, um das Wort zu bearbeiten, wurde es mir wieder in der Laufrichtung von rechts-nach-links angezeigt. Also so:</p>
<p><a href="http://www.online-im-park.de/wp-content/uploads/2009/10/hebraeisch-problem2.png" rel="lightbox[hebraeisch-macos]" class="liimagelink"><img class="alignnone size-full wp-image-821" title="hebraeisch-problem2" src="http://www.online-im-park.de/wp-content/uploads/2009/10/hebraeisch-problem2.png" alt="hebraeisch-problem2" width="349" height="119" /></a></p>
<p><a href="http://www.online-im-park.de/wp-content/uploads/2009/10/hebraeisch-problem3.png" rel="lightbox[hebraeisch-macos]" class="liimagelink"><img class="alignnone size-full wp-image-822" title="hebraeisch-problem3" src="http://www.online-im-park.de/wp-content/uploads/2009/10/hebraeisch-problem3.png" alt="hebraeisch-problem3" width="342" height="119" /></a></p>
<p>aber es gibt einen Trick, zumindest ist es eine <strong>Notlösung</strong>, bis es ein Fix o.ä. für dieses Problem gibt. Man fügt einfach bei der Formeleingabe einen <strong>Tabulator</strong> ein.</p>
<p><a href="http://www.online-im-park.de/wp-content/uploads/2009/10/hebraeisch-problem4.png" rel="lightbox[hebraeisch-macos]" class="liimagelink"><img class="alignnone size-full wp-image-823" title="hebraeisch-problem4" src="http://www.online-im-park.de/wp-content/uploads/2009/10/hebraeisch-problem4.png" alt="hebraeisch-problem4" width="547" height="119" /></a></p>
<p>und dann geht es:</p>
<p><a href="http://www.online-im-park.de/wp-content/uploads/2009/10/hebraeisch-problem5.png" rel="lightbox[hebraeisch-macos]" class="liimagelink"><img class="alignnone size-full wp-image-824" title="hebraeisch-problem5" src="http://www.online-im-park.de/wp-content/uploads/2009/10/hebraeisch-problem5.png" alt="hebraeisch-problem5" width="550" height="99" /></a></p>
<p><strong>Vokalisiert schreiben</strong></p>
<p>Aufgrund einer Mischung aus <strong>Unwissenheit</strong> und <strong>Faulheit</strong> habe ich alle Wörter bisher ohne Vokale geschrieben und auch keine Unterscheidung zwischen bspw. Beth (בּ)  und Veth (ב) gemacht. Es geht aber. Zumindest mit der <strong>QWERTY</strong> Belegung (mit der anderen hab ich es noch nicht raus gekriegt, habe aber auch nicht wirklich danach gesucht <img src='http://www.online-im-park.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ). Dazu schreibt man erst den Konsonanten und dann den Vokal (mit gedrückter Shift- bzw. Alttaste). Das ist etwas ungewohnt, da man ja &#8220;normalerweise&#8221; konsequent die Konsonanten schreibt und dann erst danach wenn das fertige Wort steht, die Punktierung setzt (so hab ich es zumindest mal gelernt&#8230;) die meisten von euch schreiben aber wahrscheinlich (so wie ich inzwischen auch <img src='http://www.online-im-park.de/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  ) so ein &#8220;Durcheinander&#8221;, wo unter jedem Konsonanten direkt der Vokal gesetzt wird.</p>
<p>Wenn man sich dran gewöhnt hat, gehts aber auch ganz schnell mit der Vokalisierung:</p>
<p>Beispiel für <a href="http://en.wikipedia.org/wiki/Chaim" rel="nofollow" class="liwikipedia"><strong>Chajim</strong></a>:</p>
<p><img class="alignnone size-full wp-image-829" title="beispiel-chaim" src="http://www.online-im-park.de/wp-content/uploads/2009/10/beispiel-chaim.png" alt="beispiel-chaim" width="207" height="60" /></p>
<p><strong>Fragen, Anregungen, Kritik etc. bitte in die Comments posten!</strong></p>
<p><strong>In eigener Sache:</strong></p>
<p>Dieses Tutorial erscheint unter Creative Commons (<a href="http://creativecommons.org/licenses/by-nc-sa/3.0/de/" class="liexternal">NC-BY-SA</a>). Ihr dürft es komplett oder auszugsweise zitieren, <strong>aber bitte setzt dann einen Link zu meinem Blog und diesem Tutorial. </strong></p>
<p><strong><br />
</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.online-im-park.de/2009/10/07/hebraisch-schreiben-unter-mac-os-x/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Einstieg in Wordpress Plugins</title>
		<link>http://www.online-im-park.de/2009/06/18/einstieg-in-wordpress-plugins/</link>
		<comments>http://www.online-im-park.de/2009/06/18/einstieg-in-wordpress-plugins/#comments</comments>
		<pubDate>Thu, 18 Jun 2009 11:39:17 +0000</pubDate>
		<dc:creator>Chaim</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Webwork]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Bloggosphäre]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Wordpress Plugins]]></category>

		<guid isPermaLink="false">http://www.online-im-park.de/?p=624</guid>
		<description><![CDATA[
Wordpress ist eine sehr starke Plattform, die dank ihrer Einfachheit und Flexibilität enorme Verbreitung in der Bloggosphäre gefunden hat. Wer Wordpress Templates schreiben kann, hält ein sehr mächtiges Werkzeug in den Händen. Die Möglichkeiten von viralem Marketing mit Wordpress Themes und auch die der Monetarisierung dieser Templates sind grenzenlos.
Eben das gilt auch für die Wordpress [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-medium wp-image-625" style="float: left; margin:20px;" title="wordpress" src="http://www.online-im-park.de/wp-content/uploads/2009/06/wordpress-300x299.png" alt="wordpress" width="300" height="299" /></p>
<p>Wordpress ist eine sehr starke Plattform, die dank ihrer Einfachheit und Flexibilität enorme Verbreitung in der Bloggosphäre gefunden hat. Wer Wordpress Templates schreiben kann, hält ein sehr mächtiges Werkzeug in den Händen. Die Möglichkeiten von viralem Marketing mit Wordpress Themes und auch die der Monetarisierung dieser Templates sind grenzenlos.</p>
<p>Eben das gilt auch für die Wordpress Plugins. Man kann sie monetarisieren, für virales Marketing benutzen, die Usability des eigenen Blogs oder des Blogs seines Kunden verbessern und auch seine Reputation in der Wordpress Community pimpen. Wenn man sein Plugin zum Beispiel unter die Creative Commons Lizenz stellt und mit der Auflage, einen Link zu setzen, weiter gibt kann man so zusätzlich noch SEO betreiben (gilt natürlich auch für Themes). Außerdem sind Plugins eine super Ergänzung für ausgefallene Projekte, Marketingideen, Affiliatezeugs usw.</p>
<p>All das sind verdammt gute Gründe sich mit den Wordpress Plugins auseinander zusetzen.</p>
<p><span id="more-624"></span></p>
<p>Zum testen würde ich eien &#8220;Testumgebung&#8221; auf dem localhost empfehlen. Einfach die aktuelle Wordpressinstallation mit einer extra dafür angelegten Datenbank durchführen und alle tests darin durchführen bevor ihr auf die Idee kommt das ganze in eurem eigenen Blog zu testen <img src='http://www.online-im-park.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  Außerdem spart ihr viel Zeit, weil das hochladen entfällt.</p>
<p><strong>Die Dateien</strong></p>
<p>Für eurer Plugin reicht theoretisch eine einzelne Datei. Es empfiehlt sich aber einen eigenen Ordner anzulegen, besonders wenn ihr mehrere Dateien habt ist es sinnvoll alles geordnet in einem Ordner ggf. mit Unterordnern anzulegen.</p>
<p>Nun braucht ihr eure Plugin Datei. Der Name ist egal. Für dieses Beispiel nehm ich einfach mal den Namen tagcloud.php</p>
<p>Das Plugin beginnt mit einem Kommentar, der Informationen enthält die später auf der Plugin Seite angezeigt werden. Das sieht bei mir so aus:</p>
<p>/*<br />
Plugin Name: Tagcloud<br />
Plugin URI: htp://www.online-im-park.de/<br />
Version: 1.0<br />
Author: &lt;a href=&#8221;http://www.online-im-park.de/&#8221;&gt;Chaim&lt;/a&gt;<br />
Description: Nur ein kleiner Test <img src='http://www.online-im-park.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /><br />
*/</p>
<p>In der Pluginübersicht sieht es dann so aus:</p>
<p><img class="alignnone size-full wp-image-626" title="plugins-verwalten-e280b9-testumgebung-e28094-wordpress" src="http://www.online-im-park.de/wp-content/uploads/2009/06/plugins-verwalten-e280b9-testumgebung-e28094-wordpress.jpg" alt="plugins-verwalten-e280b9-testumgebung-e28094-wordpress" width="577" height="58" /></p>
<p><em><strong>Anmerkung:</strong></em> Ich habe nicht vor in diesem Artikel einen kompletten Bauplan für das Programmieren einer Sidebar zu liefern. Dafür bin ich jetzt einfach zu faul. Es geht nur um allgemeine Aspekte eines Wordpress Plugins.</p>
<p>In eurem Ordner könnt ihr dann noch einen readme.txt File und/oder Lizenzinformationen ablegen. Wenn ihr das Plugin nur für euch nutzen wollt, braucht ihr dies natürlich nicht zu tun <img src='http://www.online-im-park.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  .</p>
<p><strong>Anatomie eines Wordpress Plugins</strong></p>
<p>Wordpress Plugins sind Objekt orientiert aufgebaut. Ihr braucht also erstmal eine &#8220;Hauptklasse&#8221; und dann die jeweiligen Funktionen. Angenommen unsere Tagcloud soll dem Header einen Kommentar hinzufügen, einen Link in den Footer knallen und ein Widget für die Sidebar liefern.</p>
<p>Dann definieren wir in unserer Hauptklasse erst einmal die Funktion zum ergänzen des Headers und des Footers.</p>
<p>class meinetagcloud {</p>
<p style="padding-left: 30px;">function addHeaderCode() {<br />
?&gt;<br />
&lt;!&#8211; Ich war hier <img src='http://www.online-im-park.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  &#8211;&gt;<br />
&lt;?php<br />
}</p>
<p style="padding-left: 30px;">function addFooterCode() {</p>
<p>?&gt;<br />
Danke an &lt;a href=&#8221;http://www.online-im-park.de/&#8221;&gt;Chaim&lt;/a&gt; für das coole Plugin.<br />
&lt;? }<br />
}</p>
<p>}</p>
<p>Und diese Funktion rufen wir dann später mit der Wordpress Funktion add_action auf. Mit add_action kann man bestimmten Wordpress Komponenten (header, footer etc.) Funktionen hinzufügen. Das heißt, dass unsere Kommentar im Quelltext des Frontends da angezeigt wird wo &lt;? wp_header(); ?&gt; steht. Falls das verwendete Template keinen Wordpress Header verwendet ist die Funktion nutzlos.</p>
<p>So geht&#8217;s mit add_action:</p>
<blockquote><p>add_action(&#8216;wp_head&#8217;, array(&amp;$wp_suggest, &#8216;addHeaderCode&#8217;), 1);<br />
add_action(&#8216;wp_footer&#8217;, array(&amp;$wp_suggest, &#8216;addFooterCode&#8217;), 1);</p></blockquote>
<p><img class="alignnone size-full wp-image-628" title="testumgebung1" src="http://www.online-im-park.de/wp-content/uploads/2009/06/testumgebung1.jpg" alt="testumgebung1" width="221" height="37" /></p>
<p>So weit so gut. Nun möchte ich gerne noch ein Widget in der Sidebar haben.</p>
<p>Dafür lege ich eine extra Funktion an. Die Funktion tagcloud_widget. Sie ist wie folgt aufgebaut:</p>
<p>function meinetagcloud_widget() {<br />
?&gt;</p>
<p>&lt;a href=&#8221;http://www.online-im-park.de/&#8221;&gt;Chaim&lt;/a&gt;, I love your blog!</p>
<p>&lt;?</p>
<p>}</p>
<p>Das ganze muss man dann noch mit:</p>
<p>function init_meinetagcloud(){<br />
register_sidebar_widget(&#8220;meinetagcloud&#8221;, &#8220;meinetagcloud_widget&#8221;);<br />
}<br />
add_action(&#8220;plugins_loaded&#8221;, &#8220;init_meinetagcloud&#8221;);</p>
<p><strong>Das sieht dann so aus:</strong></p>
<p><img class="alignnone size-full wp-image-627" title="testumgebung" src="http://www.online-im-park.de/wp-content/uploads/2009/06/testumgebung.jpg" alt="testumgebung" width="501" height="318" /></p>
<p>Und weil ich so ein netter, endnutzerfreundlicher Entwickler bin richte ich zusätzlich zu meinem Plugin einen Adminbereich ein um den Link aus dem Footer wieder zu entfernen.</p>
<p><strong>Plugin Adminoberfläche:</strong></p>
<p>function wps_admin_options() {</p>
<p>if(isset($_POST['edit'])) {<br />
$wpsOptions['linklove'] = $_POST['linklove'];</p>
<p>echo $wpsOptions['linklove'];</p>
<p>}</p>
<p>/* &#8212;&#8212;&#8212;&#8212;- Linklove Option &#8212;&#8212;&#8212;&#8212;&#8212;&#8211; */</p>
<p>$opt_name = &#8216;wps_linklove&#8217;;<br />
$hidden_field_name = &#8216;wps_submit_hidden&#8217;;<br />
$data_field_name = &#8216;wps_linklove&#8217;;</p>
<p>$opt_val = get_option($opt_name);</p>
<p>if( $_POST[$hidden_field_name] == &#8216;Y&#8217; ) {</p>
<p>$opt_val = $_POST[$data_field_name];</p>
<p>update_option( $opt_name, $opt_val );</p>
<p>?&gt;</p>
<p>&lt;div class=&#8221;updated&#8221;&gt;&lt;p&gt;&lt;strong&gt;&lt;?php _e(&#8216;Options saved.&#8217;, &#8216;mt_trans_domain&#8217; ); ?&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;<br />
&lt;?</p>
<p>}</p>
<p>?&gt;<br />
&lt;p&gt;<br />
&lt;h1&gt;Einstellungen&lt;/h1&gt;<br />
&lt;b&gt;Linklove:&lt;/b&gt; &lt;br&gt;</p>
<p>&lt;form method=&#8221;post&#8221; action=&#8221;&lt;?php echo $_SERVER["REQUEST_URI"]; ?&gt;&#8221;&gt;<br />
&lt;input type=&#8221;hidden&#8221; name=&#8221;&lt;?php echo $hidden_field_name; ?&gt;&#8221; value=&#8221;Y&#8221;&gt;<br />
Link zu &lt;a href=&#8221;http://www.online-im-park.de/&#8221;&gt;Chaim&lt;/a&gt; im Footer anzeigen<br />
&lt;input type=&#8221;checkbox&#8221; name=&#8221;&lt;? echo $data_field_name; ?&gt;&#8221; &lt;? if($opt_val == &#8220;on&#8221;) echo &#8220;checked&#8221;; ?&gt;&gt;<br />
&lt;br&gt;&lt;br&gt;<br />
&lt;input type=&#8221;submit&#8221; name=&#8221;edit&#8221; value=&#8221;edit!&#8221;&gt;<br />
&lt;/form&gt;</p>
<p>&lt;/p&gt;<br />
&lt;?<br />
}</p>
<p><strong>Zur Erklärung:</strong></p>
<p>Ich habe die Variable $opt_name sie enthält den Namen der Einstellung &#8220;Link anzeigen bzw.verbergen&#8221;. Und dazu gibts noch 2 Variablen den Namen eines versteckten Feldes (um zu gucken ob das Formular abgeschickt wurde) und den der Checkbox. Dann hab ich die Variable $opt_val sie enthält den aktuellen Wert meiner Einstellung. Den Wert ziehe ich mir mit get_option();</p>
<p>Dann frag ich ab ob das Formular abgeschickt wurde und wenn ja welchen Wert die Checkbox bekommen hat. Die Einstellung setze ich dann auf diesen Wert. Wenn alles erfolgreich war gibt das Script die automatische Wordpressmeldung aus.</p>
<p>Dann gibts noch das Formular um die Linklove Einstellungen vor zu nehmen:</p>
<p>Einfach mit HTML aufgesetzt. Und an aktuell aufgerufene Seite gesendet ($_SERVER["REQUEST_URI"];) ich frage noch kurz ab welchen Wert meine Einstellung hat. Wenn sie auf on steht dann ist die Box automatisch abgehakt und wenn nicht ist sie leer.</p>
<p>Das ganze ist also ganz einfach.</p>
<p>Nun müssen wir aber auch noch unsere Footer Funktion Ergänzen.</p>
<p>Wir ziehen uns den aktuellen Wert der Einstellung mit $opt_val = get_option(&#8216;wps_linklove&#8217;); und fragen dann mit IF ab: if($opt_val == &#8220;on&#8221;) wenn IF true zurück gibt, dann gibts den Link. Ansonsten gibts ihn nicht. Mit else könnte man noch so eine gehessige Meldung wie &#8220;hier bloggt ein linkgeiziger Blogger&#8221; oder sowas ausgeben <img src='http://www.online-im-park.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  das überlasse ich euch.</p>
<p>Das ganze wars dann auch schon. In den Rest müsst ihr euch mit der Zeit einarbeiten. Hier noch ein paar gute Links:</p>
<ul>
<li><a href="http://codex.wordpress.org/Function_Reference" class="liwp">Wordpress Funktionsreferenz</a></li>
<li><a href="http://codex.wordpress.org/Writing_a_Plugin" class="liwp">Write a Plugin</a> im Wordpress Codex</li>
<li><a href="http://codex.wordpress.org/Template_Tags/get_bloginfo" class="liwp">Wordpress Template Tags</a></li>
<li><a href="http://forum.wordpress-deutschland.org/" class="liexternal">Wordpress Deutschland Forum</a></li>
</ul>
<p>Have Fun!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.online-im-park.de/2009/06/18/einstieg-in-wordpress-plugins/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Interaktive Fotoshow mit Flash erstellen</title>
		<link>http://www.online-im-park.de/2008/06/16/interaktive-fotoshow-flash/</link>
		<comments>http://www.online-im-park.de/2008/06/16/interaktive-fotoshow-flash/#comments</comments>
		<pubDate>Mon, 16 Jun 2008 12:25:34 +0000</pubDate>
		<dc:creator>Chaim</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://www.online-im-park.de/?p=249</guid>
		<description><![CDATA[Ich glaube, das ist das erste Tutorial in meinem Blog zu Flash. Vielleicht bleibt es auch das einzige, vielleicht aber auch nicht &#8211;  mal sehen.
Zunächst mal könnt ihr euch hier das Ergebnis anschauen:


1. Öffne ein neues Dokument mit vier Ebenen (Hintergrund, Fotos, Action) und füge deinen Hintergrund auf der Hintergrundebene ein.
2. Dann importierst du [...]]]></description>
			<content:encoded><![CDATA[<p>Ich glaube, das ist das erste Tutorial in meinem Blog zu Flash. Vielleicht bleibt es auch das einzige, vielleicht aber auch nicht &#8211;  mal sehen.</p>
<p>Zunächst mal könnt ihr euch hier das Ergebnis anschauen:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="440" height="200" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://www.ruhr-point.de/suiteimageshow.swf" /><embed type="application/x-shockwave-flash" width="440" height="200" src="http://www.ruhr-point.de/suiteimageshow.swf"></embed></object></p>
<p><span id="more-249"></span></p>
<p>1. Öffne ein neues Dokument mit vier Ebenen (Hintergrund, Fotos, Action) und füge deinen Hintergrund auf der Hintergrundebene ein.</p>
<p>2. Dann importierst du deine Fotos auf die Fotoebene. Vorher musst sicher stellen, dass du ihre Größe angepasst hast und ihnen evtl. einen Rahmen verpasst hast.</p>
<p>3. Nun konvertierst du jedes Bild in einen MovieClip. Achte dabei darauf, dass der Punkt im Feld &#8220;Registration&#8221; genau in der Mitte ist.</p>
<p><a href="http://www.online-im-park.de/wp-content/uploads/2008/06/screenshot.jpg" class="liimagelink"><img class="alignnone size-medium wp-image-250" title="Screenshot Flash Tutorial" src="http://www.online-im-park.de/wp-content/uploads/2008/06/screenshot-300x88.jpg" alt="Screenshot Flash Tutorial Fotoshow" width="300" height="88" /></a></p>
<p>4. Nun können wir die Fotos noch mit einem Schatten verschönern. Dazu markierst du dein Foto und wählst Filters aus. Füge den neuen Filter Glow hinzu und setze Blur auf 10. Als Farbe wähltst du schwarz. Dies machst du für jedes deiner Fotos.</p>
<p><a href="http://www.online-im-park.de/wp-content/uploads/2008/06/screen.jpg" class="liimagelink"><img class="alignnone size-medium wp-image-251" title="Einen Schatten in Flash hinzufügen" src="http://www.online-im-park.de/wp-content/uploads/2008/06/screen-300x73.jpg" alt="Wie man in Flash einen Schatten hinzufügt" width="300" height="73" /></a></p>
<p>5. Um mit dem ActionScript loslegen zu können, brauchst du die Flash Klasse <a href="http://code.google.com/p/tweener/" class="liexternal">Tweener</a> für ActionScript 3 (Unter Downloads: <span style="white-space: nowrap;">tweener_1_31_70_as3.zip</span>) . Sie gibt dir die Möglichtkeit Objekte leicht über den ActionScript Code zu bewegen. Entzippe die den Ordner in deinem Projektordner.</p>
<p>6. Nun wählst du Frame 1 auf der Ebene Actions aus. Und dann gehts los:</p>
<p style="padding-left: 30px;">Zu erst imporitieren wir Tweener.</p>
<p style="padding-left: 30px;">und dann definieren wir einige Variablen um die Fotoshow später noch besser zu personalisieren.</p>
<blockquote>
<pre><code>import caurina.transitions.*;

var photoOriginX:Number = photo1.x;
var photoDestX:Number = photoOriginX + 200;
var speed:Number = .5;
var rotationRange:Number = 10;
var photoCount:Number = 3;
var easeType:String = "easeoutquad";</code></pre>
</blockquote>
<p>7. Nun fügen wir zwei Funktionen hinzu. Die erste tritt in Kraft wenn auf ein Bild geklickt wird. Sie bewegt das Foto zu Position x, die wir zuvor definiert haben. Außerdem dreht sie das Foto zu einem zufälligen Wert. Die zweite Funktion macht die Änderungen wieder rückgängig und bringt das Foto zurück auf seinen ursprünglichen Platz.</p>
<pre><code>function photoSlideOut(e:Event):void
{
	e.target.parent.setChildIndex(e.target, e.target.parent.numChildren - 1);
	Tweener.addTween(e.target, {x: photoDestX, time: speed, transition: easeType, onComplete:photoSlideIn, onCompleteParams:[e.target]});
	Tweener.addTween(e.target, {rotation: Math.floor(Math.random()*(rotationRange*2))-rotationRange, time: speed*2, transition: easeType});
}

function photoSlideIn(p:MovieClip)
{
	p.parent.setChildIndex(p, 1);
	Tweener.addTween(p, {x: photoOriginX, time: speed, transition: easeType});

}

</code></pre>
<p>8. Nun zum letzten Schritt:</p>
<p>Die Fotos sollen unter die anderen Bilder geschoben werden und wieder in ihre ursprüngliche Form &#8220;rotiert&#8221; dazu verwendet ihr diesen code:</p>
<pre><code>for(var i=1; i&lt;=photoCount; i++)
{
	this["photo"+i].addEventListener(MouseEvent.MOUSE_DOWN, photoSlideOut);
	this["photo"+i].rotation =  Math.floor(Math.random()*(rotationRange*2))-rotationRange;
}

</code></pre>
<p>Mögliche Fehlerquellen:</p>
<p>In dem Code wird der Ausdruck &#8220;photo&#8221; verwendet. Wenn du deine Bilder nach der deutschen Variante &#8220;foto&#8221; bezeichnet hast, änder entweder den Code ab oder stelle den instanznamen auf &#8220;photo&#8221;(und dann die Zahl)</p>
<p>Solltest du einen Fehler beim imporiteren der Bilder haben, überprüfe, dass sich deine .fla bzw. .swf Datei auch in dem selben Ordner befindet wie die tweener Klasse!</p>
<p>Noch etwas: Der Code ist für 3 Fotos geschrieben! In meinem Beispiel (siehe Flash) benutze ich 5 Fotos, dafür müsst ihr der Variablen photoCount den jeweiligen Wert (in meinem Fall 5) zuweisen!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.online-im-park.de/2008/06/16/interaktive-fotoshow-flash/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>LoGD 0.9.7 PHP5 tauglich machen</title>
		<link>http://www.online-im-park.de/2008/03/09/logd-php5-tauglich-machen/</link>
		<comments>http://www.online-im-park.de/2008/03/09/logd-php5-tauglich-machen/#comments</comments>
		<pubDate>Sun, 09 Mar 2008 14:58:51 +0000</pubDate>
		<dc:creator>Chaim</dc:creator>
				<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://www.online-im-park.de/2008/03/09/logd-php5-tauglich-machen/</guid>
		<description><![CDATA[Das Onlinespiel Legend of the Green Dragon (kurz LotGD oder LoGD) ist ein auf PHP basierendes RPG (Role-Player-Game), dass nicht nur in Deutschland eine große Fangemeinde besitzt. Besonders beliebt ist immernoch die &#8220;Steinzeit Version&#8221; LoGD 0.9.7.
Das Spiel lässt sich nach dem Download ohne Probleme auf einem Webserver mit PHP4 installieren unter PHP5 kommt es allerdings [...]]]></description>
			<content:encoded><![CDATA[<p>Das Onlinespiel <strong>Legend of the Green Dragon</strong> (kurz <strong>LotGD</strong> oder <strong>LoGD</strong>) ist ein auf PHP basierendes RPG (Role-Player-Game), dass nicht nur in Deutschland eine große Fangemeinde besitzt. Besonders beliebt ist immernoch die &#8220;Steinzeit Version&#8221; <strong>LoGD 0.9.7</strong>.</p>
<p>Das Spiel lässt sich nach dem Download ohne Probleme auf einem Webserver mit PHP4 installieren unter PHP5 kommt es allerdings zu Problemen.  Deswegen hier ein kleines Tutorial um <strong>LoGD 0.9.7 PHP5</strong> tauglich zu machen.</p>
<p><span id="more-150"></span></p>
<p>Zunächst einmal müssen folgende Dateien rausgesucht werden: common.php, list.php, about.php, configuration.php, create.php, dag.php, dragon.php, gardens.php, gypsy.php, houses.php, inn.php, login.php, prefs.php, pvp.php, rebirth.php, referers.php, setnewday.php, shrine.php, superuser.php, user.php, viewpetition.php.</p>
<p>Bei all diesen Dateien sucht man nach:</p>
<blockquote><p>strtotime(date(&#8220;r&#8221;)</p></blockquote>
<p>und ersetzt es mit:</p>
<blockquote><p>strtotime(date(&#8220;c&#8221;)</p></blockquote>
<p>Und zum Schluss noch die Datei logde.ph:</p>
<blockquote><p>foreach($titles AS $this) {<br />
if (strtolower($this[0])==$cleartitle || strtolower($this[1])==$cleartitle) {<br />
$falsetitle = true;<br />
break;<br />
}<br />
}</p></blockquote>
<p>ersetzen mit:</p>
<blockquote><p>while (list($key,$val)=each($titles)){<br />
if (strtolower($key[0])==$cleartitle || strtolower($key[1])==$cleartitle) {<br />
$falsetitle = true;<br />
break;<br />
}<br />
}</p></blockquote>
<p>Fragen, Anregungen, Kritik: Kommentar!</p>
<p>Viel Erfolg!<br />
<!--wpcontaxe#Im Text--></p>
]]></content:encoded>
			<wfw:commentRss>http://www.online-im-park.de/2008/03/09/logd-php5-tauglich-machen/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Wie erstellt man einen WYSIWYG-Editor ganz einfach?</title>
		<link>http://www.online-im-park.de/2008/03/04/wie-erstellt-man-einen-wysiwyg-editor-ganz-einfach/</link>
		<comments>http://www.online-im-park.de/2008/03/04/wie-erstellt-man-einen-wysiwyg-editor-ganz-einfach/#comments</comments>
		<pubDate>Tue, 04 Mar 2008 10:34:13 +0000</pubDate>
		<dc:creator>Chaim</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://www.online-im-park.de/2008/03/04/wie-erstellt-man-einen-wysiwyg-editor-ganz-einfach/</guid>
		<description><![CDATA[Wie erstellt man einen WYSIWYG (What you see is what you get) Editor mit der Hilfe von TinyMCE?
Hier schonmal ein paar Links, die ihr später noch gebrauchen werdet:
TinyMCE Entwicklerseite: http://tinymce.moxiecode.com/
Infos von Wiki: http://de.wikipedia.org/wiki/TinyMCE
TinyMCE Wiki: http://wiki.moxiecode.com/index.php/TinyMCE:Index

Den WYSIWYG-Editor von TinyMCE auf der Entwicklerseite herunterladen.
Das Archiv(.zip) entpacken
Ihr habt nun ziemlich verschachtelt einige Ordner vor euch:

Ihr schnappt euch den [...]]]></description>
			<content:encoded><![CDATA[<p>Wie erstellt man einen WYSIWYG (What you see is what you get) Editor mit der Hilfe von TinyMCE?<span id="more-130"></span></p>
<p>Hier schonmal ein paar Links, die ihr später noch gebrauchen werdet:</p>
<p>TinyMCE Entwicklerseite: http://tinymce.moxiecode.com/</p>
<p>Infos von Wiki: http://de.wikipedia.org/wiki/TinyMCE</p>
<p>TinyMCE Wiki: http://wiki.moxiecode.com/index.php/TinyMCE:Index</p>
<ol>
<li>Den WYSIWYG-Editor von TinyMCE auf der Entwicklerseite herunterladen.</li>
<li>Das Archiv(.zip) entpacken</li>
<li>Ihr habt nun ziemlich verschachtelt einige Ordner vor euch:
<ol>
<li>Ihr schnappt euch den Ordner tiny_mce und verschiebt ihn in euer Verzeichnis, wo ihr damit arbeiten wollt. (Bei mir heißt der Ordner WYSIWYG)</li>
<li>Ihr macht dort eine neue Datei auf</li>
</ol>
</li>
</ol>
<p>In die neue Datei ladet ihr per JavaScript diese Datei: tiny_mce.js sie befindet sich in dem Ordner tiny_mce</p>
<blockquote><p>&lt;html&gt;<br />
&lt;head&gt;<br />
&lt;title&gt;Test&lt;/title&gt;<br />
&lt;script language=&#8221;javascript&#8221; type=&#8221;text/javascript&#8221; src=&#8221;tiny_mce/tiny_mce.js&#8221;&gt;&lt;/script&gt;<br />
&lt;script language=&#8221;javascript&#8221; type=&#8221;text/javascript&#8221;&gt;<br />
tinyMCE.init({<br />
mode : &#8220;textareas&#8221;<br />
});<br />
&lt;/script&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;form method=&#8221;post&#8221; action=&#8221;#&#8221;&gt;<br />
&lt;textarea name=&#8221;content&#8221; cols=&#8221;50&#8243; rows=&#8221;15&#8243;&gt;&lt;/textarea&gt;<br />
&lt;input type=&#8221;submit&#8221; value=&#8221;Save&#8221; /&gt;<br />
&lt;/form&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</p></blockquote>
<p>Dann beginnt ihr mit JavaScript. Ihr weißt allen Textareas den WYSIWYG-Editor zu.</p>
<p>Dadrunter macht ihr einfach ein Textarea und habt schon  euren ersten kleinen Standard WYSIWYG-Editor.</p>
<p><a href="http://www.online-im-park.de/wp-content/uploads/2008/03/1.jpg" title="{wysiwyg} Der Standard Editor" class="liimagelink"><img src="http://www.online-im-park.de/wp-content/uploads/2008/03/1.thumbnail.jpg" alt="{wysiwyg} Der Standard Editor" /></a></p>
<p>Mit dem kann man schon ein paar Standardfunktionen umsetzen wie z.B. fett, kursiv etc.</p>
<p>Aber das ganze lässt sich natürlich noch erweitern:</p>
<p>Also ergänzen wir noch ein paar Buttons:</p>
<blockquote><p>&lt;html&gt;<br />
&lt;head&gt;<br />
&lt;title&gt;Test&lt;/title&gt;<br />
&lt;script language=&#8221;javascript&#8221; type=&#8221;text/javascript&#8221; src=&#8221;tiny_mce/tiny_mce.js&#8221;&gt;&lt;/script&gt;<br />
&lt;script language=&#8221;javascript&#8221; type=&#8221;text/javascript&#8221;&gt;<br />
tinyMCE.init({<br />
mode:&#8221;textareas&#8221;,<br />
theme:&#8221;advanced&#8221;,<br />
verify_html:false,<br />
theme_advanced_buttons1: &#8220;fontselect,fontsizeselect,bold,italic,underline,separator,justifyleft,justifycenter,justifyright,justifyfull,bullist,numlist&#8221;,<br />
theme_advanced_buttons2: &#8220;image,forecolor,backcolor,indent,outdent,undo,redo,link,unlink&#8221;,<br />
theme_advanced_buttons3:&#8221;",<br />
theme_advanced_toolbar_location:&#8221;top&#8221;<br />
});<br />
&lt;/script&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;form method=&#8221;post&#8221; action=&#8221;#&#8221;&gt;<br />
&lt;textarea name=&#8221;content&#8221; cols=&#8221;50&#8243; rows=&#8221;15&#8243;&gt;&lt;/textarea&gt;<br />
&lt;input type=&#8221;submit&#8221; value=&#8221;Save&#8221; /&gt;<br />
&lt;/form&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</p></blockquote>
<p>Hier habe ich, wie man sieht noch ein paar Buttons hinzugefügt. Eine ausführliche Übersicht über alle Buttons die ihr hinzufügen könnt, findet ihr in der TinyMCE Wiki.</p>
<p>Und so sieht das ganze dann aus:</p>
<p><a href="http://www.online-im-park.de/wp-content/uploads/2008/03/2.jpg" title="{wysiwyg} Der erweiterter Editor" class="liimagelink"><img src="http://www.online-im-park.de/wp-content/uploads/2008/03/2.thumbnail.jpg" alt="{wysiwyg} Der erweiterter Editor" /></a></p>
<p>Nun möchte ich gern noch eine Tabelle hinzufügen. Und zwar in die dritte Buttonreihe, die jetzt noch leer ist:</p>
<blockquote><p>&lt;html&gt;<br />
&lt;head&gt;<br />
&lt;title&gt;Test&lt;/title&gt;<br />
&lt;script language=&#8221;javascript&#8221; type=&#8221;text/javascript&#8221; src=&#8221;tiny_mce/tiny_mce.js&#8221;&gt;&lt;/script&gt;<br />
&lt;script language=&#8221;javascript&#8221; type=&#8221;text/javascript&#8221;&gt;</p>
<p>tinyMCE.init({<br />
theme : &#8220;advanced&#8221;,<br />
mode : &#8220;textareas&#8221;,<br />
plugins : &#8220;table&#8221;,<br />
theme_advanced_toolbar_location:&#8221;top&#8221;,<br />
theme_advanced_buttons2_add : &#8220;code&#8221;,<br />
theme_advanced_buttons3_add : &#8220;tablecontrols&#8221;,<br />
table_styles : &#8220;Header 1=header1;Header 2=header2;Header 3=header3&#8243;,<br />
table_cell_styles : &#8220;Header 1=header1;Header 2=header2;Header 3=header3;Table Cell=tableCel1&#8243;,<br />
table_row_styles : &#8220;Header 1=header1;Header 2=header2;Header 3=header3;Table Row=tableRow1&#8243;,<br />
table_cell_limit : 100,<br />
table_row_limit : 5,<br />
table_col_limit : 5<br />
});<br />
&lt;/script&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;form method=&#8221;post&#8221; action=&#8221;#&#8221;&gt;<br />
&lt;textarea name=&#8221;content&#8221; cols=&#8221;50&#8243; rows=&#8221;15&#8243;&gt;&lt;/textarea&gt;<br />
&lt;input type=&#8221;submit&#8221; value=&#8221;Save&#8221; /&gt;<br />
&lt;/form&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</p></blockquote>
<p>Im Theme advanced sind in der Regel schon alle wichtigen Buttons enthalten, ich habe nur noch den Button Code in der Reihe 2 hinzugefügt und das Plugin-Tabelle in der dritten Buttonreihe.</p>
<p><a href="http://www.online-im-park.de/wp-content/uploads/2008/03/3.jpg" title="{wysiwyg} Der erweiterter Editor mit Tabelle" class="liimagelink"><img src="http://www.online-im-park.de/wp-content/uploads/2008/03/3.thumbnail.jpg" alt="{wysiwyg} Der erweiterter Editor mit Tabelle" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.online-im-park.de/2008/03/04/wie-erstellt-man-einen-wysiwyg-editor-ganz-einfach/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>.htccess zum Frühstück</title>
		<link>http://www.online-im-park.de/2008/03/04/htccess-zum-fruhstuck/</link>
		<comments>http://www.online-im-park.de/2008/03/04/htccess-zum-fruhstuck/#comments</comments>
		<pubDate>Tue, 04 Mar 2008 08:58:20 +0000</pubDate>
		<dc:creator>Chaim</dc:creator>
				<category><![CDATA[SEO]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[.htaccess]]></category>
		<category><![CDATA[Regex]]></category>

		<guid isPermaLink="false">http://www.online-im-park.de/2008/03/04/htccess-zum-fruhstuck/</guid>
		<description><![CDATA[Die Woche fängt gut an, wenn man davon absieht, dass ich tot müde bin und es mir schwer fällt die Augen aufzulassen.

Gerade habe ich bei Ne8 Anpassungen an der .htaccess vorgenommen und  die Links im phpBB angepasst und da ich so sozial bin, gibts hier auch gleich ein kleines Tutorial zur .htaccess:
Also die .htaccess [...]]]></description>
			<content:encoded><![CDATA[<p>Die Woche fängt gut an, wenn man davon absieht, dass ich tot müde bin und es mir schwer fällt die Augen aufzulassen.</p>
<p><span id="more-137"></span></p>
<p>Gerade habe ich bei Ne8 Anpassungen an der <strong>.htaccess</strong> vorgenommen und  die Links im phpBB angepasst und da ich so sozial bin, gibts hier auch gleich ein kleines <strong>Tutorial zur .htaccess</strong>:</p>
<p>Also die .htaccess ist eine Datei, die auf dem Apache Server vorhanden ist. Wenn bei euch mod_rewrite auf on steht (dazu einfach mal die php.ini überprüfen), könnt ihr mit der .htaccess URLs umschreiben. Wie viele sicherlich wissen, möglich Suchmaschinen keine <strong>dynamischen URLs</strong>. Das sind URLs, wo man mit einem ? mehere Paramter übergibt. Zum Beispiel: index.php?sel=kategorie1&amp;action=seite5&amp;post=agEb4vC usw&#8230;</p>
<div style="float: left; margin: 5px;"><!--wpcontaxe#Im Text Halfbanner--></div>
<p>Deswegen kann man diese URLs „umschreiben“ bzw. man teilt seinem Apache Server sozusagen mit, dass diese URLs einen Alias bekommen. Wenn ich also beispielsweise eine index.php Datei habe, die auf den Wert für „sel“ wartet, müsste ich normalerweise den Wert per URL übergeben also z.B.: index.php?sel=1. Ich kann aber meinem Apache Server mitteilen, dass er immer, wenn jemand z.B. index/1.html eingibt, diese 1 an index.php?sel= weiterleitet.</p>
<div style="float: left; margin: 5px;">
<small>Anzeige:</small><br />
<a href="http://james.adbutler.de/click.php?pid=10301&#038;tid=157295&#038;bid=56030" target="_blank" class="liimagelink">Gratis-Report herunterladen: `Die 6 Erfolgsfaktoren, mit denen Sie im Internet Geld verdienen`<img src="http://james.adbutler.de/view.php?pid=10301&#038;tid=157295&#038;bid=56030&#038;b=0&#038;h=0&#038;inv=zp" width="0" height="0" border="0"></a>
</div>
<p>Wie mach ich das nun? Wie schon gesagt, mit der .htaccess zunächst einmal öffnet man die Datei in einem reinen Texteditor, möglicherweise ist die Datei garnicht sichtbar, da sie vom System ausgeblendet wird. Dann muss man sie evtl. umbennenen in 1.htaccess, damit sie angezeigt wird und man sie erstmal bearbeiten kann (auf dem Webserver kann man sie dann immernoch in<strong> .htaccess</strong> umbenennen).</p>
<p>Zunächst einmal sagen wir der Datei:</p>
<blockquote><p><strong>RewriteEngine on</strong></p></blockquote>
<p>Im Klartext: URL-Umschreibung ist aktiviert</p>
<p>Und dann erstellen wir eine sogenannte <strong>Rewrite Rule</strong>.</p>
<p>Wenn wir z.B. möchten, dass immer, wenn jemand index.html eingibt, die index.php Datei geladen wird, sieht das so aus:</p>
<blockquote><p> RewriteRule index.html$ index.php</p></blockquote>
<p>Die Syntax ist ganz einfach:</p>
<p>Eingeleitet wird die Regel mit RewriteRule, dann folgt, das, was eingegeben wird und wird mit einem $-Zeichen beendet dann ein Leerzeichen und die Datei, auf die in wirklichkeit zugegriffen werden soll.</p>
<p>Das ganze könnte auch so gehen:</p>
<blockquote><p> RewriteRule bla.html$ bla.php</p></blockquote>
<p>Dann müsste man bla.html eingeben und es würde auf bla.php zugegriffen werden.</p>
<p>Da man aber &#8211; zum Beispiel bei Foren &#8211; unmöglich für jeden erdenklichen Eingabefall eine Regel schreiben kann, arbeitet man mit Variablen. z.B. so:</p>
<blockquote><p> RewriteRule ([0-9]+).html$ index.php?zahl=$1</p></blockquote>
<p>Ok, das sieht schon
<div style="float: right; margin: 5px;"><script type="text/javascript"><!--
google_ad_client = "pub-4406520457530417";
/* Im Blogbeitrag... */
google_ad_slot = "5335366842";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script><br />
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div>
<p>etwas komplizierter aus. Stellen wir uns vor, die index.php reagiert auf die Eingabe von Ziffern zwischen 0-9 (die mehrfach wiederholt werden können) man bekommt also eine Ausgabe, wenn man index.php?zahl=15 eingibt oder wenn man index.php?zahl=8925 eingibt. Nun wird dem Server mitgeteilt, dass immer wenn jemand x.html eingibt, er das an index.php?zahl=x weiterleiten soll.</p>
<p>Wenn ich also die Seite 459.html aufrufe, wird mir die Seite index.php?zahl=459 geliefert wärend in der Adresszeile noch 459.html steht.</p>
<p>( und ) geben an, dass hier eine Art Variable steht. Innerhalb der [ ] stehen die Möglichkeiten von „Typen“ denen die Variable angehört. In diesem Fall, muss die Variable also eine Ziffer zwischen  0-9 sein, das +hinter dem ] gibt an, dass es unendlich viele Ziffern sein könnten. Wenn ich also das + weg lasse, könnte ich immernoch 9.html aufrufen und würde index.php?zahl=9 geliefert bekommen, aber nicht mehr 12.html, da es sich hier um 2 Ziffern handelt.</p>
<p>Der Wert, der für diese Variable eingegeben wird, wird in $1 gespeichert und kann so an die „richtige“ URL weitergegeben werden.  Wenn man mehere Parameter über Variablen übergibt, verwendet man auch $ und zwar $1 für den ersten Parameter, der übergeben wird $2 für den zweiten usw. Also z.B.:</p>
<blockquote><p>RewriteRule ^blog/([a-z0-9-]+)/([a-z0-9-]+).html$ blog.php?kategorie=$1&amp;eintrag=$2</p></blockquote>
<p>Ich könnte also Bsp. http://www.domain.de/blog/allgemein/bla1.html eingeben und es würde auf http://www.domain.de/blog.php?kategorie=allgemein&amp;eintrag=bla1 weitergeleitet werden.</p>
<p><strong>404-Pages selbst gestalten</strong></p>
<p>Mit Hilfe der .htaccess kann man aber auch Errorpages z.B. für 404-Errors (Not found) selbst gestalten. Dazu designed man eine Seite z.B. eine Suchbox oder ähnliches und speichert sie auf dem Webserver ab. Dann fügt man in die .htaccess folgenden Code ein:</p>
<blockquote><p>ErrorDocument 404 /adressederdatei.php</p></blockquote>
<p><strong>Redirect</strong></p>
<p>Außerdem lassen sich mit der .htaccess Weiterleitungen erstellen. Einfach mit</p>
<blockquote><p>Redirect /aufgerufenedatei.html weiterleitung.html</p></blockquote>
<p>Wenn man nun http://www.domain.de/aufgerufenedatei.html aufruft, wird man auf die Datei weiterleitung.html weitergeleitet.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.online-im-park.de/2008/03/04/htccess-zum-fruhstuck/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>PHP-Workshop</title>
		<link>http://www.online-im-park.de/2008/03/01/php-workshop/</link>
		<comments>http://www.online-im-park.de/2008/03/01/php-workshop/#comments</comments>
		<pubDate>Sat, 01 Mar 2008 14:18:19 +0000</pubDate>
		<dc:creator>Chaim</dc:creator>
				<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://www.online-im-park.de/2008/03/01/php-workshop/</guid>
		<description><![CDATA[Im Gespräch mit ein paar Bloggern habe ich erfahren, dass viele außer HTML und vielleicht noch CSS garnicht programmieren können aber gerne PHP oder ähnliches lernen würden. Da PHP meine absolute Lieblingssprache ist und da ich vor ein paar Monaten einen Praktikanten hatte, dem ich sie beigebracht habe (und die Aufgaben noch habe), wollte ich [...]]]></description>
			<content:encoded><![CDATA[<p>Im Gespräch mit ein paar Bloggern habe ich erfahren, dass viele außer HTML und vielleicht noch CSS garnicht programmieren können aber gerne PHP oder ähnliches lernen würden. Da PHP meine absolute Lieblingssprache ist und da ich vor ein paar Monaten einen Praktikanten hatte, dem ich sie beigebracht habe (und die Aufgaben noch habe), wollte ich hier mal so sozial sein und ein paar Sachen veröffentlichen. Ihr findet alle Workshop-Teile in der Kategorie PHP-Workshop.</p>
<p><span id="more-134"></span></p>
<p>Den „Was ist PHP?“-Teil möcht ich einfach mal überspringen, da ich denke, dass jedem bekannt ist, dass PHP eine Serverseitige Sprache ist. Und auf die Voraussetzungen möchte ich an dieser auch nicht großartig eingehen. Es sei nur gesagt, dass ihr für PHP einen Webserver braucht, der PHP unterstütz =&gt; euer Webspace Packet sollte PHP enthalten. Entweder Version 4 oder PHP 5 ich denke mit beidem lässt sich gut arbeiten, derzeit arbeite ich aber überwiegend mit PHP 5. Wenn ihr zusätzlich noch eine mysql-Datenbank habt, ist das perfekt.</p>
<p>So dann starten wir einfach mal.</p>
<p>Ein PHP-Dokument beginnt ihr einfach mit &lt;?php und beendet es mit ?&gt;, für faule: es reicht auch aus &lt;? anstatt &lt;?php zu schreiben. Zumindest habe ich noch nie Unterschiede zwischen &lt;? und &lt;?php gemerkt. Wenn jemand da schon Unterschiede gemerkt hat -&gt; Kommentarfunktion! Ein PHP-Dokument hat immer die Endung .php und nicht.html oder ähnliches! Auch wenn ihr in einem Dokument sowohl HTML als auch PHP habt, ist es .php.</p>
<p>Wichtig ist, dass ihr während des PHP-Codes<strong> nicht einfach</strong> HTML schreiben könnt.  Also</p>
<blockquote><p>&lt;?</p>
<p>if(1 &gt; 2) {</p>
<p>&lt;div id=&#8221;bla&#8221;&gt;bla bla bla&lt;/div&gt;</p>
<p>}</p>
<p>?&gt;</p></blockquote>
<p>Führt zu einem Error. Ihr habt 2 Möglichkeiten. Entweder ihr unterbrecht den PHP-Code um in HTML zu schreiben. z.B.</p>
<blockquote><p>&lt;body&gt;</p>
<p>&lt;?</p>
<p>if($a != $b) {</p>
<p>?&gt;</p>
<p>A ist nicht das selbe wie B</p>
<p>&lt;?</p>
<p>}</p>
<p>?&gt;</p>
<p>&lt;/body&gt;</p></blockquote>
<p>oder ihr verwendet <strong>echo</strong>! Mit <strong>echo</strong> könnt ihr über PHP eine Ausgabe generieren.</p>
<p>also zum Beispiel:</p>
<blockquote><p>&lt;?</p>
<p>echo &#8220;hallo&#8221;;</p>
<p>?&gt;</p></blockquote>
<p>Dann gibt er beim Aufrufen der PHP-Datei hallo aus.</p>
<p>Soviel könnte man natürlich auch mit HTML machen <img src='http://www.online-im-park.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>Wichtig: Wenn ihr innerhalb eurer Ausgabe mit echo &#8221; verwendet, führt das zu einem Parse-Error.</strong> Warum? Weil PHP dann denkt, die Ausgabe sei zu Ende, weil echo &#8221; <font color="#ff6600">&#8220;</font> ; Ja mit einem &#8221; endet und sich PHP dann fragt &#8220;und wo ist jetzt das ; ? Und warum kommt noch soviel Text??? &#8221; Also was machen wir? Wir &#8220;maskieren&#8221; das &#8221; mit einem \ .</p>
<p>Also z.B.</p>
<p>echo &#8220;&lt;img src=\&#8221;bild.jpg\&#8221;&gt;&#8221;;</p>
<p>Deswegen kommen wir hier zum ersten unschlagbaren Grund PHP zu nutzen: <strong>Variablen</strong>!</p>
<p>Folgendes Problem:</p>
<p>Stellt euch vor auf eurer Webseite habt ihr einen Login. Der Besucher soll sich mit             dem Namen „Gisela“ und dem Passwort „Love&amp;Peace“ einloggen. <img src='http://www.online-im-park.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Nun müsst ihr natürlich wissen, was der User in das Eingabefeld Name und in das             Eingabefeld eingetragen hat, damit ihr dementsprechend den Zugang gewähren könnt     oder auch nicht.</p>
<p>Ihr wollt in eurem Skript überprüfen ob der User Gisela eingegeben hat und nicht Ursula oder Herbert. Da ihr aber vorher nicht wisst, was der User eingibt, arbeitet ihr mit einer Variable, die ihr z.B. Name nennt. Euer Skript soll prüfen ob Name = Gisela ist.</p>
<p>Variablen werden in PHP mit einem $ begonnen. Sie sind praktisch, wenn ich mit einem Wert arbeiten will, den ich noch nicht kenne (siehe oben) oder wenn ich mich nicht ständig wiederholen will. Angenommen, ich müsste in einem Template oder ähnlichem immer wieder den selben Pfad eingeben. Zum Beispiel http://apache.local/~chaimdonnewald/  und das 20 Mal in dieser Datei. Natürlich könnte ich mit Copy&amp;Paste arbeiten, aber ich kann auch mit Variablen arbeiten z.B. so:</p>
<p>&lt;?</p>
<p>$pfad = &#8220;http://apache.local/~chaimdonnewald/&#8221;;</p>
<p>?&gt;</p>
<p>&lt;img src=&#8221;&lt;? echo $pfad; ?&gt;bilder/bild.jpg&#8221;&gt;</p>
<p>Dies hat vorallem dann einen Vorteil, wenn ich mein Skript später an jemand anderen weitergebe und er das auf seinem Server testen will und der Pfad auf einmal nicht mehr http://apache.local/~chaimdonnewald/ heißt sondern vielleicht http://apache.local/~julia/ dann muss man einfach nur die Variable ändern und nicht überall die Pfade.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.online-im-park.de/2008/03/01/php-workshop/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wie macht man Videos mit Jing?</title>
		<link>http://www.online-im-park.de/2008/02/29/wie-macht-man-videos-mit-jing/</link>
		<comments>http://www.online-im-park.de/2008/02/29/wie-macht-man-videos-mit-jing/#comments</comments>
		<pubDate>Fri, 29 Feb 2008 10:53:11 +0000</pubDate>
		<dc:creator>Chaim</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Videos]]></category>

		<guid isPermaLink="false">http://www.online-im-park.de/2008/02/29/wie-macht-man-videos-mit-jing/</guid>
		<description><![CDATA[Jing ist ein starktes Tool um Screencast Videos zu erstellen, also seinen Desktop „abzufilmen“. Dies eignet sich besonders gut, wenn man Tutorials vorbereitet oder jemandem Funktionen (z.B. in Ajax) zeigen möchte, die man noch nicht in Internet geladen hat.
Obwohl Jing &#8211; meiner Meinung nach &#8211; sehr bedienerfreundlich ist, wissen viele, die es gerade installiert haben [...]]]></description>
			<content:encoded><![CDATA[<p>Jing ist ein starktes Tool um Screencast Videos zu erstellen, also seinen Desktop „abzufilmen“. Dies eignet sich besonders gut, wenn man Tutorials vorbereitet oder jemandem Funktionen (z.B. in Ajax) zeigen möchte, die man noch nicht in Internet geladen hat.</p>
<p><span id="more-128"></span>Obwohl Jing &#8211; meiner Meinung nach &#8211; sehr bedienerfreundlich ist, wissen viele, die es gerade installiert haben oft garnicht, wie sie denn jetzt Videos damit machen bzw. wenn sie ein Video gemacht haben, wie sie es in einen Ordner exportieren sollen anstatt es hochzuladen. Deswegen hier ein kleines Tutorial.</p>
<p><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/9a6L8cVIVKY"></param> <embed src="http://www.youtube.com/v/9a6L8cVIVKY" type="application/x-shockwave-flash" width="425" height="350"></embed></object><br />
Zunächst einmal müsst ihr euren Bereich wählen, das konnte ich in diesem Video jetzt leider nicht zeigen <img src='http://www.online-im-park.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . Ihr geht mit dem Mauszeiger auf das Sonnensymbol das sich normalerweise oben rechts in der Ecke befindet (bei Aufnahme natürlich nicht) und klickt dort auf das erste der drei Symbole um mit einem „Fadenkreuz“ den Bereich auszuwählen, den ihr abfilmen wollt. Dann erscheint unten links diese Palett. Dort seht ihr, wielange ihr schon aufnehmt und könnt verschiedene Optionen anklicken. Um das Video anzuhalten (also die Aufnahme zu beenden) Stop oder für die Pause: Pause. Und ihr könntet auch das Mikro ausstellen <strike>(was ich vielleicht mal hätte machen sollen <img src='http://www.online-im-park.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  )</strike> und neustarten oder ganz verlassen. Wenn ihr das gemacht habt, und mit eurem Video fertig seid, klickt ihr auf „Stop“. Und danach könnt ihr das Video exportieren.</p>
<p style="margin: 5px; float: left"> <a href="http://www.online-im-park.de/wp-content/uploads/2008/02/jing1.jpg" title="{jing} Exportieren" class="liimagelink"><img src="http://www.online-im-park.de/wp-content/uploads/2008/02/jing1.thumbnail.jpg" alt="{jing} Exportieren" /></a></p>
<p>Den Bereich zum exportieren konnte ich leider nicht aufnehmen (da ich die Aufnahme vorher stoppen musste) deswegen gibts den hier als Screenshots. Ihr klickt dann unten auf Share und es wird in den File exportiert, den ihr bei den Einstellungen angegeben habt.</p>
<p>Dies könnt ihr übrigens auch ganz leicht ändern, indem ihr bei eurer Sonne auf das dritte Symbol klickt (die beiden Zahnräder) und dort dann wieder die Zahnräder anklickt (Preferences) und dann auf File (oben). Dann öffnet sich ein neuer Dialog, einfach mit Browse den File auswählen und bestätigen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.online-im-park.de/2008/02/29/wie-macht-man-videos-mit-jing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ajax-Tutorial: Drag &amp; Drop mit Prototype/Script.aculo.us ganz einfach</title>
		<link>http://www.online-im-park.de/2008/01/25/ajax-tutorial-drag-drop-mit-prototypescriptaculous-ganz-einfach/</link>
		<comments>http://www.online-im-park.de/2008/01/25/ajax-tutorial-drag-drop-mit-prototypescriptaculous-ganz-einfach/#comments</comments>
		<pubDate>Fri, 25 Jan 2008 21:43:39 +0000</pubDate>
		<dc:creator>Chaim</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Codeschnipsel]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[prototype]]></category>
		<category><![CDATA[script.aculo.us]]></category>

		<guid isPermaLink="false">http://www.online-im-park.de/2008/01/25/ajax-tutorial-drag-drop-mit-prototypescriptaculous-ganz-einfach/</guid>
		<description><![CDATA[Achtung: Dies ist ein ausführliches Tutorial. Wenn du auf der Suche nach einer Übersicht mit Beispielen bist empfehle ich dir: Drag &#038; Drop mit Prototype und Script.aculo.us
Heute habe ich verzweifelt nach einem ganz einfachen Weg gesucht um ein Drag &#38; Drop zu programmieren, für ein Widgetscript, das ihr in einem meiner Projekte in ein paar [...]]]></description>
			<content:encoded><![CDATA[<p><b>Achtung:</b> Dies ist ein ausführliches Tutorial. Wenn du auf der Suche nach einer Übersicht mit Beispielen bist empfehle ich dir: <a href="http://www.online-im-park.de/drag-drop-prototype-scriptaculous/" class="liinternal">Drag &#038; Drop mit Prototype und Script.aculo.us</a></p>
<p>Heute habe ich verzweifelt nach einem ganz einfachen Weg gesucht um ein Drag &amp; Drop zu programmieren, für ein Widgetscript, das ihr in einem meiner Projekte in ein paar Wochen finden werdet.</p>
<p>Nach dem nich erst mal nur nach <em>„Prototype Drag &amp; Drop“</em> gesucht habe und trotz gründlicher Recherche nichts gefunden habe was mir 100% weitergeholfen hat, bin ich durch einen kleinen Denkanstoss (Prototype ist soetwas wie eine ideale Lib für LibEntwickler &#8211; Drag &amp; Drops lassen sich deswegen nur schwierig allein mit Prototype realisieren), habe ich mich entschieden mein Drag &amp; Drop mit <strong>Script.aculo.us<br />
</strong>zu realisieren.<br />
<script type="text/javascript"><!--
google_ad_client = "pub-6185165517542860";
/* 468x60, Erstellt 18.02.10 */
google_ad_slot = "4714717654";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script><br />
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script><br />
<span id="more-52"></span></p>
<p>Leider fand ich die offizielle Webseite von Script.aculo.us immer schon etwas „schwierig“ (die von Prototype im übrigen auch) und suchte deswegen ziemlich lang. Auch über Google habe ich so schnell keine einfache (!) Lösung gefunden.<br />
Wichtig war mir, dass es <strong>einfach</strong> um eine HTML + Ajax Lösung ging, den PHP-Code dazu wollte ich später selbst basteln. Leider hab ich überwiegend Tutorials gefunden, wo das Drag&amp;Drop Script in eine größere Lösung eingebaut war. Beispielsweise Einkaufswagen, für die man zur Realisierung neben Ajax zu Ruby on Rails gegriffen hatte oder Objekt-Orientierte-PHP Lösungen für einen Onlineshop mit Drag&amp;Drop.</p>
<p>Nach ein paar Klicks bin ich  auf der Script.aculo.us Page fündig geworden und möchte euch meine Erkenntnis in einem kurzen Tutorial vorstellen.</p>
<p>Zum Tutorial ist noch zu sagen, dass derjenige, der schon Grundwissen in Ajax hat die <span style="color: #808080;">grauen Texte</span> überspringen darf, diese sind Basiswissen.</p>
<ol>
<li>Man unterscheidet <strong>draggables</strong> und <strong>droppables</strong>
<ol>
<li><a href="http://wiki.script.aculo.us/scriptaculous/show/Draggables" target="_blank" class="liexternal"><strong>Draggables</strong></a> sind die „Bausteine, die sich verschieben lassen.</li>
<li><a href="http://wiki.script.aculo.us/scriptaculous/show/Droppables.add" class="liexternal"><strong>Droppables</strong></a> sind soetwas wie Container, auf die man etwas schieben kann.</li>
</ol>
</li>
<li>Sowohl die Draggables als auch die Droppables haben verschiedene Optionen, die ihr auf der Script.aculo.us Website nachlesen könnt (die jeweiligen Begriffe sind verlinkt)</li>
</ol>
<p><span style="color: #ff0000;"><strong>Merke:</strong></span> <strong>Draggables lassen sich auch von Droppables unabhängig bewegen, aber Droppables sind ohne Draggables etwas „unsinnvoll“ <img src='http://www.online-im-park.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> !</strong></p>
<p><strong>Wie bastel ich mir jetzt ein Draggable?</strong></p>
<blockquote>
<pre><code>new Draggable('<span style="color: #ff6600;">id_of_element</span>',[<span style="color: #3366ff;">options</span>]);</code></pre>
</blockquote>
<p>Das allein bringt uns natürlich garnichts und da viele meiner Leser bestimmt die Lösung schon schön vorgekaut haben möchtet, gibt es diese jetzt auch.</p>
<blockquote><p><em>&lt;div id=&#8221;<span style="color: #ff6600;">bewegmich</span>&#8220;&gt;Beweg mich <img src='http://www.online-im-park.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> &lt;/div&gt;</em></p>
<p><em>&lt;script type=&#8221;text/javascript&#8221;&gt;</em></p>
<p><em>new Draggable(&#8216;<span style="color: #ff6600;">bewegmich&#8217;</span>,{<span style="color: #3366ff;">revert: true</span>}); </em></p>
<p><em>&lt;/script&gt; </em></p></blockquote>
<p><span style="color: #808080;">Dazu muss man noch sagen, dass man vorher die  Prototype-Bibliothek sowie die Script.aculo.us Bibliothek runterladen und einbinden muss. Für alle, die davon noch garkeine Ahnung haben:</span></p>
<p><span style="color: #808080;"> <strong>Prototype:</strong> http://www.prototypejs.org/</span></p>
<p><span style="color: #808080;"> <strong>Script.aculo.us:</strong> http://script.aculo.us/</span></p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6185165517542860";
/* 468x60, Erstellt 18.02.10 */
google_ad_slot = "4714717654";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script><br />
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script><br />
<span style="color: #808080;">Ganz einfach einzubinden:<br />
</span></p>
<blockquote><p><span style="color: #808080;"><em>&lt;script type=&#8221;text/javascript&#8221; src=&#8221;inc/prototype.js&#8221;&gt;&lt;/script&gt;</em><br />
<em>&lt;script type=&#8221;text/javascript&#8221; src=&#8221;inc/scriptaculous.js&#8221;&gt;&lt;/script&gt;</em> </span></p></blockquote>
<p><span style="color: #808080;">Inc, müsste man in dem Fall natürlich durch das Verzeichnis ersetzen, in dem man die Bibliotheken abgelegt hat. Bei mir ist das standardmässig „inc“ (inc = include).</span></p>
<p>Ich erzeuge also zuerst einen Div-Container, den kann ich dann mit CSS später noch formatieren indem ich einfach mit meinem CSS-Code auf die ID zurückgreife <span style="color: #808080;">(IDs die vom Javascript verwendet werden sind die selben wie die CSS IDs, deswegen ist es auch so wichtig, dass man IDs nur einmal benutzt. Will man mehrere Objekten die selbe Formatierung verpassen nimmt man Klassen.)</span></p>
<p>Dann beginne ich mit meinem Ajax Code. Ich erzeuge ein neues Draggable, dieses soll der Div-Container mit der ID „bewegmich“ sein. Das allein reicht, um mein Draggable benutzen zu können. Aber ich gebe zusätzlich noch eine Option an.</p>
<p>Revert: true bedeutet, dass das Draggable beim loslassen an seine ursprüngliche Stelle zurück wandert. Standardmässig steht diese Option auf False. Natürlich kann ich noch andere Optionen angeben. <span style="color: #808080;">Optionen werden jeweils mit Kommas voneinander getrennt innerhalb der geschweiften Klammern, schliesst man diese  „Optionsbefehle“nicht mit einem Semikolon ab. Also nicht {option1 : true; option2 : false; } und auch nicht {option1 : true, option2 : false; } sondern {option1: true, option2. false }! Als Zuweisungsoperator dient hier NICHT das Gleichzeichen, sondern der Doppelpunkt. </span></p>
<p>Eine Auflistung aller Optionen findet ihr <a href="http://www.online-im-park.de/drag-drop-prototype-scriptaculous/" class="liinternal">hier</a>.</p>
<p><strong>Nun zu Droppables:</strong></p>
<p>Damit ich meine Draggables auch irgendwo drauf ziehen kann um etwas zu „erreichen“ brauche ich nun ein Droppable.</p>
<blockquote><p><code>Droppables.add('<span style="color: #ff9900;">id_of_element</span>',[<span style="color: #3366ff;">options</span>]);</code></p></blockquote>
<p>Also zum Beispiel:</p>
<blockquote><p>&lt;div id=&#8221;<span style="color: #ff9900;">dropp</span>&#8220;&gt;&lt;/div&gt;<br />
Droppables.add(&#8216;<span style="color: #ff9900;">dropp</span>&#8216;,{<span style="color: #3366ff;">onDrop: function(element) { Element.hide($(element)); new Ajax.Updater(&#8220;ausfuehren&#8221;,&#8221;ajax/tuetwas.php?drag=&#8221;+element.id+&#8221;&amp;platz=1&#8243;,{method: &#8216;get&#8217;, evalScripts: true}); }, hoverclass: &#8216;hclass&#8217; </span>});</p></blockquote>
<p>Das ist hoffentlich jetzt nicht etwas viel auf einmal. Ich versuche es mal zu strukturieren:</p>
<ol>
<li>Ich habe einen Div-Container, hier soll mein Draggable draufgezogen werden. Dieser Container hat die ID &#8220;dropp&#8221;. <span style="color: #808080;">Ich kann ihn per CSS formatieren (Größe angeben, Position,  Rahmen, Hintergrundfarbe usw&#8230;)</span></li>
<li>Ich gebe mehere Funktion und trenne sie durch Kommas.
<ol>
<li>onDrop: Wenn jemand ein Draggable drauf doppt (fallen lässt/darauf zieht und loslässt) wird die folgende Funktion aufgerufen:  <span style="color: #3366ff;">function(element) { Element.hide($(element)); new Ajax.Updater(&#8220;ausfuehren&#8221;,&#8221;ajax/tuetwas.php?drag=&#8221;+element.id,{method: &#8216;get&#8217;, evalScripts: true}); }<br />
</span></p>
<ol>
<li><span style="color: #3366ff;"><span style="color: #000000;">Das Element „element“ -&gt; also das Draggable, das auf das Droppable gezogen wurde, wird unsichtbar gemacht. Es verschwindet also. (Das habe ich gemacht, weil in meiner Applikation die Draggables nur einmal auf ein Droppable gezogen werden können.)</span></span></li>
<li><span style="color: #3366ff;"><span style="color: #000000;">Es wird ein Ajax.Updater eingeleitet. Er läd in der &lt;div&gt;-„ausfuehren“ (nicht im Codeausschnitt enthalten) die Datei tuetwas.php aus dem Ajax-Ordner. <span style="color: #808080;">Er übergibt an sie den Parameter Drag mit dem Wert element.id. Element.id ist die ID des elements (element ist eine Variable mit dem Punkt kann ich auf einen bestimmten „Wert“ einer Variable zugreifen)</span>. Dann benutzt der Ajax.Updater noch zwei Optionen. Einmal die Methode get um die Daten zu laden und einmal ist evalScripts auf true gesetzt, mit dieser Option kann ich auch in der geladenen Datei Prototype Code verwenden.</span></span></li>
</ol>
</li>
</ol>
</li>
<li><span style="color: #3366ff;"><span style="color: #000000;">hoverclass setze ich auf den Wert hclass. hclass ist eine Klasse, die ich im CSS-Code verwende sie hat die Eigenschaften, die das Droppable annehmen soll, wenn ein Draggable sozusagen „hover“ ist. <span style="color: #808080;">Beispiel: Normalerweise hat mein Droppable einen weissen Hintergrund und einen schwarzen 1px dicken Rahmen. Nun möchte ich, dass mein Droppable die Hintergrundfarbe orange annimmt, wenn jemand ein Draggable drauf zieht (aber noch nicht los lässt). Dann speicher ich diesen Wert in einer CSS Klasse und nenne sie in dem Fall hclass und setze dann die hoverclass auf diese CSS-Klasse. </span><br />
</span></span></li>
</ol>
<p align="left">Ok, ich hoffe es ist klar geworden wie das mit Drag&amp;Drop funktioniert. Mit meiner PHP-Datei kann ich dann zB diese Veränderung in meiner Datenbank speichern oder sie per PHP auswerten. <span style="color: #808080;">Auf die ID des Draggables kann im im PHP Code mit $_</span><span style="color: #339966;">GET</span>['<span style="color: #993366;">drag</span>'] <span style="color: #808080;">zugreifen, weil wir ja über die Methode</span> <span style="color: #339966;">get <span style="color: #000000;"><span style="color: #808080;">den Parameter</span> <span style="color: #993366;">drag</span> <span style="color: #808080;">übergeben haben.</span> </span></span></p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6185165517542860";
/* 468x60, Erstellt 18.02.10 */
google_ad_slot = "4714717654";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script><br />
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<p style="font-size:18px;">Beispiele hier: <a href="http://www.online-im-park.de/drag-drop-prototype-scriptaculous/" class="liinternal">Drag &#038; Drop mit Prototype und Script.aculo.us</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.online-im-park.de/2008/01/25/ajax-tutorial-drag-drop-mit-prototypescriptaculous-ganz-einfach/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>
