簡體   English   中英

在 PrestaShop 前端控制器中獲取模塊的名稱

[英]Get name of module in PrestaShop front controller

在 PrestaShop(特別是 v1.7.5)中,可以通過調用獲取模塊類的實例

$module = Module::getInstanceByName('theModuleName');

在自定義模塊的控制器中。

'theModuleName'可以通過其他設置或變量使用,還是需要硬編碼?

它也應該用作getModuleLink()第一個參數。

您可以通過以下方式訪問模塊名稱(以及模塊類中的其余部分):

$theModuleName = $this->module->name;

以 Prestashop 核心模塊“Cronjobs”為例,您還可以在前端控制器中運行模塊方法,如下所示:

class CronjobsCallbackModuleFrontController extends ModuleFrontController
{
    public function postProcess()
    {
        $this->module->sendCallback();
        die;
    }
}

如果您在 ProductListingFrontController 的子項中工作,則未定義 this->module。 如果您使用 getInstanceByName 調用模塊,您將獲得一個實例以便稍后使用它。 字符串方式在列表控制器中不起作用。

class mymoduleMyControllerModuleFrontController extends ProductListingFrontControllerCore
     {
        public function init()
        {
            parent::init();
    
            $this -> module = Module::getInstanceByName('mymodule');
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM