Как я могу получить значения параметров компонента Joomla? - PullRequest
0 голосов
/ 21 мая 2018

===

ОБНОВЛЕНИЕ:

Я думаю, что сейчас я буквально просто пытаюсь получить значение базы данных в мои php-файлы компонентов, но опять же, похоже, очень мало документации, котораяМожно привести пример функции, которая будет возвращать эту информацию, как в Wordpress.

Итак, у меня есть таблица membersarea_countries, в которой будут храниться записи о разных странах, для которых я хочу сохранить значения.

Я читал о JTable и других вещах, но как я могу просто вернуть записи из этой таблицы?

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

Но это возвращает логическое значение 0.

I 'Буду очень признателен за помощь, если кто-нибудь сможет.

===

Я следую тому, что объясняют несколько онлайн-гидов, и все это в значительной степени одно и то же, но я никогда не возвращаюсьожидаемые значения.

В разделе «Компоненты»> «Область пользователей» (мой компонент) у меня есть таблица, позволяющая мне вводить записи для каждой страны, а затем сохранять 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 голосов
/ 22 мая 2018

Ниже приведена ссылка на подробный документ о 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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...