如何获取Joomla组件参数值?

时间:2018-05-21 11:54:46

标签: joomla

===

更新:

我认为现在我只是试图将数据库值放入我的组件php文件中,但同样,似乎很少有文档可以提供一个函数示例,它将返回此信息,就像在Wordpress中一样

所以我有一个名为membersarea_countries的表,它将记录我想要存储值的不同国家/地区。

我已经阅读过有关JTable和其他内容的内容,但我怎样才能简单地从此表中恢复记录?

$row = JTable::getInstance('membersarea_countries', 'Table', array());

但是这会返回0的布尔值。

如果有人可以的话,我真的很感激。

===

我一直在关注几位在线指南解释的内容,这几乎都是一样的,但我似乎永远不会回复我期待的价值观。

在组件中>成员区(我的组件),我有一个表设置允许我输入每个国家的记录,然后在该记录中存储uniqueRef,签名和URL。 (用于GeoIP目的)。

我已经创建了第一条记录,但是当我尝试使用以下代码时,教程建议,我不会在其中看到我的任何字段:

$app = JFactory::getApplication();
$params = $app->getParams();
$uniqueRef = $params->get('uniquereference');
$signature = $params->get('signature');

这是我在NetBeans中看到的全部内容: enter image description here

没有任何关于$ app的信息,也没有我在Joomla后端获得的字段的迹象。

我不明白发生了什么,或者我在这里应该做什么。 Wordpress使用简单的get_option函数。任何人都可以尝试帮助我吗?

1 个答案:

答案 0 :(得分:1)

以下是有关JTable的详细文件的链接 -

https://docs.joomla.org/Using_the_JTable_class

首先,您需要使用以下代码创建JTable实例,并将表文件名更改为membersareacountries.php

JTable::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_membersarea/tables');
$row = JTable::getInstance('Membersareacountries', 'Table', array());

此文件中的JTable类/administrator/components/com_membersarea/tables/membersareacountries.php -

<?php

defined('_JEXEC') or die();

class TableMembersareacountries extends JTable
{
    public function __construct($db)
    {
        parent::__construct( '#__membersarea_countrie', 'id', $db );
    }
}

然后您可以使用load方法获取任何记录。这接受该表的主键值 -

$id = 1;//change id as per your record
$row->load($id);

//read data
echo $row->id;
echo $row->title;
相关问题