我有一个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'];
但是没有用。
答案 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