如何获取组件参数?

2022-08-30 13:51:22

我在这里有一个问题,只是无法解决它:-/

我正在开发一个带有后端的Joomla组件。在后端,我设置了一个参数,即 ,但我无法在视图中访问它们。我总是得到(当我转储时)。似乎不允许我访问该对象。dashboardIddata:protectedparams

这是:default.xml

<?xml version="1.0" encoding="utf-8"?>
<metadata>
    <layout title="Dashboard">
        <message>
            <![CDATA[dashboard LAYOUT DESCRIPTION]]>
        </message>
    </layout>
    <fields name="params">
        <fieldset name="params">
            <field
                name="dashboardId" 
                type="text" 
                label="Dashboard ID"
                description="com_dashboard_desc"
                default="1"
            >   
            </field>
        </fieldset>
    </fields>
</metadata>

现在,在 I 尝试访问参数中,如下所示:view.html.php

$app = &JFactory::getApplication();
$params = JComponentHelper::getParams('com_dashboard');
$dashboardId = $params->get('dashboardId');
var_dump($dashboardId);

当我这样做时,我得到,但当我倾倒时,我可以看到var_dump($dashboardId);NULL$appdashboardID

每一个帮助将不胜感激!谢谢


答案 1

有一种更简单的方法。第一个导入Joomla组件助手:

jimport('joomla.application.component.helper'); // not required in Joomla 3.x

然后检索所需的任何属性,如下所示:

$params = JComponentHelper::getParams('com_dashboard');
$dashboardID = $params->get('dashboardID');

问候。


答案 2
$app = JFactory::getApplication('site');
$componentParams = $app->getParams('com_example');
$param = $componentParams->get('paramName', defaultValue);

推荐