Die Verbreitung der eignen Blog-Inhalte über Soziale Netzwerke gehört inzwischen zum Pflichtprogramm für jeden Blogger und ist auch für Firmenpräsentationen oder Online Shops ein wichtiges Werbemittel geworden.

Social Bookmark Dienste kristallisieren sich inzwischen als Hype heraus. Google Bookmarks, Digg oder Mr. Wong haben weniger Verbreitung oder sind Nutzern gänzlich unbekannt. Draus resultiert, das diese Dienste nicht den gewünschten Besucherstrom bringen.

Google+, twitter und facebook. Die 3 Großen im Netz, die jedem bekannt sind, auf diese möchte ich meinen Focus in diesem Blog Eintrag legen.

Für die Integration dieser Buttons stellen die 3 Communities jeweils Button Generatoren und gut verständliche Anleitungen zur Integration bereit.

Jeder dieser Buttons läd ein Script vom Server des jeweiligen Anbieters um die Buttons mit Funktionalität auszustatten. Das laden der Scripte kann, je nach Last der Ressourcen der Drittanbieter (Google, twitter, facebook), den Aufbau der Seite bremsen.

Google stellt zur Integration seines Buttons von Haus aus die Möglichkeit für eine asynchrone Integration bereit. Auf Basis dieses kleinen Javascriptes ist es ein leichtes den twitter tweet und den facebook Like Button ebenfalls asynchron in unsere Webseite zu integrieren.

Folgendes Script läd Google+, twitter tweet & facebook Like Button asynchron von den Drittanbieter Servern:

window.___gcfg = {lang: 'de'}; // google+
var socials = ['https://apis.google.com/js/plusone.js', 'http://platform.twitter.com/widgets.js', 'http://connect.facebook.net/de_DE/all.js#xfbml=1'];	
for (var i = 0; i < socials.length; i++) {
  	var po = document.createElement('script');
  	po.type = 'text/javascript';
  	po.async = true;
	po.src = socials[i];
	var s = document.getElementsByTagName('script')[0];
	s.parentNode.insertBefore(po, s);
}

Die Einbindung des Scriptes sollte im Kopfbereich (head-Tag) unseres Dokumentes erfolgen.

Ein Beispiel für die jeweiligen HTML Tags stellt dieser Code Block hier da, welcher in den Inhalts Bereich (body-Tag) des Dokumentes eingebunden werden kann:

<div class="g-plusone" data-size="medium" href="***LINK***"></div>
<a href="http://twitter.com/share" class="twitter-share-button" data-url="***LINK***" data-count="horizontal" lang="de">Tweet</a>
<div class="fb-like" href="***LINK***" width="450" show_faces="false" action="like" font="verdana"></div>

Der Platzhalter ***LINK*** ist hierbei durch den Verweis zu ersetzen, der an Google, twitter oder facebook weitergereicht werden soll. Anpassungen der Buttons in Aussehen, Sprache oder Funktionalität können von den jeweiligen Anbietern ersehen werden. Siehe Generatoren und Anleitungen der jeweiligen Anbieter. (siehe oben im Artikel)

Google+, twitter tweet & facebook Like für WordPress

In diesem WordPress Blog-System ist Google+, twitter tweet & facebook Like auf die bereits aufgezeigte Weise implementiert. Um den Short-Link des jeweiligen Artikels in einem WordPress Template zu ermitteln verwende ich die Funktion wp_get_shortlink(). Der Rückgabe Wert dieser Funktion oder die Funktion selber muss lediglich durch den ***LINK*** Platzhalter ersetzt werden.

Keine Kommentare »
 

Version: xt:commerce 4.0.12 (höhere Versionen nicht getestet)

Ein kleiner Bugix für einen nervigen Fehler in der Artikelansicht nach Herstellern (manufacturer view). Der Fehler macht sich nach dem Klick auf die Hersteller Auswahl im Frontend bemerkbar. Anstatt eine gefilterte Artikelansicht nach Herstellern zu sehen bekommen werden alle Artikel aus dem Shop angezeigt.

Einen Dowload des Bugfix in Plugin Form geht es hier: xt:commerce Veyton Hersteller Manufacturer Ansicht / Filter Bugfix Download
Zur Installation des Bugfixes muss der Ordner „ld_manufacturer_bugfix“ in den xt:commerce Veyton Plugin Ordner kopiert werden.

In Eigenregie kann der Bugfix in der Datei xtFramework/classes/class.products_list.php eingefügt werden. Es reicht die Zeilen 62 und 63 der Datei auskommentieren. (Methode getProductListing der Klasse products_list)

	function getProductListing () {
##
## ... some code
##
		if (empty($current_manufacturer_id)) {
			$this->sql_products->setPosition('product_listing');
 
			if ($this->current_categorey_id == 0)
				$this->sql_products->setFilter('Startpage');
				$this->sql_products->setFilter('Categorie', $this->current_categorey_id);
 
			if (is_data($_GET['filter_id']))
				$this->sql_products->setFilter('Manufacturer', (int)$_GET['filter_id']);
		} else {
                        ## quick manufacturer view  / filter bugfix
			$this->sql_products->F_Manufacturer($current_manufacturer_id);
			# $this->sql_products->setPosition('product_manufacturer_listing');
			# $this->sql_products->setFilter('Manufacturer', (int)$current_manufacturer_id);
			if (is_int($current_category_id))
				$this->sql_products->setFilter('Categorie', $current_category_id);		}
		if (is_data($_GET['sorting'])) {
			$this->sql_products->setFilter('Sorting', $_GET['sorting']);
		} else {
##
## ... more code
##

Nach dem korrigieren des Quellcodes oder installieren des Manufacturer Bugfixes für Veyton sollte alles wie erwartet funktionieren. Es sei denn du hattest erwartet das Veyton diesen Bug hatte. 😛

Keine Kommentare »
 

24 Stunden HSDPA / UMTS Internet Tagesflatrate
Der Mobilfunbetreiber Fonic bietet seinen Kunden die Möglichkeit für den Preis von 2,50 € eine GPRS / EDGE oder UMTS / HSDPA (je nach Mobilfunk Empfang) Internet Tages-Flatrate zu buchen.

Die Leistungen der Fonic Tagesflat umfassen dabei

  • eine UMTS / HSDPA Internet Tagesflatrate 1. bis 10. Nutzungstag 2,50 Euro je Nutzungstag
  • und Kostenschutz ab dem 11. Nutzungstag (maximal 25 Euro je Monat bezahlen)

Die 24h HSDPA / UMTS Internet Tagesflatrate ist auch mit einer Prepaid Simkarte nutzbar.

Praxis
Aktivierung

  1. In der Praxis besteht die Aktivierung der UMTS / HSDPA Tagesflatrate aus dem Senden einer SMS mit dem Inhalt „START TAGESFLAT“ ohne die „“ an die Nummer 36642
  2. Kurz nach dem versenden der SMS kommt eine Bestätigungs-SMS von Fonic an. Auf welche mit „JA“ geantwortet wird um die UMTS / HSDPA Tagesflatrate zu aktivieren
  3. Anschließend muss eine Weile auf die entgültige Bestätigung von Fonic beziehungsweise die Aktivierung der Tagesflatrate gewartet werden

Stornierung

  1. Um die HSDPA / UMTS Internet Tagesflatrate zu stornieren muss eine SMS mit den Text „STOP TAGESFLAT“ an die 36642 gesendet werden
  2. Wieder erhält man eine Kurze Bestätigungs-SMS auf die mit „JA“ geantwortet werden muss
  3. Nach einer Wartezeit erhälst du die Bestätigung, das die HSDPA / UMTS Internet Flatrate deaktiviert wurde

Negativ
Negativ ist die Einteilung eines Tages von Fonic. Ein Tag Endet bei Fonic um 24:00 Uhr. Genau wie die UMTS / HSDPA Tagesflatrate. Egal wann du die Flatrate aktivierst. Du bezahlst die Zeit vom Aktivierungszeitpunkt bis 24:00 Uhr bzw. 00:00 Uhr.

Zusätzlich wird die Verbindungsgeschwindigkeit ab einem Verbrauchvolumen von 500 MB in einem Abrechnungszeitraum auf GPRS Geschwindigkeit gedrosselt.

Ein großes Manko ist die Lange Aktivierungs- und Deaktivierungszeit der Flatrate. Zwischen Anfordern der Flatrate und der eigentlichen Aktivierung sind im Test 7 Stunden vergangen. Zwischen dem Abmelden und der eigentlichen Deaktivierung sogar 8 Stunden.

Positiv
Wie bei jeder Prepaid Karte kommen keine Grundgebühr, kein Mindestumsatz, keine Vertragsbindung auf einen zu.

Ein weitere Plus ist der Kostenschutz von Fonic. Das heißt das ab dem 11. Nutzungstag maximal 25 Euro je Monat gezahlt werden anstatt jeden Tag an dem die Flatrate aktiv ist 2,50 €.

Unter anderem kann sich mithilfe einer Fonic Simkarte, die sich anonym online aktivieren lässt, ein anonymer Internetanschluss eingerichtet werden.

Fazit
Sehr praktisch für Menschen die nur hin und wieder online sind oder Internet unterwegs nur selten verwenden. Eine komplett Flatrate gestaltet sich für Dauer-Onliner günstiger. Für längere online Zeiten oder das Arbeiten mit online Verbindung rate ich, unabhängig vom Anbieter, von der Verwendung eines UMTS Surfsticks ab. Abschließen stelle ich in den Raum, das es keinen besseren Anbieter für eine 24 Stunden Prepaid HSDPA / UMTS Internet Tagesflatrate zu geben scheint als Fonic.

Keine Kommentare »
 

Version: Magento 1.5 & 1.5.1

Themen spezifische Übersetzungen werden in Magento üblicherweise in der Datei /app/design/frontend/***BASE ODER DEFAULT***/***DEIN TEMPLATE***/locale/de_DE/tanslate.csv hinterlegt. Dabei muss das Format „***STRING IN TEMPLATE***“,“***ÜBERSETZTER TEXT***“ eingehalten werden. Teilweise sind auch Variablen wie %s enthalten. Die sind am Prozent Zeichen zu erkennen.

Die translate.csv im Template Ordner erhält, beim generieren der Übersetzungen, eine niedrigere Priorität als die standard Übersetzungen. Das nimmt der Möglichkeit Übersetzungstexte mit dem Template zu liefern die bereits in der standard Übersetzungstexten enthalten sind.

Um das zu ändern kann quick and dirty die Datei app/code/core/Mage/Core/Model/Translate.php in Zeile 558 folgendermaßen editiert werden:

    /**
     * Return translated string from text.
     *
     * @param string $text
     * @param string $code
     * @return string
     */
    protected function _getTranslatedString($text, $code)
    {
    	$translated = '';
        if (array_key_exists($text, $this->getData())) {
            $translated = $this->_data[$text];
        }
        elseif (array_key_exists($code, $this->getData())) {
            $translated = $this->_data[$code];
        }
        else {
            $translated = $text;
        }
        return $translated;
    }

Am einfachsten ist es die Methode _getTranslatedString() komplett zu ersetzen. 😉

Eine schönere Möglichkeit ist es die Datei app/code/local/Mage/Core/Model/Translate.php zu erstellen, mit den Inhalten der originalen Datei app/code/core/Mage/Core/Model/Translate.php zu füllen und dabei die Methode _getTranslatedString() mit der oben abgebildeten Methode zu ersetzen.

Wer möchte kann hier den fertigen Magento 1.5.X Translate Bugfix heruntergeladen werden. Der Fix muss gemäß der im Archiv enthaltenen Ordnerstruktur in das Magento root Verzeichnis kopiert werden.

4 Kommentare »
 

Version: Magento 1.5 & 1.5.1

Das Magento Kontaktformular versendet, nach einer frischen Installation, grundsätzlich schon E-Mails. Zumindest solange darauf geachtet wird den URL Rewrite der Seite auf der sich das Kontaktformular befindet nicht zu verändern. Das bedeutet das Blöcke in denen das Kontaktformular auf anderen Seiten integriert ist ebenfalls nicht funktionieren.

Um den Fehler zu beheben lasse ich den Pfad zur Not (wenn der Pfad leer ist) statisch ausgeben. Dabei verwende ich folgenden form-Tag im Template ***Theme Pfad***/contacts/form.phtml:

<form action="<?php $action = $this->getFormAction(); if (!empty($action)) { echo $action; } else { echo Mage::getBaseUrl().'contacts/index/post/'; } ?>" id="contactForm" method="post">

Der Fehler entsteht, weil die Methode $this->getFormAction() ein leeres Ergebnis zurück liefert, wenn man sich beim Formular Absenden nicht auf der Seite mit dem Rewrite /contacts/ befindet.

Ein Manko dieser Lösung ist die automatische Weiterleitung auf die Kontaktformular Seite nach dem Absenden des Kontakformulars auch wenn das Formular als Block in eine andere Seite eingesetzt wurde.

Alle Schritte beachtet und das Formular will noch nicht? Hast du deine E-Mail Adresse auch für das Magento Kontakformular hinterlegt? Falls nicht, du findest das Feld zum Eintragen der E-Mail Adresse im Magento Backend unter:

System -> Konfiguration -> Allgemein -> Kontakte

Erwähne das, weil ich nach dem lesen des Bugfixes zusätzlich noch die passende Mail Adresse vergessen hätte. 🙂

Keine Kommentare »
 

Im Web finden sich viele, für solche Infos gern verwendete, Blogs und Foren in denen nachzulesen ist wie denn nun das Installationsdatums eines Linux Systems rauszufinden ist. Eine kleine Sammlung aus der Google Suche:

Ich fand das Thema auch interessant und dachte mir das ich das posten würde. Jetzt wars eben doof, das ich mein Installationsdatum genau wusste. Das Ausführen des Kommandos:

ls --sort=t /dev -l | tail -n1 | awk '{print $8 " " $7 " " $9}'

bzw. von:

ls --sort=t /dev -l | tail -n1 | awk '{print $8 " " $7 " " $8}'

brachte mir ein falsches Ergebnis (20:51-2009-04-27) auf meinem Desktop Rechner (Ubuntu Hardy). Richtig wäre gewesen 18:10-2008-08-07. Ebenso auf dem Server (Debian Lenny davor Sarge) 05:20-2011-01-22 statt 16:07-2006-11-28. Die passenden Ergebnisse liefert mir:

ls --sort=t / -l | tail -n1 | awk '{print $8 " " $7 " " $9}'

bzw.:

ls --sort=t / -l | tail -n1 | awk '{print $8 " " $7 " " $8}'

Die Dateien unter /dev müssen sich nach einem System Update verändert worden sein. Unter Ubuntu kann der Installationszeitpunkt bzw. das Datum auch anhand des Ordners /lost+found/ im root Verzeichnis abgelesen werden. Dieser wird bei der Installation angelegt und nicht weiter verändert.

Abgesehen von der Tatsache wie viele Leute sich inzwischen sicher an einem falschen Installationsdatum erfreut hatten ist es interessant wir sich ein kurz Tipp durchs Web verbreitet. Für mich ist das der Blogger Copy & Paste Tipp 2011. Deswegen gibts den auch bei mir im Blog. 🙂

Mich würde interessieren wann ihr eure Systeme installiert habt oder ob noch jemand mit Ubuntu Hardy unterwegs ist.

Keine Kommentare »