Hallo alle zusammen, ich möchte gerne lokal auf die API zugreifen. Dafür orientiere ich mich an: http://wiki.shopware.de/Shopware-4-Loka … l_992.html Ich habe dieses Skript erstellt. Sobald ich $client = new Shopware_Controllers_Frontend_ApiTest(); ausführe, wird print “abc”; nicht mehr angezeigt. Wenn ich es nicht ausführe (auskommentiere), wird abc angezeigt. Obwohl ich auf benuterdefinierte Fehlerbehandlung umgestellt habe, kommt keine Fehlermeldung. Stellt Shopware auf eine eigene Fehlerbehandlung um? Wenn ich nämlich extends Enlight_Controller_Action auskommentiere, dann kommt abc wieder. Wo liegt mein Fehler? Ist es vielleicht beabsichtigt? //edit: Ich habe herausgefunden, dass der IE einen 500-Serverfehler auswirft. Somit muss ich irgendetwas falsch konfiguriert haben. Weiß jemand, was? Wie gesagt, wenn ich extends Enlight_Controller_Action auskommentiere, kommt der Fehler nicht. [code]<?php // auf die benutzerdefinierte Fehlerbehandlung umstellen
$alter_error_handler = set_error_handler(“myErrorHandler”);
$client = new Shopware_Controllers_Frontend_ApiTest();
//$article = $client->loadArticleAction(); print “abc”; // Fehlerbehandlungsfunktion function myErrorHandler($fehlercode, $fehlertext, $fehlerdatei, $fehlerzeile) { switch ($fehlercode) { case E_USER_ERROR: echo " Mein FEHLER [$fehlercode] $fehlertext
\n"; echo " Fataler Fehler in Zeile $fehlerzeile in der Datei $fehlerdatei"; echo “, PHP " . PHP_VERSION . " (” . PHP_OS . “)
\n”; echo “Abbruch…
\n”; exit(1); break; case E_USER_WARNING: echo " Meine WARNUNG [$fehlercode] $fehlertext
\n"; break; case E_USER_NOTICE: echo " Mein HINWEIS [$fehlercode] $fehlertext
\n"; break; default: echo “Unbekannter Fehlertyp: [$fehlercode] $fehlertext
\n”; break; } /* Damit die PHP-interne Fehlerbehandlung nicht ausgeführt wird */ return true; } class Shopware_Controllers_Frontend_ApiTest extends Enlight_Controller_Action { protected $articleResource; public function init() { $this->Front()->Plugins()->ViewRenderer()->setNoRender(); $this->initArticleResource(); } public function initArticleResource() { $this->articleResource = \Shopware\Components\Api\Manager::getResource(‘Article’); } public function loadArticleAction() { $article = $this->articleResource->getOne(3); } public function loadArticlesAction() { $articles = $this->articleResource->getList(); } public function loadArticlesWithFilterAction() { $filters = array( ‘name’ => ‘Schmuckbaum’ ); $articles = $this->articleResource->getList(0, 25, $filters); } public function loadArticlesWithOrderByAction() { $orderBy = array(array( ‘property’ => ‘added’, ‘direction’ => ‘DESC’ )); $articles = $this->articleResource->getList(0, 25, array(), $orderBy); } public function createAction() { $params = array( ‘name’ => ‘Neuer Artikel’, ‘taxId’ => 1, ‘mainDetail’ => array( ‘number’ => ‘SW123456’ ) ); $article = $this->articleResource->create($params); } public function updateAction() { $params = array( ‘name’ => ‘Neuer Artikelname’ ); $article = $this->articleResource->update(193, $params); } public function deleteAction() { $article = $this->articleResource->delete(193); } } [/code]