我正在为Joomla 2.5创建自定义组件。我想为详细视图添加一个点击计数器(比如Joomla内容等)
所以我做了一些研究,发现我假设的JTable::hit
函数是我需要的(Joomla docs page here)。但是我非常不清楚我需要在哪里实现它。当我从数据库中检索行时,它是否在某个模型中 - 或者它在视图中的某个位置?建议将不胜感激!
答案 0 :(得分:2)
如果您看看他们是如何在Joomla中完成的,您会看到他们在模型中实现了功能,并从视图中调用该方法。
例如,article.php
模型有
public function hit($pk = 0)
{
$hitcount = JRequest::getInt('hitcount', 1);
if ($hitcount)
{
// Initialise variables.
$pk = (!empty($pk)) ? $pk : (int) $this->getState('article.id');
$db = $this->getDbo();
$db->setQuery(
'UPDATE #__content' .
' SET hits = hits + 1' .
' WHERE id = '.(int) $pk
);
if (!$db->query()) {
$this->setError($db->getErrorMsg());
return false;
}
}
return true;
}
和
view.html.php
已
$model = $this->getModel();
$model->hit();