我的问题与代码无关,而更多与Joomla中的配置有关。 这是因为我构建的模块可以在我自己的网站(Joomla 3.4.4 / PHP 5.4.16)上完美运行,但是无法在客户网站(Joomla 3.4.3 / PHP 5.4.44)上显示后端参数。
为了对此进行测试,我创建了一个测试模块,以检查是否设置了来自后端的参数,并返回一条消息,指出是否设置了这些参数。 通过此测试,我发现未在“客户”页面上设置参数。 但是我不知道为什么不设置它们。 我尝试更改代码以获取参数,并就该主题签出了多个站点,但找不到答案。 我感觉这是一个配置问题,想知道是否有人遇到过此问题以及如何解决。
下面列出了该模块的主要文件。
希望有人可以帮我解决这个问题,因为这已经困扰了我好几天了。
埃尔科
Idealmodule.xml文件:
<config>
<fields name="params">
<fieldset name="basic">
<field name="class_sufix" type="text" default="" label="Class sufix" />
<field name="header_text" type="text" default="" label="Header text" />
</fieldset>
</fields>
</config>
Idealmodule.php文件:
<?php
// No direct access
defined('_JEXEC') or die('Restricted access');
// Include the syndicate functions only once
require_once dirname(__FILE__) . '/helper.php';
$module = JModuleHelper::getModule('mod_idealdonatie');
$moduleParams = new JRegistry($module->params);
$test = ModIdealDonatieHelper::getFormData($moduleParams);
require JModuleHelper::getLayoutPath('mod_idealdonatie');
helper.php文件:
<?php
class ModIdealDonatieHelper
{
public static function getFormData($params)
{
$var1 = $params->get('class_sufix');
$var2 = $params->get('header_text');
if ($var1 != NULL) {
$mess = 'class_sufix value : ' . $var1;
} else {
$mess = 'class_sufix is empty';
}
if ($var2 != NULL) {
$mess = $mess . ' header_text value : ' . $var2;
} else {
$mess = $mess . ' header_text is empty';
}
return $mess;
}
}
和default.php
<?php
defined('_JEXEC') or die('Restricted access');
echo $test;
?>
似乎与网站配置有关。