Project: Elasticsearch for XT commerce shop search

The last project was very exciting, It was an extension of the PHP shop system called XT-commerce or. of the derivative SEO-Commerce to search current standards for Zeedee Berlin.

Elasticsearch was on an own Amatzon MWS EC2 instance hosted with 1 GB RAM and 1 CPU (very inexpensive).

The following functionality can be turned off all over again in a central location, If there are problems with Elasticsearch and the old MySQL search back in force.

1. AutoComplete / Suggest function when filling the search

When typing the keyword already suggestions are given in the millisecond range. This way the customer can save much time and also helped with the spelling. suggest_zeedee


Compare the popularity of shop system

For a small to medium-sized German company Shopware is the best solution currently in my opinion, because

  • Shopware is home from spezialisiet on the German E-commerce market and local data protection and tax characteristics
  • rising popularity is according to Google trends
  • under the hood of symfony 2 and Zend 2 and in the backend running ExtJS version 4
  • move the prices also for the professional versions of Magento
  • the System requirements challenging, but modern

DHL return module in PHP

Deutsche Post offers a returned SOAP Web service, You can quickly generate the return labels for packages. These pdf-files using the class can quickly and easily collect and display.

Example call:

$dhlRetoure = new DhlRetoure();
$pdf  = $dhlRetoure->getRetourePdf($surname, $familyname, $street, $streetNumber, $zip, $city);


XTCommerce instant remittance module passes in demolition continues to Cart

When canceled, there will be a redirect to the basket, because the items sold at Mange already 1 was lowered and the product is no longer album are loud database.

Therefore, in the following code must be inserted checkout_payment.php

if($_GET['payment_error'] == 'sofortueberweisung_direct')
/*    require (DIR_WS_CLASSES . 'payment.php');
    $payment_modules = new payment('sofortueberweisung_direct');
    if ($confirmation = $payment_modules->confirmation())


    require_once (DIR_WS_CLASSES.'order.php');
    require_once (DIR_FS_INC.'');
    require_once (DIR_FS_INC.'');
    $order = new order();

    for ($i = 0, $n = sizeof($order->products); $i < $n; $i ++)
         xtc_db_query("update ".TABLE_PRODUCTS." set products_quantity = products_quantity + 1 where products_id = '".xtc_get_prid($order->products[$i]['id'])."'");



// if there is nothing in the customers cart, redirect them to the shopping cart page
if ($_SESSION['cart']->count_contents() < 1)


Button amendment solution for online shops

Until 01.08.2012 Online dealers must, the shop on their online (also) sell products to end customers, the requirements of the so-called Button Solution implement the final page, on the consumer initiates its order.

  1. Enhanced compliance information requirements
  2. Designing the order button

With a disregard for the law change the online retailer is anticompetitive. Incorrect labeling of the button, no contract with the customer.

For Switzerland / Austria, the German draft law also applies, provided that the offer is also to German customers: see Button solution Switzerland.

1. Enhanced compliance information requirements

It must be clear and understandable (clearly highlighted) are presented to the consumer, when

  • distinctive product characteristics
  • Specifies the minimum length of contracts (if present)
  • "The total price of the goods or services including all related price components, and all taxes paid via the employer or, if an exact price can be specified, its calculation basis, enabling the consumer to "a revision of the price
  • Giving all shipping costs and fees (e.g.: Customs): "Optionally additional delivery- Returns and notice of the possibility that other taxes or costs, that are not paid by the entrepreneur or charged to him "
  • the time-period for time-limited offers

The exact text of the law: § 1 Information requirements for distance contracts.

2. The button on the final Verkaufsabschlusseite

The button must be below the point at 1 designated information to be placed and do not occur more than once on the page. Between this information, no other visible items are placed, as e.g.: Checkboxes or input fields.

The button should be labeled following dimensions without further additions:

  • Paid payment order (Sample Marking the legislature)
  • Buy
  • Paid order
  • Payer contract close
  • Confirm order

Unacceptable labels:

  • Submit Order
  • More
  • Order
  • Go for us!
  • Confirm order and be pampered

Example of a successful implementation of the new regulations:

recommended further reading: Lead thread button solution IT law firm in Munich.

This article does not replace legal advice and the lawyer is not liable for the accuracy. I recommend you contact a lawyer IT: Firm Bilk & Wedge.

XT-Commerce is no VAT added Switzerland

For orders from other EU countries calculated XT-Commerce is no correct way of TVA 19% on prices in the shop. The classification, whether a customer is from abroad depends on the Billing Address, not the delivery address. So you could come to de idea, as a German customer to specify just a Swiss billing address and have them delivered the product to Germany.

Wer will ,that non-EU customers will pay the VAT, the following must be in the database cells change:

Table: tax_rates

The corresponding entries of column tax_rate on 19 set, therefore applies to all items, which are subject to VAT, this rate and not partially 0%.