Как называть переменные элементы в Joomla Component - PullRequest
0 голосов
/ 09 апреля 2020

Я пытаюсь создать свой первый компонент в Joomla, но я не могу понять, как он работает на самом деле: D

Я создаю базовый c компонент с помощью "Component Creator". (Я сэкономил много времени ...).

Теперь у меня есть таблица в моей БД, куда я положил свои данные:

id = 1
name = Andrea 
note = Ciao

Теперь я хочу позвонить это со страницы, используя язык Joomla.

На моих моделях / компонентах. php я написал:

class Variabili extends JModelLegacy
{
    function estraivariabili()
    {
        $db =& JFactory::getDBO(); 

        $db->setQuery("SELECT * FROM #__table")->loadObjectList();

        return $value;
    }
}

и на моем default.php я написал

$model=$this->Variabili();

//call the method
$items=$model->estraivariabili();

//print
print_r($items);

Но на странице у меня есть эта ошибка:

0 Call to undefined method Calcolo_imposteViewCalcoloonline::Variabili()

Где ошибка?

Пожалуйста, будьте осторожны со мной, потому что я новичок: D

Заранее спасибо

Андреа

1 Ответ

1 голос
/ 10 апреля 2020

Вы совершили несколько ошибок. Я переписал ваши функции, чтобы вы могли получить его. Давайте посмотрим -

model, это выглядит почти нормально. Просто измените его следующим образом:

class Variabili extends JModelLegacy
{
    // Make the function public
    public function estraivariabili()
    {
        $db = &JFactory::getDBO(); 

        // Put the result into a variable first, then return it.
        $value = $db->setQuery("SELECT * FROM #__table")->loadObjectList();

        return $value;
    }
}

А теперь вызывайте функции model не из default.php, а вместо того, чтобы писать свой код в файле view.html.php.

Внутри display Сначала используйте функцию файла view.html.php, получите экземпляр model с помощью функции getModel().

$model = $this->getModel();

Теперь вы можете получить элементы, используя этот экземпляр класса $model.

$this->items = $model->estraivariabili();

Это принесет вам данные из таблицы базы данных. И вы можете использовать данные в файле default.php.

Просто попробуйте default.php file-

print_r($this->items);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...