[英]Joomla pagination is not working in back end (administrator)
我在前端和后端使用了相同的代码(如下),但是分页在管理端不起作用。
==================== MODEL = PART ===========================
defined('_JEXEC') or die;
jimport('joomla.application.component.modellist');
class CiieModelOrders extends JModelList
{
public function getItems()
{
// Invoke the parent getItems method to get the main list
$items = parent::getItems();
return $items;
}
protected function getListQuery()
{
$db = $this->getDbo();
$query = $db->getQuery(true);
$query->select('title');
$query->from('q2b7v_menu');
return $query;
}
}
==================== VIEW = PART ===========================
defined('_JEXEC') or die;
jimport('joomla.application.component.view');
class CiieViewOrders extends JView {
protected $state;
protected $item;
protected $form;
protected $params;
public function display($tpl = null) {
$items = $this->get('Items');
$pagination = $this->get('Pagination');
$this->items = $items;
$this->pagination = $pagination;
parent::display($tpl);
}
}
================== TEMPLATE = PART =========================
<?php
JHtml::_('behavior.keepalive');
JHtml::_('behavior.tooltip');
JHtml::_('behavior.formvalidation');
//Load admin language file
$lang = JFactory::getLanguage();
$lang->load('com_ciie', JPATH_ADMINISTRATOR);
?>
<div>
<table>
<?php
foreach($this->items as $item){
echo "<tr><td>".$item->title."</td></tr>";
}
?>
</table>
<?php echo $this->pagination->getListFooter(); ?>
</div>
在前端(站点侧)工作正常。 会话输出-> [orders] => stdClass Object ( [ordercol] => [limitstart] => 0 )
链接html / url(用于下一个按钮)-> <a title="Next" href="/NewJoomla/index.php/component/ciie/?view=other&start=20" class="pagenav">Next</a>
我在管理员端(后端)放置了相同的代码,它显示了所有分页按钮和所有内容。 但是按钮根本不起作用。 它们简单地将我带到页面顶部。 当我检查链接时(例如“下一个”按钮),我看到以下内容:
<a href="#" title="Next" onclick="document.adminForm.limitstart.value=20; Joomla.submitform();return false;">Next</a>
(如您所见,href属性值为空(#)。)
会话输出-> [orders] => stdClass Object ( [ordercol] => )
(这里的'limitstart'值根本不存在。
我也在不同的新Joomla安装中尝试过此方法,但是相同的问题再次出现。
有什么我想念的吗?
终于我整理了! 这是一个愚蠢的错误!
在模板中,我没有将列表内容放在<form>
标记内。 getListFooter()函数显示分页按钮,但是单击该操作不会在任何地方提交。 我纠正了如下所示的代码,它可以正常工作。
========== TEMPLATE = PART ====================
...
<div>
<form action="<?php echo JRoute::_('index.php?option=com_ciie&view=orders'); ?>" method="post" name="adminForm">
<table>
<?php
foreach($this->items as $item){
echo "<tr><td>".$item->title."</td></tr>";
}
?>
</table>
<?php echo $this->pagination->getListFooter(); ?>
</form>
</div>
谢谢你们。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.