【问题标题】:Ho to call variables items on Joomla Component如何在 Joomla 组件上调用变量项
【发布时间】:2020-04-09 14:20:02
【问题描述】:

我正在尝试在 Joomla 中创建我的第一个组件,但我不明白它是如何工作的:D

我用“组件创建器”创建了一个基本组件。 (我节省了很多时间...)。

现在,我的数据库中有一个表,我在其中放置了我的数据:

id = 1
name = Andrea 
note = Ciao

现在,我想使用 Joomla 语言从页面调用它。

在我的模型/component.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

提前致谢

安德烈亚

【问题讨论】:

    标签: variables joomla


    【解决方案1】:

    你犯了一些错误。我已经重写了你的函数,这样你就可以得到它。让我们看看-

    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;
        }
    }
    

    现在不从default.php 调用model 函数,而不是在view.html.php 文件中编写代码。

    首先在view.html.php文件的display函数内部,使用getModel()函数获取model实例。

    $model = $this->getModel();
    

    现在您可以通过使用此$model 类实例来获取项目。

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

    这将为您带来数据库表中的数据。您可以使用default.php 文件中的数据。

    试试default.php file-

    print_r($this->items);
    

    【讨论】:

    • 首先感谢您的回复!我有这个错误:未定义的属性:Calcolo_imposteViewCalcoloonline::$items
    • 我看不出有什么原因。你能告诉我view.html.php文件的display函数吗?
    • 可能有错误。放在这里太长了。我输入了一个答案。
    • 这条线在哪里? $this->items = $model->estraivariabili();
    • 并删除您的答案并将这些代码放入您的问题中。
    猜你喜欢
    • 2014-08-30
    • 2013-01-19
    • 2011-08-10
    • 1970-01-01
    • 1970-01-01
    • 2011-08-11
    • 2013-04-29
    • 2021-12-01
    • 2020-08-01
    相关资源
    最近更新 更多