试图从joomla的列表中获取params

时间:2016-07-15 17:18:50

标签: joomla module

我有一个joomla 3模块。它很棒。我想在管理部分添加参数,然后我可以在tmpl->default.php文件中使用这些参数,但我很难找到如何进行操作。

我的XML文件中有:

<config>
    <fields name="params">
        <fieldset name="basic">
            <field
            name="show_category"
            type="list"
            label="What to display"
            description="What to display"
            default="">
                <option value="0">Day/Time/Event</option>
                <option value="1">Day/Time/Event/Description</option>
            </field>
        </fieldset>
    </fields>
</config>

然后在我的default.php文件中:

<?php defined('_JEXEC') or die;

    $module = JModuleHelper::getModule('mod_calendar_ajax_google');
    $moduleParams = new JRegistry();
    $moduleParams->loadString($module->params);
    $param = $moduleParams->get('show_category', '');

    $dashboardID =  $param['show_category'];

但是没有用。

2 个答案:

答案 0 :(得分:0)

最好不要直接在default.php文件中调用params而不是像你这样调用mod_calendar_ajax_google.php文件中的params

$category = $params->get('show_category','Day/Time/Event');

如果在您的选项中设置了名称,则会提供名称,否则会提供默认值Day/Time/Event

要在default.php文件中调用它,您可以直接调用$ category。希望我能说清楚。

如果你需要直接从joomla的任何地方调用param,你需要删除最后一行。它应该只是这个

$module = JModuleHelper::getModule('mod_calendar_ajax_google');
$moduleParams = new JRegistry();
$moduleParams->loadString($module->params);
$dashboardID = $moduleParams->get('show_category', '');

答案 1 :(得分:0)

实施例: 你有模块“mod_calendar_ajax_google”。然后你需要下一个文件结构:

-mod_calendar_ajax_google.xml

-mod_calendar_ajax_google.php

-helper.php

-tmpl(文件夹)

- 如default.php

代码mod_calendar_ajax_google.php

<?php
defined('_JEXEC') or die;

require_once dirname(__FILE__).'/helper.php';
$data = modCalendarAjaxGoogleHelper::getData($params);

require JModuleHelper::getLayoutPath('mod_calendar_ajax_google', $params->get('layout', 'default'));

代码helper.php

<?php
defined('_JEXEC') or die;

class modCalendarAjaxGoogleHelper {

    public static function getData(&$params) {

        $data = $params->get('show_category');

        return $data;
    }
}

代码default.php

<?php
defined('_JEXEC') or die;

print_r ($data); // <-- YOUR PARAMS