Joomla 2.5 MVC模型prepareTable函数



在开发MVC组件时,我面临以下问题:在保存default.php中发布的数据之前,如果需要,应该修改一些数据。据我所知,特定模型中受保护的Function prepareTable(&$table)应该满足我的需求。我从一个非常简单的方法开始,如下所示:

protected function prepareTable(&$table){
$table=$this->getTable();
$table->image="HelloWorld";
}

我的期望是,在提交模板后,我表中的一个特定字段现在具有值"HelloWorld",但它不是。

也许,有人可以给我一个如何处理prepareTable()函数的建议?

感谢

如果其他一切都设置正确,则prepareTable(&$table)方法已经将表对象传递到其中。

通常,类中的prepareTable()不会是getTable(),因为您替换了已绑定行数据的$table。通过替换它,您可以有效地与已完成的工作解耦。

我会删除你的方法看起来像:

protected function prepareTable(&$table){
    $table->image="HelloWorld";
}

如果您在Joomla核心文件中查看prepareTable()的最简单实现,那么在com_banners中,您将看到与您的方法非常相似的内容;

/**
 * Prepare and sanitise the table data prior to saving.
 *
 * @param   JTable  A JTable object.
 * @since   1.6
 */
protected function prepareTable(&$table)
{
    $table->name = htmlspecialchars_decode($table->name, ENT_QUOTES);
}

相关内容

  • 没有找到相关文章

最新更新