=
34.203.28.212

Daschmi's Notizblog

RSS Feed

Mehrere Autoload Funktionen in einem Projekt

Erstellt in PHP, Plugins am 17. Februar 2013

Wenn man zum Beispiel ein WordPress Plugin programmiert und möchte eine Funktion zum automatischen Laden von Klassen verwenden so funktioniert das nur solange bis ein anderes Plugin ebenfalls eine __autoload Funktion implementiert.

Umgehen kann man das, in dem man seine Autoloadfunktion einen eindeutigen Namen gibt, oder den Namespace des Plugins verwendet.

  function wpsg_autoload() // statt __autoload()
  {
    ..
  }

Diese Funktion muss nun noch als Autload Funktion registriert werden, dies geschieht mittels:

spl_autoload_register(‚wpsg_autoload‘);

Für das ganze muss die SPS Unterstützung im PHP aktiv sein. Ab PHP 5.3 ist sie standardmäßig aktiv.

Custom Post Type

Erstellt in Plugins, Wordpress am 25. November 2012

Im wpShopGermany Produktartikel Modul hatte ich das Problem dass die Produkte nicht über die URL erreichbar waren die mittels get_permalink() zurückgegeben wurden. Offenbar wird der Eintrag in der wp_options (rewrite_rules) nicht automatisch angepasst.

In Version 3.0.9 wird dies beim Speichern der Einstellungen des Produktartikel Moduls nachgeholt.

Wer auch das Problem hat kann es mit folgendem Befehl durchführen:

flush_rewrite_rules();

WordPress Sprache für eine Domain ändern

Erstellt in Plugins am 22. November 2012

Im wpShopGermany ist es notwendig bestimmte Aktionen (Mail, Template und PDF Generierung) die Sprache des Backends zu ändern. Hat beispielsweise ein Kunde mit der Sprache Englisch bestellt, das Backend läuft aber in deutscher Sprache so werden normalerweise alle vom Backend ausgelösten Aktionen (Rechnung, Mail etc.) in der Sprache des Backends ausgeführt.

Um diesses Problem zu löscen wurde ab der Version 3.0.0 die Sprache während der Bestellung mitgespeichert. Damit nun im Backend die Sprache umgestellt werden kann wird vom wpShopGermany ab Version 3.0.9 die Übersetzung in der entsprechenden Sprache nachgeladen. Dies geschieht durch folgenden Aufruf:

load_textdomain('wpsg', dirname(__FILE__).'/../lang/wpsg-'.$locale.'.mo');

in der Variable $locale ist die Sprache während der Bestellung gespeichert (z.B. us_US)

Damit man nach der Aktion in der anderen Sprache wieder auf die Originalsprache wechseln kann sollte man die Übersetzung der Domain vorher sichern:

$old_l10n = clone $l10n['wpsg']; 

Die Variable $l10n ist dabei eine globale Variable. Das zurückschalten geschieht wie folgt:

$l10n['wpsg'] = clone $old_l10n;

Gutscheine mit dem wpShopGermany WordPress Plugin verkaufen

Erstellt in Plugins am 19. November 2012

Heute wurde hier ein neues Modul veröffentlicht mit dem es möglich Gutscheine zu verkaufen. Die Gutscheine werden dann nach Zahlung in Form eines PDFs generiert und an den Käufer ausgeliefert.

Ein Tutorial und eine Beispielkonfiguration findet ihr hier.

wpShopGermany – Verlinkung zu den einzelnen Bestellschritten

Erstellt in Plugins, Wordpress am 31. Oktober 2012

Ist in einer WordPress Instanz wpShopGermany installiert, so lässt sich mit folgenden Codebausteinen auf Shop relevante Seiten verlinken:

Warenkorbseite:

$GLOBALS[‚wpsg_sc‘]->getURL(wpsg_ShopController::URL_BASKET);

Warenkorbseite (Ohne Template, z.B. für Ajax Aufruf)

$GLOBALS[‚wpsg_sc‘]->getURL(wpsg_ShopController::URL_BASKET_AJAX);

Checkout (Eingabe der Kundendaten)

$GLOBALS[‚wpsg_sc‘]->getURL(wpsg_ShopController::URL_CHECKOUT);

Checkout2 (Auswahl der Zahlungs- Versandart)

$GLOBALS[‚wpsg_sc‘]->getURL(wpsg_ShopController::URL_CHECKOUT2);

Bestellzusammenfassung

$GLOBALS[‚wpsg_sc‘]->getURL(wpsg_ShopController::URL_OVERVIEW);

AGB Seite

$GLOBALS[‚wpsg_sc‘]->getURL(wpsg_ShopController::URL_AGB);

Versandkostenbestimmungen

$GLOBALS[‚wpsg_sc‘]->getURL(wpsg_ShopController::URL_VERSANDKOSTEN);

Datenschutzvereinbarung

$GLOBALS[‚wpsg_sc‘]->getURL(wpsg_ShopController::URL_VERSANDKOSTEN);

Widerrufsbelehrung

$GLOBALS[‚wpsg_sc‘]->getURL(wpsg_ShopController::URL_WIDERRUF);

Impressum

$GLOBALS[‚wpsg_sc‘]->getURL(wpsg_ShopController::URL_IMPRESSUM);

Profilseite

$GLOBALS[‚wpsg_sc‘]->getURL(wpsg_ShopController::URL_PROFIL);


Bitte genehmigen Sie die Verwendung von Cookies dieser Website! Mehr Informationen

Die Cookie-Einstellungen auf dieser Website sind auf "Cookies zulassen" eingestellt, um das beste Surferlebnis zu ermöglichen. Wenn du diese Website ohne Änderung der Cookie-Einstellungen verwendest oder auf "Akzeptieren" klickst, erklärst du sich damit einverstanden.

Schließen