按照教程如何创建 joomla 2.5 组件,我坚持将参数从 view.html.php 传递给我的模型。
$items = $this->get('TableData');
我的 TableData 模型会期望得到以下参数
public function getTableData($table, $index_column, $columns) {}
按照教程如何创建 joomla 2.5 组件,我坚持将参数从 view.html.php 传递给我的模型。
$items = $this->get('TableData');
我的 TableData 模型会期望得到以下参数
public function getTableData($table, $index_column, $columns) {}
您不能使用视图的 get 方法执行此操作。相反,您必须将模型抓取到视图中并直接在视图中调用该函数:
$model = $this->getModel();
$items = $model->getTableData($table, $index_column, $columns);
或者,您可以在模型中创建不同的入口点,以便能够从状态信息或预设中计算出这些输入选项。许多人会争辩说,这将导致更好的应用程序设计,因为使用我上面的代码将模型逻辑放入视图中。
这只是大卫答案的补充。
因为大多数数据通常来自 POST / GET 方法,根据您的应用程序,您可能需要查看 loadFormData() 是如何从特定 Joomla 组件中获取loadFormData
JModelForm
或被覆盖的。populateState
基本上,模型的状态是使用 JInput 直接从 POST 数据设置的。
此外,虽然这不是规则或其他东西,但我最多可以传递 3 个参数给方法。为了灵活性,我宁愿传递一个可以在不更改方法签名的情况下稍后扩展的数组。