Magento の M2e 拡張機能を使用しています。Ess_M2ePro_Adminhtml_ListingController
ここで、ファイル内のクラスのメソッドを呼び出したいと思いますapp/code/community/Ess/M2ePro/controllers/Adminhtml/ListingController.php
。
しかし、方法はわかりません。クラスにアクセスしてメソッドを使用するためのオブジェクトまたはモデルを作成できません。このコントローラー メソッドを直接呼び出すのは得策ではないかもしれませんが、私の場合 (関連付けられた magento 製品を eBay リストから削除する)、このメソッドを呼び出す必要があります。
一般に、これらのアクションは magento バックエンドから呼び出されます。また、admin_html セッションを作成しようとしましたが、現時点ではそれ以上のアイデアはありません。
これが例です。私は通常のPHPコードで作業していますが、特別なことは何もありません:
class Ess_M2ePro_Adminhtml_ListingController extends Ess_M2ePro_Controller_Adminhtml_MainController
{
//#############################################
protected function _initAction()
{
/** removed **/
}
protected function _isAllowed()
{
return Mage::getSingleton('admin/session')->isAllowed('m2epro/listings/listing');
}
//#############################################
public function indexAction()
{
/** removed **/
}
//#############################################
public function searchAction()
{
/** removed **/
}
public function searchGridAction()
{
/** removed **/
}
public function lockListingNowAction()
{
$listingId = (int)$this->getRequest()->getParam('id');
$component = $this->getRequest()->getParam('component');
$lockItemParams = array(
'id' => $listingId,
'component' => $component
);
$lockItem = Mage::getModel('M2ePro/Listing_LockItem',$lockItemParams);
if (!$lockItem->isExist()) {
$lockItem->create();
}
exit();
}
}
そして、私はこのようなものを探しています:
$test = Mage::getModel('M2ePro/Ess_M2ePro_Adminhtml_ListingController')->lockListingNowAction();