模块控制器功能索引($setting)中的opencart$setting变量为空

模块控制器功能索引($setting)中的opencart$setting变量为空,opencart,Opencart,创建模块时,我希望使用$setting数组 <?php class ControllerModuleMymodule extends Controller { protected function index($setting) { ... (1.5.X答案) $setting由mymodule\u module值自动填充。如果您查看OC附带的一些预制模块,您可以看到这方面的示例。例如,帐户模块。您将看到可以添加多个模块并定位它们。每个模块的设置都是一个数组,例如帐户模块[0]['l

创建模块时,我希望使用$setting数组

<?php
class ControllerModuleMymodule extends Controller {
  protected function index($setting) {
...
(1.5.X答案)

$setting
mymodule\u module
值自动填充。如果您查看OC附带的一些预制模块,您可以看到这方面的示例。例如,帐户模块。您将看到可以添加多个模块并定位它们。每个模块的设置都是一个数组,例如
帐户模块[0]['layout\u id']
帐户模块[0]['position']
。OpenCart加载
account\u模块设置并取消序列化设置数组,然后通过for循环依次将每个设置传递给控制器。如果查看模块可以位于的某个位置的源,例如
/catalog/controller/common/column_left.php
文件,则可以看到这一点

    $extensions = $this->model_setting_extension->getExtensions('module');      

    foreach ($extensions as $extension) {
        // Loads the settings for all of this extensions modules and unserializes (this is done behind the scenes of the get() method)
        $modules = $this->config->get($extension['code'] . '_module');

        if ($modules) {
            // Loop for each module to be rendered (checking it's valid for this particular position)
            foreach ($modules as $module) {
                if ($module['layout_id'] == $layout_id && $module['position'] == 'column_left' && $module['status']) {
                    $module_data[] = array(
                        'code'       => $extension['code'],
                        'setting'    => $module, // This data is passed to your controller in subsequent code
                        'sort_order' => $module['sort_order']
                    );              
                }
            }
        }
    }

在模块的管理页面上创建一些选项。看看另一个模块的例子。Jay,我的意思是opencart 2.0.0看看示例catalog/module/carousel.php:hm。。对我来说,这是有效的:例如,使用$setting['category\u status',而不是$this->config->get('category\u status')。无法找到如何填充$setting。
$setting
不包括2.0中的常规配置数据,它是布局部分中模块的位置,该位置已移动到可以分配模块的
SYSTEM>DESIGN>layout
下自己的位置