Joomla 2.5 在 config.xml 中获取组件配置总是返回 null
请帮我解决这个问题
我正在创建一个组件.我的组件中有一个 config.xml我写了我的自定义 JFormFieldUserCheck在 userCheck.php 我想从 config.xml 加载参数或字段
I am creating a component. There is a config.xml in my component I write my custom JFormFieldUserCheck in userCheck.php I want to load parameter or field from config.xml
我用过
$param = JComponentHelper::getParams('com_my-component');
var_dump($param);
结果是
object(stdClass)#214 (0) { }
但是当我将 com_my-component 更改为 com_content(Joomla 默认组件)时.然后var_dump,结果没问题.
But when I change com_my-component to com_content (Joomla default component). then var_dump, result is fine.
提前致谢
推荐答案
我添加了博客条目的摘录:
插件内部的插件参数
$param = $this->params->get('paramName', 'defaultValue');
插件外部的插件参数
$plugin = &JPluginHelper::getPlugin('exampleType', 'example');
$pluginParams = new JParameter($plugin->params);
$param = $pluginParams->get('paramName', 'defaultValue');
模块内部的模块参数
$param = $params->get('paramName', 'defaultValue');
模块外部的模块参数
$module = &JModuleHelper::getModule('example');
$moduleParams = new JParameter($module->params);
$param = $moduleParams->get('paramName', 'defaultValue');
组件内部的组件参数
$componentParams = &JComponentHelper::getParams('com_example');
$param = $componentParams->get('paramName', 'defaultValue');
来自组件外部的组件参数
Component parameters from outside a component
$componentParams = &JComponentHelper::getParams('com_example');
$param = $componentParams->get('paramName', 'defaultValue');
模板内部的模板参数
$param = $this->params->get('paramName');
模板外部的模板参数
jimport('joomla.filesystem.file');
$mainframe = &JFactory::getApplication();
$params = $mainframe->getParams(JFile::read(JURI::root() .'/templates/template_name/params.ini'));
$param = $params->get('paramName', 'defaultValue');
来自 Joomla 框架之外的包含文件的模板参数
Template parameters from an included file outside the Joomla framework
// Get params.ini relative to the current file location (use your own relative path here)
$paramsFile = dirname(__FILE__) . '/../../params.ini';
// Only continue if the file exists
if(file_exists($paramsFile)) {
// Get contents from params.ini file
$iniString = file_get_contents($paramsFile);
// Escape double quotes in values and then double-quote all values (because Joomla doesn't do that for us..)
$iniQuoted = preg_replace('/=(.*)\n/', "="$1"
", addcslashes($iniString, '"'));
// Parse the ini string to an associative array
$iniParsed = parse_ini_string($iniQuoted);
} else {
$iniParsed = '';
}
// Set params to obtained values or empty array
$params = (!empty($iniParsed)) ? $iniParsed : array();
// Get param value from array
$param = $params['paramName'];
相关文章