Hier ist ein Weg, dies zu tun:
file_get_contents('http://url.com/[...]/controller/action/');
Erledigt! :) :)
Oder Sie können die Anforderung überschreiben (es scheint also, dass sich die Anforderung auf diese Aktion bezieht) und dann einfach aufrufen Mage::run()
.
Im Ernst, hängt viel davon ab, was Sie tatsächlich in dieser Aktion tun. Benötigen Sie Magento instanziiert, benötigen Sie den gesamten Anforderungsfluss und so weiter?
Wenn Sie den Anforderungsfluss usw. nicht benötigen, können Sie Folgendes tun:
Mage::app();
require_once 'path/to/controller.php';
$my_controller = new YourController;
$my_controller->doSomething();
Wenn Sie mehr brauchen, können Sie mit dem Graben beginnen, indem Sie sich die Mage::run()
Funktion ansehen. Ein weiterer guter Ausgangspunkt ist api.php
, wo Sie sehen können, wie Sie eine leichtgewichtige Version von Magento instanziieren. Folgen Sie dann einfach dem Anforderungsablauf.
Betrachten Sie Alans Kommentar: Wenn Ihr Controller eine Instanz von ist Mage_Core_Controller_Varien_Action
(und Ihre Magento-Controller sollten es sein), müssen Sie ein Anforderungsobjekt und ein Antwortobjekt an den Konstruktor senden:
public function __construct(Zend_Controller_Request_Abstract $request, Zend_Controller_Response_Abstract $response, array $invokeArgs = array())
{
$this->_request = $request;
$this->_response= $response;
Mage::app()->getFrontController()->setAction($this);
$this->_construct();
}