PrestaShop => Shopware: Column ‚id_product‘ in order clause is ambiguous

Tags: Shopware Kommentieren

Bei der Migration von PrestaShop zu Shopware tritt folgender Fehler auf:

Code : 23000
Line : 234
File : /var/www/vhosts/*****/httpdocs/engine/Library/Zend/Db/Statement/Pdo.php
Error : SQLSTATE[23000]: Integrity constraint violation: 1052 Column ‚id_product‘ in order clause is ambiguous

Verwendet Software und Versionen:

Shopware 5.2.8
Shopware Migration (SwagMigration) 2.5.0
PrestaShop 1.6.0.9

Lösung:

Durch eine kleine Korrektur kann dieser Fehler behoben werden. In Zeile #294 (https://github.com/shopwareLabs/SwagMigration/blob/master/Components/Migration/Profile/Prestashop15.php#L294) der Datei /httpdocs/engine/Shopware/Plugins/Community/Backend/SwagMigration/Components/MigrationProfile/Prestashop15.php muss  der Teil des Queries durch Folgendes ersetzt werden:

Insgesamt sieht der Block dann so aus:

Quellen:

Konfigurationsdateien und Backend-URLs der wichtigsten CMS und Shop-Systeme

Tags: CMS | Gambio | Joomla! | Joomla! / Virtuemart | phpBB | PrestaShop | Redaxo | TYPO3 | xt:Commerce | xt:Commerce VEYTON 4.0 Kommentieren

CMS

CMS Konfigurationsdatei Backend-URL
Conrete5 /config/site.php (?)
Contao /system/config/localconfig.php /contao
Drupal /sites/default/settings.php (?) /user
ProcessWire /site/config.php /wadmin/login/
Joomla! /configuration.php (?) /administrator
phpBB /config.php (?)
phpwcms /config/phpwcms/conf.inc.php  /login.php
Redaxo /redaxo/include/master.inc.php /redaxo
Typo3 4.7 /typo3conf/config.php (?) /typo3
Typo3 6.2 /typo3conf/LocalConfiguration.php /typo3
Typo3 7 /typo3conf/LocalConfiguration.php /typo3
Typolight /typolight
Vanilla /conf/config.php (?)
Website Baker CMS /config.php (?) /admin
WordPress /wp-config.php /wp-admin

Shop-Systeme

CMS Konfigurationsdatei Backend-URL
osCommerce /admin
Oxid E-Shop /config.inc.php (?)
Prestashop /config/settings.inc.php /adminXXXX
XXXX steht dabei für eine zufällige vierstellige Zahl, die automatisch bei der Installation generiert wird. Dies dient der Absicherung des Backends.
 ShopWare /config.php /backend
 xt:commerce 3 / Gambio /admin/includes/configure.php
/includes/configure.php
Der Login erfolgt über das Frontend
xt:commerce VEYTON 4 /conf/config.php /xtAdmin

Langsame Suchfunktion in xt:commerce 3

Tags: Allgemein | Debian (Linux) | MySQL | MySQL-Server | Webserver | xt:Commerce Kommentieren

Ein Kunde hatte das Problem, dass der auf unserem Server installierte xt:commerce 3 teilweise so hohen Datenbank-Load verursachte, dass der MySQL-Server abrauchte und somit den ganzen Server kurzzeitig in einer Nicht-Erreichbarkeit stürzte. Zwar war schon länger ein Update auf eine neue xt:commerce-Version geplant, jedoch befand sich der neue Shop noch in der Entwicklung und es musste kurzfristig eine Lösung erarbeitet werden, da die Ausfälle sich häuften (teilweise bis zu 3x am Tag).

Relativ schnell entpuppte sich die Suchfunktion des xt:commerce als ausschlaggebend, welche bei meinen Tests bei einer Volltextsuche meist zwischen 40 und 50 Sekunden benötigte, dabei den MySQL-Server komplett belastet – nun stelle man sich dies am Tages-Hoch mit hunderten Besuchern vor.

Mit den folgenden Umstellungen in der MySQL-Datenbank lässt sich die Suche durch einfaches Setzen von Indizes stark beschleunigen:

Tabelle „products_description„:

  • products_id
  • language_id
  • products_name
  • products_description (FULLTEXT)
  • products_short_description (FULLTEXT)
  • products_keywords

Tabelle „products_options„:

  • language_id
  • products_options_name

Tabelle „products_attributes„:

  • products_id
  • options_id

Tabelle „products_options_values„:

  • language_id
  • products_options_values_name

Tabelle „specials„:

  • products_id

Wichtig ist, dass die neuen Indexes eine möglichst hohe Kardinalität besitzen (also viele verschiedene Werte), damit eine Performancesteigerung erreicht werden kann.

Quellen

  • http://forums.xt-commerce.com/topic/60364-suchfunktion-sehr-langsam-sessions/
  • http://thomas.eses.name/mysql-indexe-richtig-setzen/

E_DEPRECATED-Fehlermeldungen im xt:commerce ausschalten

Tags: Allgemein | PHP | Programmierung | xt:Commerce Kommentieren

Besonders nach einem Update auf eine aktuelle PHP-Version erscheinen beim alten xt:commerce (z.B. Version 3.0.4) diverse Fehlermeldungen im Error-Log, die gemeinhin auf die veralteten ereg-Funktionen hinweisen, die im veralteten Shop-System an vieler Stelle Verwendung findet. Dies führt auf Dauer zu Gigabyte großen Log-Dateien und belastet den Server unnötig. Beispiel:

[Fri Apr 10 14:22:22 XXXX] [error] [client 213.221.XXX.XXX] PHP Deprecated:  Function eregi() is deprecated in /var/www/XXX/includes/classes/language.php on line 96, referer: http://www.google.de/imgres?imgurlXXX
[Fri Apr 10 14:22:22 XXXX] [error] [client 188.165.XXX.XXX] PHP Deprecated:  Function ereg() is deprecated in/var/www/XXX/includes/application_top.php on line 212
[Fri Apr 10 14:22:22 XXXX] [error] [client 188.165.XXX.XXX] PHP Deprecated:  Function ereg() is deprecated in/var/www/XXX/includes/classes/paypal_checkout.php on line 105

Das Error-Reporting lässt sich in der Datei /includes/application_top.php umstellen. Man ersetze Zeile 35 durch Folgende:

 

Gambio: Shop-Login im Wartungsmodus

Tags: Gambio Kommentieren

Ist der Wartungsmodus im Gambio-Shop einmal aktiviert, besteht leider auch keine offensichtliche Möglichkeit mehr, sich in das Backend einzuloggen.
Dies muss in diesem Fall direkt über die folgende URL geschehen:

https://www.shop-url.de/login_admin.php

Anschließend erscheint der Backend-Login und die Administration des Shops kann fortgeführt, sowie der Wartungsmodus deaktiviert werden.

Gambio: Google Conversion Tracking einrichten

Tags: Gambio | Online-Shops | Webdesign | xt:Commerce Kommentieren

Voraussetzungen:

  • Zugriff auf den Administratoraccount des Gambio-Shopsystems
  • Zugriff auf das Google Analytics-Konto des Kunden

Vorgehensweise:
Der Google-Analytics-Code kann im Gambio-Backen über den Punkt „Gambio-SEO“ / Google Analytics eingebunden werden. Hier dringen darauf achten, unter

_gaq.push(['_setAccount', 'UA-XXXXXXXX-1']);

die Zeile

_gaq.push(['_gat._anonymizeIp']);

einzufügen, da ansonsten die IP ungekürzt an Google übertragen wird und dies gegen die deutschen Datenschutzrichtilinien verstößt. Ein Hinweis im Impressum ist ebenfalls Pflicht!

Im Google-Analytics-Konto kann nun als Ziel

/checkout_success.php
eingegeben werden. Um die Absprungrate auf den einzelnen CheckOut-Schritten zu ermitteln, sollten noch die Schritte 1 bis 3 des Gambio-Checkout-Prozesses als Steps mit aufgenommen werden:

  • Schritt 1: /checkout_shipping.php
  • Schritt 2: /checkout_payment.php
  • Schritt 3: /checkout_confirmation.php

xt:commerce 3: „Ab“ bei Artikelpreisen entfernen

Tags: Online-Shops | Webdesign Kommentieren

In der xtcPrice.php (/includes/classes/), Zeile 287 durch die folgende ersetzen:

Anschließend verschwindet der Textbaustein „Ab“ bei Produkten, die keine Staffelpreise integriert haben.

TOP