HauptmenĂŒ

Werkzeuge

Kategorien

Archiv

Einhell

Custom Post Type

Erstellt in Wordpress am 25. November 2012 vom Daschmi

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 Allgemein am 22. November 2012 vom Daschmi

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 Allgemein am 19. November 2012 vom Daschmi

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.

array_merge ohne neuindexierung

Erstellt in PHP am 1. November 2012 vom Daschmi

array_merge arbeitet standardmĂ€ĂŸig so, das numerische SchlĂŒssel in dem zusammengefĂŒgten Array neu vergeben werden. Folgende Funktion verhindert dies auf simple Weise:


/**
* Array Merge und Indexe nicht neu nummerieren
* Siehe: http://de2.php.net/manual/de/function.array-merge.php#106803
*/
function dsr_array_merge($a, $b)
{

$result = array_diff_key($a, $b) + $b;

return $result;

} // function dsr_array_merge($a, $b)

wpShopGermany – Verlinkung zu den einzelnen Bestellschritten

Erstellt in Wordpress am 31. Oktober 2012 vom Daschmi

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);

Problem mit Hintergrund eines UITableView nach Update auf iOS Version 6

Erstellt in IPhone SDK am 28. September 2012 vom Daschmi

Bisher konnte der Hintergrund eines UITableViews mittels setBackgroundColor direkt gesetzt werden. Ab iOS Version 6 muss das dahinterlegene View gesetzt order entfernt werden. Folgender Code setzt den Hintergrund einer UITableView ab Versio6:

[[self tvConnections] setBackgroundColor:[app cBackground]];
[[self tvConnections] setBackgroundView:nil];

Verzeichnisse mit PHP rekursiv zippen

Erstellt in PHP am 22. September 2012 vom Daschmi

Um Verzeichnisse rekursiv zu einem Zip Archiv hinzuzufĂŒgen kann folgendes Script verwendet werden:

public function zipDir(&$zip, $dir, $base = “)
{
  if (!file_exists($dir));
  $arFiles = scandir($dir);

  foreach ($arFiles as $file)
  {

    if (in_array($file, array(‚.‘, ‚..‘))) continue;

    if (is_file($dir.’/‘.$file))
    {

      $zip->addFile($dir.’/‘.$file, $base.$file);

    }
    else if (is_dir($dir.’/‘.$file))
    {

      $zip->addEmptyDir($base.$file);
      zipDir($zip, $dir.’/‘.$file, $base.$file.’/‘);

    }
  }
}

Der Aufruf kann dann wie folgt aussehen:

$tmpzip = tempnam("/tmp", "wpShopGermany");

$zip = new ZipArchive;
$res = $zip->open($tmpzip, ZipArchive::CREATE);

// Verzeichnisse
zipDir($zip, ‚/var/home/htdocs/wpShopGermany/wp-content/uploads/wpsg_produktbilder‘, ‚wpsg_produktbilder/‘);

$zip->close();

header("Cache-Control: private");
header(‚Content-Type: application/download; charset=utf-8‘);
header(‚Content-Disposition: filename=wpsg_upgrade.zip‘);
header("Pragma: public");

session_cache_limiter(’nocache‘);

die(file_get_contents($tmpzip));

Das Zip Archiv wĂŒrde dabei direkt als Download an den Browser ĂŒbergeben werden.

Varianten, Variablen oder doch Attribute :?

Erstellt in Wordpress am 16. September 2012 vom Daschmi

Da die Verwendung von Varianten, Variablen, Attributen in wpShopGermany immer wieder Probleme machen möchte ich diese Funktionen hier noch einmal erlÀutern.

Varianten

Varianten dienen zur Definition von verschiedenen Produktvarianten die gekauft werden können. Hier ist es möglich fĂŒr jede Variante einen einzelnen Preis zu definieren. Die Varianten werden dabei einfach zu bestehenden Produkten in der Produktverwaltung definiert. Zu jeder Variante kann ein Preis definiert werden, der Gesamtpreis ergibt sich dann aus dem Grundpreis des Produktes plus den Preisen der einzelnen ausgewĂ€hlten Varianten.

Beispiel einer Variantenkonfiguration:

Im Frontend sieht das ganze dann wie hier gezeigt aus.

Variablen

Es gibt im wpShopGermany zwei Arten von Variablen, das wĂ€ren die Bestellvariablen und die Produktvariablen. Variablen sind dabei Kundeneingaben, die wĂ€hrend der Bestellung vom Kunden eingegeben werden. Bei Bestellvariablen handelt es sich um Eingaben die der Kunde einmal pro Bestellung macht und bei Produktvariablen sind es Eingaben die zu jedem bestelltem Produkt gemacht werden können. Die Produktvariablen werden dabei einmal pro bestellten Produkt erfasst, bestellt man also mehr als ein Produkt werden die Produktvariablen nur einmal fĂŒr dieses Produkt abgefragt.

Bestellvariablen

Bestellvariablen mĂŒssen vor der Anwendung in den Moduleinstellungen des Bestellvariablen Moduls angelegt werden. Anschließend erscheinen sie im Shop direkt unter den Eingaben der Kundendaten.

Produktvariablen

Produktvariablen werden wie die Bestellvariablen in den Moduleinstellungen angelegt. Anschließend mĂŒssen sie noch bei den Produkten aktiviert werden wo sie angezeigt und abgefragt werden sollen.

Die Produktvariablen werden dann standardmĂ€ĂŸig direkt im Produkt abgefragt. Wie das wpShopGermany WordPress Plugin die Produktvariablen abfragt wird hier demonstriert.

Produktattribute

Produktattribute sind einfach erweiterte Eigenschaften die vom Shop Betreiber zu allen Produkten optional angegeben werden können. Diese können dann ĂŒber einen Code der im Backend generiert wird in die Produkttemplates eingebaut werden oder auch optional automatisch integriert werden. Die Produktattribute mĂŒssen im ersten Schritt in den Einstellungen des Moduls definiert werden, anschließend können sie in den Produkten mit Daten gefĂŒllt werden.

Die Ausgabe im Frontend sieht standardmĂ€ĂŸig wie hier aus, wenn die automatische Ausgabe aktiviert ist.

NĂŒtzliche Links zu wpShopGermany:

Verzeichnis mit relativer Pfadstruktur aus PHP heraus packen

Erstellt in Allgemein am 5. September 2012 vom Daschmi

Wer mit dem zip oder gzip Kommando ein Verzeichnis mit PHP packen möchte hat das Problem das die Pfade relative zu dem ausfĂŒhrenden Verzeichnis im Archiv angelegt werden. Auf der Konsole wechselt man einfach mit cd in das entsprechende Verzeichnis, in PHP gibt es dafĂŒr die chdir() Funktion.


chdir($targ_module_dir.’/‘.$m[‚modulname‘]);
exec(‚zip -qrT ./../../‘.$m[‚modulname‘].’_‘.$m[‚version‘].‘.zip wpshopgermany/*‘);