Archiv der Kategorie: Programmierung

Programmierung: PHP, Visual Basic, HTML, Javascipt usw.

Domains weiterleiten, Keyword-Domains nutzen, Expired Domains auspressen

So mancher Websitebetreiber nennt mehrere Domains ( z.B. zusätzliche Zweitdomains, Drittdomains oder Keyword-Domains) sein eigen. Das muss nicht unbedingt Suchmaschinenoptimierungsgründe haben. Das kann schlicht und einfach den Grund haben, dass man unter mehreren Domains erreichbar sein möchte z.B. www.firma.tld und www.produkt.tld oder die Domains besitzen möchte, damit sie kein Wettbewerber erhält.

Was auch immer der Grund ist: SEO oder Erreichbarkeit, Möglichkeiten um Zweitdomains oder Keyword-Domains zu nutzen gibt es viele: Server seitige Weiterleitungen, Client seitige Weiterleitungen, Satellitenseiten erstellen…

Serverseitige Weiterleitung

301 Weiterleitung – permanente Weiterleitung

Die 301 Weiterleitung ist bei SEOs eine ziemlich beliebte Methode um Zweit- oder Keyword-Domains zu nutzen. Ein 301 Redirect stellt, im Gegensatz zu einem 302 Redirect, eine permanente Weiterleitung dar und ist eine sehr Suchmaschinen freundliche Möglichkeit ganze Domains oder einzelne URLs weiterzuleiten.

Vorteil: Bei dieser Art der Weiterleitung wir ein eventuell vorhandener PR (Page Rank) der Zweit- oder Keyworddomain zumindest teilweise auf die Hauptdomain übertragen. Außerdem wird diese Weiterleitung sogar von Google selbst empfohlen.

Tipp: Welcher HTTP Status-Code an den Google Spider zurückgegeben wird, lässt sich mit diversen Online-Tools z.B. dem Web-Sniffer testen.

301 mit mod_rewrite

Voraussetzung: Apache Server muss das mod_rewrite Modul installiert haben. Dann legt man im Hauptverzeichnis der Zweitdomain eine Datei Namens .htacces an und fügt folgenden Inhalt ein:

Weiterlesen

RewriteRule, RewriteCond und Reguläre Ausdrücke

Mit RewriteRule kann man die Rewrite-Engine des Softwaremoduls mod_rewrite des Apache-Webservers bedienen, also Anfragen an den Webserver intern umschreiben oder weiterleiten.

Somit können wir mit Rewrite Regeln wunderbar Weiterleitungen einrichten oder dynamische URLs unter statischen Adressen erreichbar machen.

Voraussetzung: Wir haben einen Apache Webserver mit installierten mod_rewrite Modul. Wir legen im Hauptverzeichnis der Domain eine Textdatei Namens .htacces an und fügen darin folgenden Text ein:

RewriteRule

Allgemeine Syntax von RewriteRule:

RewriteRule ist die Anweisung, Argument1 die vom Besucher aufgerufene URL, Argument2 die URL zu der der Webserver intern unsichtbar für den Besucher weiterleitet bzw. umschreibt.

Weiterlesen

JQuery und jquery UI – die eigene Website mit innovativen Animationen und Effekten ausrüsten

JQuery ist nicht umsonst eines der beliebtesten Javascript-Frameworks. Mit wenigen Zeilen Code erstellt man tolle Animationen und Effekte, sodass die eigene Website ein ganzes Stück näher an eine Desktop Anwendung rückt. Das tolle von jQuery: man braucht sich nicht grundsätzlichen JavaScript Funktionen und mit Browser-Inkompatibilitäten rumschlagen, das übernimmt das Framework.

Als Ergänzung zu jQuery gibt es jQuery UI. Damit sind Widgets wie Akkordeon, Autoausfüll-Felder, Dialog Boxen, Schieberegler, Tabs bzw. Register, Datumpicker, Fortschrittsbalken, Effekte und sogar Interaktionen wie verschiebbare, selektierbare, vergrößerbare und sortierbare  Objekte in Null Komma Nix erstellt.

Hier ein kleines jQuery und jQuery Ui Anfänger Tutorial: jQuery Tutorial

WordPress Update auf Version 3.0.1

Es steht wieder einmal ein WordPress Update an. Bei drei Blogs nicht unbedingt eine Kleinigkeit. Ok, Webspeicher und Datenbank sichern und dann die automatische WordPress Update Funktion ausprobiert. Die verlangt die Eingabe der FTP-Zugangsdaten. Ist natürlich nicht so toll, dieselben unverschlüsselt dem WordPress Update Server mitzuteilen aber was soll’s. Nach dem Update wird das Passwort sofort geändert.

Das automatische Update dauert und dauert aber findet dann doch ein erfolgreiches Ende. Schön 🙂

Seite aufrufen und kontrollieren. O Schreck. Der Bildschirm beleibt weiß. Hilfe! Gleiches beim Versuch sich ins Backend einzuloggen. Sch….! Und jetzt? Natürlich googlen. Aha, die MyGallery wird scheinbar nicht mehr unterstützt. Die muss ausgeschaltet werden. Aber wie, wenn keine Login mehr möglich ist? Einfach Plug-In Ordner umbenennen.
Ein weitere Recherche fördert zu Tage, dass der MyGallery in Wordpres 3.1.1 nur 2 Dateien fehlen. Also in einer alten WordPress Installation die Dateien gettext.php und streams.php aus dem wp-includes Verzeichnis suchen und dieselben ins gleichnamige Verzeichnis hochladen. Geht ja wieder alles. Schön.

Aber was lese ich da? Der MyGallery Macher stellt die Entwicklung seines super tollen Plugins ein. Katastrophe, bei 3 Blogs mit circa 200 Galerien und insgesamt 3.000 Bildern, die alle in der MyGallery drin stecken und zum Großteil dort beschriftet wurden! Umstellen auf ein neues Plugin bedeutet tageweise Arbeit!

Wieder recherchieren. Aha die NextGEN Gallery wäre schön. Gut, ist schnell installiert und hat auch ganz nette Zusatzfunktionen (Slidshow, PicLens, bessere Integration in WordPress usw.). Und jetzt? Alle meine Galerien manuell importieren und die einzelnen Fotos neu beschriften. Nein, dazu habe ich nun wirklich nicht nur keine Lust sondern auch keine Zeit.

Wieder recherchieren. Das Problem hat sicherlich auch ein anderer Programmierer vor mir gehabt. Da ist ja schon was: Convert myGallery to NextGen Gallery. Wunderbar! Ein wenig Handarbeit ist zwar dabei aber so könnte es gehen.

Das erste PHP Script schnell korrigieren (&& durch && ersetzen!) und etwas angepasst, sodass auch der alttext aus der MyGallery übernommen wird.

Das Script aufrufen, die Ausgabe in einen Editor kopieren, mit Suchen und Ersetzten den Pfadabschnitt mygallery durch gallery ersetzten. Das könnte man sich zwar schenken, aber ich will alles auf den NextGEN Gallery Standard umstellen. Nur die Insert Statements (die Update Statements lieber auslassen!) per phpmyadmin absetzen. Passt. Dann noch per phpmyadmin ein

absetzten.

Jetzt nur noch den Standardbilderordner von MyGallery in die Bezeichnung des Standardbilderordner von NextGEN Gallery umbenennen, also mygallery im wp-content Verzeichnis in gallery umbenennen, die Verzeichnisrechte richtig setzten und dann im zweite PHP Script den Pfad anpassen und das Script ausführen. Fertig.

Dank Google und fleißigen Bloggern, die Ihr Wissen der Welt zur Verfügung stellen, habe ich mir Tage an Arbeit erspart. 🙂

360° Südtirol Fotos in eigene Website einbinden

Eine eigene Website erstellen ist heutzutage keine große Hexerei, manchmal sogar nicht mal so aufwendig. Die Website mit tollen Inhalten füllen, die den Besucher einen Mehrwert liefern, ist meist ziemlich schwieriger. Wer nun auf seiner eigenen Website dem Besucher das Land Südtirol visuell präsentieren möchte, kann Südtirol 360° nutzen.

Folgende Möglichkeiten stehen bereits zur Verfügung:

  1. Südtirol 360° aufrufen, das gewünschte Foto aussuchen, den Button Infos zum Foto anklicken und den dort enthaltenen Link oder Code nutzen um eine Verlinkung in der eigenen Website einzubinden. Wer ein kleines Thumbnail Foto mit in die eigene Website einfügen will darf die Thumbnail Fotos hinter dem Button 360° Fotos gerne kopieren.
  2. Die RSS Feeds Südtirol 360 und Alto Adige 360 in der eigenen Website integrieren. Wie das z.B. mit etwas PHP Kenntnissen geht, steht weiter unten.
  3. In Zukunft ist eine Kategorisierung der Fotos geplant, sodass sowohl die Links als auch die RSS Feeds so eingebaut werden können, sodass nicht alle Fotos gezeigt werden, sondern nur jene der Kategorien die gewünscht sind. Geplant sind die Themen: Sommer, Winter, Berge, Täler, Land, Wasser, Dorf/Stadt, Sehenswürdigkeit, Außen, Innen, Privat, außerhalb Südtirol

RSS Feed mit PHP in eigene Website nahtlos integrieren

Zuerst unter: sourceforge.net/projects/magpierss/files/ den Open-Source-RSS-Parser MagpieRSS downloaden und im eigenen Projektordner z.B. im Unterverzeichnis magpierss entpacken.

Dann diesen Sourcecode in der eigenen PHP Datei integrieren:

Fetig das war es…

Kostenloses Open Source Flash Karussell mit XML-KonfigurationFree Open Source Flash carousel with XML configuration

Auf der Suche nach einem Flash Karussell bin ich auf die Seite gotoandlearn von Lee Brimelow gestoßen. Lee hat ein tolles Lernvideo erstellt, welches demonstriert wie du dir selbst eine tolle Flash Präsentation deiner Produkte in Form eines Karussells programmieren kannst. Lee erklärt in seinem Post, dass das Ergebnis von jedem genutzt werden darf auch für kommerzielle Zwecke. Ja es darf sogar behauptet werden, das Karussell selbst gemacht zu haben. Aber Achtung, wenn du das Flash-Tool weiterverkaufst und somit den Open Source Gedanken untergräbst, dann riskierst du dass er dir deine Arme bricht *g* Ich muss aber dazu sagen, dass ich des Englischen nicht sonderlich mächtig bin. Könnte auch sein, dass ich da was falsch verstanden habe. Also bitte selbst lesen!

Diese Animation benötigt den Adobe Flash Player 8

Ich jedenfalls erlaube mir hier das nützliche Open Source Flash Karussell etwas zu erweitern, sodass weitere Einstellungen über die XML-Datei machbar sind. Damit sollte es für Webmaster, die nicht über das relativ teure Adobe Flash Professional verfügen, trotzdem möglich sein, das kostenlose Tool für ihre Zwecke zu nutzen.

While searching a flash carousel I stumbled on the side gotoandlearn of Lee Brimelow. Lee has created a great educational video that demonstrates how you can program your own flash presentation of your products in the form of a carousel. Lee explained in his post that the result of his work can be used by anyone, also for commercial purposes. You may also say that you have created the carousel yourself. But beware; if you sold the flash tool and ignore the idea of open source projects, then you must calculate the risk that it may take a bad end.

Note of myself: Because it may be that I misunderstood something in regard to the using rights: please read the post again!

Diese Animation benötigt den Adobe Flash Player 8

In fact: Today I will expand the useful Open Source Flash carousel, so that further adjustments are possible on the XML file. So also webmasters, who do not have the expensive Adobe Flash Professional, should be able to use the free tool for their purposes.

Weiterlesen

Programm-Quellcode (Quelltext) mit WordPress anzeigen

Nun ist es endlich vorbei! Was vorbei? Der Ärger mit WordPressPost in denen Quellcode eingefügt werden soll. Ist ja nicht so schwierig wirst du jetzt sagen. Dafür gibt es unzählige Plugins von disable-wpautop, wp-unformatted, quickcode usw. Leider hat kein Plugin seinen Dienst so wie von mir gewünscht erfüllt.

Ich schalte beim Schreiben von Posts nämlich recht oft zwischen der HTML und der WYSIWYG-Ansicht (Tinymce) also zwischen der Quelltext-Ansicht und der visuellen Ansicht hin und her. Dabei schluckt der Tinymce-Editor ständig das eine oder andere TAG-Attribut! Lästig, sehr lästig, wenn man bei Posts mit Code ständig auspassen muss immer in der HTML Quelltext Ansicht zu bleiben.

Weiterlesen

WordPress Plugin – Digitales Wandernetz Südtirol – trekking.suedtirol.info

Das Internetportal www.trekking.suedtirol.info, welches mit dem digitale Wandernetz Südtirols (siehe Artikel Wandern in Südtirol) dem interessierten Wanderer für die Planung seiner Wandertouren beiseite zu steht, wird immer besser. Vor einiger Zeit hatte ich noch große Schwierigkeiten eine Wandertour in die Südtirolkarte einzuzeichnen, da das Routing nicht machte was ich wollte. Nun scheinen diese Probleme behoben zu sein. Ich schaffe es jetzt ohne weiters Rundwanderungen einzugeben und sogar Abstecher (Stichleitungen) zu definieren und bin mit der Funktionsweise von Trekking Südtirol sehr zufrieden.

Ein zwei kleinere Wehrmutstropfen bleiben aber:

  • Scheinbar ist es nicht möglich eine benutzerdefinierte Wandertour, die bereits gespeichert ist, nachträglich zu editieren. Ich schaffe es leider nicht die eingegeben Wanderbeschreibung zu ändern und auch nicht eingegebene Zwischenziele zu ändern oder zu löschen.
  • Des weiteren stört es mich etwas, dass ich ziemlich viel Zwischenziele angeben muss, damit das Routing den Wanderweg nimmt den ich möchte. Bei der Planung ist das zwar egal, aber wenn ich die so erzeugte benutzerdefinierte Wandertour in meine Website einbinden möchte, schaut das nicht besonders gut aus. Die von Trekking Südtirol vordefinierten Touren weisen diesen Makel nicht auf.
    Darum muss es sicherlich eine Lösung oder einen Workaround für dieses Problem geben.

Wenn jemand eine Lösung weiß, dann wäre ich sehr dankbar!

 

WordPress Pluging Trekking Südtirol

Da mir Trekking Südtirol sehr gut gefällt und ich Wandertouren öfters hier in meinem Blog einbinden möchte habe ich ein WordPress Plugin programmiert, welches die Einbindung einer Südtirol Karte oder einer Wandertour schnell und einfach ermöglicht. Hiermit stelle ich das WordPress Plugin Trekking Südtirol kostenlos für alle Interessierten zur Verfügung. Die Nutzung erfolgt auf eigene Gefahr.

Weiterlesen

Amazon Modul und Anleitung für tabellenlose Layouts mittels CSS und float

Vor einigen Tagen habe ich mich mit der Erstellung eines PHP-Moduls für das Content Management System Contenido beschäftigt. Für WordPress gibt es deren bereits viele im Internet zu finden, aber für Contenido ist die Auswahl recht beschaulich. Ich habe ein Modul für die einfache und schnelle Integration eines Amazon Artikels also einer Kauf-Empfehlung für Bücher, DVD, Software oder elektronischer Produkte erstellen wollen. Da ich die Amazon Webservices nicht einsetzten wollte (vielleicht schaue ich mir die in Zukunft mal an), habe ich mich auf die Widgets, welche Amazon in seinem PartnerNet anbietet beschränkt.

So richtig zufrieden war ich mit keinem der angebotenen Widgets, da ich unbedingt einen Einzelartikel (natürlich Südtirol Bücher 😉 ), mittels Amazon ASIN oder ISBN schnell und einfach, in das CMS integrieren wollte ohne im Amazon-PartnerNet Einstellungen vornehmen, ohne ein Artikelbild umständlich von Amazon downloaden und in meinen Webspeicher hochladen und ohne im CMS in der Code-Ansicht rumbasten zu müssen.

Das einzige Amazon Widget das dies ermöglicht ist das Snippet für einen Amazon Einzeltitel-Link, das – wenn mit Bild und Text gewünscht – als iframe Element angeboten wird. Grund genug für mich,  sich mit der nahtlosen Integration von iframes und HTML-Elementen im Allgemeinen mittels der CSS Eigenschaft float zu beschäftigen.

Daraus ist nun ein kleiner CSS Float Crash-Kurs entstanden, der ganz allgemein die CSS Float-Technik Schritt für Schritt beschreibt und auch auf Browserprobleme eingeht. 

Fragen zum CSS Workshop und zum Amazon Modul können hier gerne gestellt werden.

Integration digitales Wandernetz Südtirol in eigene Website

Harald Ladurner berichtet in dem Blog http://trekking-suedtirol.blogspot.com das man nun das digitale Wandernetz Südtirol in die eigene Website mittels iframe einbauen kann.  Die Integration ist aus meiner Sicht sehr einfach:

    1. Ich navigiere zu http://trekking.suedtirol.info und klicke ganz unten links auf Anmelden und melde mich an bzw. registriere mich neu.
    2. Dadurch erhalte ich einerseits Zugang zum Administrationsbereich des digitalen Wandernetzes Südtirols und kann anderseits auch selbst geplante Wandertouren abspeichern.
    3. Nun kehre ich zurück zur Hauptseite (ganz unten neben Abmelden. Die Position der Navigationselemente ist schon etwas ungewohnt 😉 )
    4. Nun plane ich eine neue Wandertour, indem ich verschiedene Tourenpunkte setze (Menüpunkt: Tourenpunkt setzen)
    5. Die geplante Tour speichere ich mit dem Menüpunkt: Meine Touren ab. Es öffnet sich ein Popup-Fenster in welchem ich der Tour einen  Titel und eine Wanderbeschreibung zuweisen kann. Ein Klick auf die Schaltfläche: Tour speichern speichert die Wandertour ab und zeigt mir die für die Integration wichtige Tour ID (siehe Spalte Tour). Diese ID notiere ich mir für die spätere Nutzung.
      Wegenetz Südtirol - Meine Touren abspeichern
      Ups, ich habe mich vertippt. Bei „Katelazpromenade“ fehlt das s. Schade, leider kann man die bereits gespeicherte Tour nicht editieren. Ich müsste die Wandertour löschen und neu speichern. Dies ist bei Touren die bereits in einer Website integriert wurden nicht ganz unproblematisch ist, da sich bei einer erneuten Speicherung die Tour ID ändert und somit der Quelltext der eigenen Website in der man die Tour integriert hat aktualisiert werden muss.
    6. So nun möchte ich in den Administrationsbereich zurück kehren. Leider fehlt ein entsprechender Link. Hmm –  aha nach einer gründlichen Suche, habe ich eine Möglichkeit gefunden:  ein Klick auf Abmelden (ganz unten links) befördert zwei Schaltflächen Abmelden und Administration zu Tage. Ich wähle Administration.
    7. Im Administrationsbereich kann ich unter dem Menüpunkt: Eigene (diesmal oben links) verschiedene Menüpunkte aufrufen. Unter Touren kann ich von einigen vordefinierten Touren die Tour ID (siehe Spalte Tour ID) notieren. Ich hatte mir aber bereits die Tour ID meiner eigenen benutzerdefinierten Tour (siehe Punkt 5) notiert.
    8. Ich rufe nun das Untermenü: Benutzerdaten auf, wo ich eine andere ID und zwar die ID zur Einbindung der Karte in andere Seitensehen kann. Ich habe nun zwei ID’s:
      1. Tour_ID (diese ID kennzeichnet eindeutig meine gespeicherte benutzerdefinierte Tour
      2. ID_zur_Einbindung_der_Karte (diese ID ist mit meinem registrierten Benutzernamen gekoppelt)
    9. Nun kann ich im Untermenü: Karte einbinden genau nachlesen wie die Karte eingebunden werden muss. Hier gibt es jeweils ein Beispiel für die Einbindung der ganzen Südtirol-Karte, eines individuellen Ausschnittes der Südtirol-Karte, einer vordefinierten Wander-Tour und auch einer selbst gespeicherten (benutzerdefinierten) Tour. Ich kopieren das Codeschnipsel für die benutzerdefinierte Tour. Dieses schaut wie folgt aus:

wobei die Zeichenfolgen ID_zur_Einbindung_der_Karte und Tour_ID mit den zuvor notierten Id’s – siehe Punkt 8 – ersetzt werden müssen. Dieses Codeschnipsel muss im Quelltext meiner eigenen Website eingefügt werden. Fertig. Das Ergebnis schaut nun wie folgt aus:

Spaziergang Dorfzentrum Tramin – Kirchensteig – Kastelaz Promenade – Weinhügel Kastelaz – Dorfzentrum Tramin

Ich finde die Integration recht einfach. Die Wechsel zwischen Administrationsbereich und Hauptseite ist sicherlich verbesserungswürdig aber die Integration mittels iframe ist auch für Hobby-Website-Bastler leicht zu schaffen. Bleibt noch zu hoffen, dass der Server des digitalen Wandernetzes Südtirols bei entsprechender Ansturm der Belastung auch standhalten wird. Wir werden sehen…

Zufrieden mit dem meinem Werk treibt mich die Neugierde noch weitere Informationen zu meiner benutzerdefinierten Tour einzubinden. Ich möchte die Informationen zur Wandertour mittels Popup-Fenster mit integrieren. Auch dafür hält der Administrationsbereich ein Codeschnipsel bereit:

wobei wiederum die Zeichenfolgen ID_zur_Einbindung_der_Karte und Tour_ID mit den zuvor notierten Id’s – siehe Punkt 8 – ersetzt werden müssen. Auch dieses Codeschnipsel muss im Quelltext meiner Website eingefügt werden.

Das Ergebnis:

Informationen zur Wandertour Tramin Kirchensteig Kastelaz

Bald kommt der Wunsch auf, das Popup-Fenster direkt aus der integrierten Wanderkarte heraus öffnen zu können und eventuell den einen oder anderen Marker mit Zusatzinformationen zu verlinken. Das wird dann wohl mit der iframe-Technik nicht möglich sein. Mal schauen ob die API des digitalen Wandernetz Südtirol in Zukunft noch ausgebaut wird…

Inzwischen bin ich aber schon sehr zufrieden mit der Möglichkeit die Südtirol-Karte mit einer eigenen Wandertour integrieren zu können.

Betreff von eingehenden E-Mails automatisch mittels VBA modifizieren

Ich bekomme viele standardisierte E-Mails mit einer Fälligkeitsmeldung im Text (Body) der E-Mails. Um diese E-Mails zu verwalten verschiebe ich sie manuell in einen anderen Ordner. Leider lassen sie sich nicht sinnvoll anhand des Fälligkeitsdatum sortieren, da ihr Betreff nicht dementsprechend aufgebaut ist.

Im Betreff der E-Mails steht:

32043262-Hinweis Fälligkeit bla bla bla

Im Text (Body) der E-Mails steht irgend wo:

Fällig am: 25/7/2007,

Zu beachten ist, dass das Datum beim Tages- und Monatsanteil nicht mit führenden Nullen beginnt d.h. es kann ein Datum der Form T/M/JJJJ und ein Datum der Form TT/MM/JJJJ geben.

Ich möchte nun beim Betreff den Zahlencode „32043262-„, der bei jeder E-Mail ein anderer ist, durch das Datum, welches irgendwo im Text steht, ersetzen.

Die Lösung:

  1. Dem Betreff müssen am Anfang die 9 Zeichen des Zahlencodes: „32043262-“ entfernt werden
  2. Das Datum der Fälligkeit muss aus dem Text (Body) ausgelesen werden
  3. Das Datum der Fälligkeit soll dem Betreff in der Form „Faelligkeit : JJJJ.MM.TT -“ am Anfang  angehängt werden.

Der VBA-Quellcode

Ich habe das Beispiel zum Thema NewMailEx aus der VBA-Hilfe verwendet und dieses angepasst. Hier ist nur der angepasste Teil dokumentiert.

Dieser Code muss in der Sektion ThisOutlookSession eingegeben werden: