2016-05-19 10 views
0

Ich versuche, die Zendesk-API-Bibliothek zu Magento 1.x Enterprise hinzuzufügen. Die standardmäßige Zendesk-Erweiterung für Magento verfügt nicht über die Funktionen, die ich benötige. Es scheint nicht die Funktionen zum Erstellen neuer Tickets aus benutzerdefinierten Webformular enthalten. https://github.com/zendesk/zendesk_api_client_phpHinzufügen der Zendesk-API-Bibliothek zu Magento 1.x Enterprise?

und installiert es in lib-Ordner des Magento:

Ich habe die offizielle Zendesk API PHP-Bibliothek von hier installiert. Wenn ich jedoch versuche, die Bibliothek in andere Dateien aufzunehmen, wird ein Fehler ausgegeben, der besagt, dass die Klasse nicht gefunden wurde. Ich glaube, das liegt daran, dass die Bibliothek nicht den Zend-Namenskonventionen folgt.

Haben Sie Ideen, wie Sie Bibliotheken verwenden können, die nicht der Zend-Namenskonvention in Magento folgen?

Antwort

0

Ja, es verwendet Namespacing, die Magento 1.x nicht unterstützt mit seinem eigenen Autoloader.

Sie können es immer noch verwenden, Sie können sich jedoch nicht darauf verlassen, dass es mit dem Autoloader von Magento geladen wird. Der einfachste Weg wäre wahrscheinlich zu install it with composer, dann sind es Komponisten Autoloader verwendet wird, zum Beispiel:

# File: app/code/local/YourCompany/YourModule/Helper/Data.php 
require_once 'vendor/autoload.php'; # get composer's autoloader 
class YourCompany_YourModule_Helper_Data extends Mage_Core_Helper_Abstract 
{ 
    public function getZenDesk() 
    { 
     $client = new \Zendesk\API\HttpClient($subdomain, $username); 
     // do stuff with it 
    } 
} 

Wenn es nicht vendor/autoload.php nicht automatisch finden Sie können spezifischere, d.h .: sein müssen

require_once Mage::getBaseDir('base') . '/vendor/autoload.php';