- Posts: 2696
- Thank you received: 74
pagination ne marche pas
10 years 11 months ago - 10 years 11 months ago #218022
by erickb
pagination ne marche pas was created by erickb
-- HikaShop version -- : 260 [1510211553]
-- Joomla version -- : 344
Bonjour
Dans le listing des produits la pagination ne marche pas du tout j'ai une centaine d'elements et des pages de 24 ;
aucun lien n'est actif , on ne peut pas cliquer sur page 2 , ni sur les chevrons avant ou apres, meme en supprimant toutes mes view
ci-dessous le code genere
-- Joomla version -- : 344
Bonjour
Dans le listing des produits la pagination ne marche pas du tout j'ai une centaine d'elements et des pages de 24 ;
aucun lien n'est actif , on ne peut pas cliquer sur page 2 , ni sur les chevrons avant ou apres, meme en supprimant toutes mes view
ci-dessous le code genere
Code:
<form action="http://localhost/sacapuce_344/53-escarpins-a-talon-femmes-grandes-pointures" method="post" name="adminForm_hk-cat-module-53_53_bottom">
<div class="hikashop_products_pagination hikashop_products_pagination_bottom">
<div class="list-footer">
<div class="limit"><span class="pagination-text">Modèles par pages</span><select id="limit_hk-cat-module-53_53" name="limit_hk-cat-module-53_53" class="chzn-done inputbox" size="1" style="width:70px" onchange="this.form.submit()">
<option value="24" selected="selected">24</option>
<option value="48">48</option>
<option value="72">72</option>
<option value="96">96</option>
<option value="120">120</option>
<option value="0">Tous</option>
</select>
</div><span class="pagenav_start_chevron"><< </span><span class="pagenav pagenav_text"><i class="icon-arrow-first pos-left size-20"></i></span><span class="pagenav_previous_chevron"> < </span><span class="pagenav pagenav_text"><i class="icon-arrow-left pos-left size-20"></i></span> <span class="pagenav">1</span> <a class="pagenav" title="2" onclick="javascript: document.adminForm_hk-cat-module-53_53_bottom.limitstart_hk-cat-module-53_53.value=24; document.adminForm_hk-cat-module-53_53_bottom.submit();return false;">2</a> <a class="pagenav" title="3" onclick="javascript: document.adminForm_hk-cat-module-53_53_bottom.limitstart_hk-cat-module-53_53.value=48; document.adminForm_hk-cat-module-53_53_bottom.submit();return false;">3</a> <a class="pagenav hikashop_next_link" title="<i class='icon-arrow-right pos-right size-20'></i>" onclick="javascript: document.adminForm_hk-cat-module-53_53_bottom.limitstart_hk-cat-module-53_53.value=24; document.adminForm_hk-cat-module-53_53_bottom.submit();return false;"><i class="icon-arrow-right pos-right size-20"></i></a><a class="pagenav_next_chevron" onclick="javascript: document.adminForm_hk-cat-module-53_53_bottom.limitstart_hk-cat-module-53_53.value=24; document.adminForm_hk-cat-module-53_53_bottom.submit();return false;"> > </a> <a class="pagenav hikashop_end_link" title="<i class='icon-arrow-last pos-right size-20'></i>" onclick="javascript: document.adminForm_hk-cat-module-53_53_bottom.limitstart_hk-cat-module-53_53.value=48; document.adminForm_hk-cat-module-53_53_bottom.submit();return false;"><i class="icon-arrow-last pos-right size-20"></i></a><a class="pagenav_end_chevron" onclick="javascript: document.adminForm_hk-cat-module-53_53_bottom.limitstart_hk-cat-module-53_53.value=48; document.adminForm_hk-cat-module-53_53_bottom.submit();return false;"> >> </a>
<div class="counter">Page 1 sur 3</div>
<input type="hidden" name="limitstart_hk-cat-module-53_53" value="0">
</div> <span class="hikashop_results_counter">
Résultats 1 à 24 sur 68</span>
</div>
<input type="hidden" name="filter_order_hk-cat-module-53_53" value="b.product_ordering">
<input type="hidden" name="filter_order_Dir_hk-cat-module-53_53" value="ASC">
<input type="hidden" name="ccf4b2701cc96d3ac8d3cb86f54d55c8" value="1"> </form>
Last edit: 10 years 11 months ago by erickb.
Please Log in or Create an account to join the conversation.
10 years 11 months ago #218080
by Xavier
Replied by Xavier on topic pagination ne marche pas
Bonjour,
Le soucis proviens du nommage, en effet il y a des tirets dans le nom "hk-cat-module-53" ce qui va provoquer une erreur javascript. Donc il faut soir renommer, soit remplacer le contenu du fichier "administrator/components/com_hikashop/helpers/pagination.php" par:
Le soucis proviens du nommage, en effet il y a des tirets dans le nom "hk-cat-module-53" ce qui va provoquer une erreur javascript. Donc il faut soir renommer, soit remplacer le contenu du fichier "administrator/components/com_hikashop/helpers/pagination.php" par:
Code:
<?php
jimport('joomla.html.pagination');
class hikashopBridgePaginationHelper extends JPagination {
var $hikaSuffix='';
var $form = '';
function getPagesLinks(){
$app = JFactory::getApplication();
$lang = JFactory::getLanguage();
$lang->load('lib_joomla');
$data = $this->_buildDataObject();
$list = array();
$itemOverride = false;
$listOverride = false;
$chromePath = JPATH_THEMES.DS.$app->getTemplate().DS.'html'.DS.'pagination.php';
if (file_exists($chromePath)){
require_once ($chromePath);
if (function_exists('pagination_list_render')) {
$listOverride = true;
if(HIKASHOP_J30 && $app->isAdmin())
$itemOverride = true;
}
}
// Build the select list
if ($data->all->base !== null) {
$list['all']['active'] = true;
$list['all']['data'] = ($itemOverride) ? pagination_item_active($data->all) : $this->_item_active($data->all);
} else {
$list['all']['active'] = false;
$list['all']['data'] = ($itemOverride) ? pagination_item_inactive($data->all) : $this->_item_inactive($data->all);
}
$data->start->start = true;
if ($data->start->base !== null) {
$list['start']['active'] = true;
$list['start']['data'] = ($itemOverride) ? pagination_item_active($data->start) : $this->_item_active($data->start);
$list['start']['base'] = $data->start->base;
} else {
$list['start']['active'] = false;
$list['start']['data'] = ($itemOverride) ? pagination_item_inactive($data->start) : $this->_item_inactive($data->start);
}
$data->previous->previous = true;
if ($data->previous->base !== null) {
$list['previous']['active'] = true;
$list['previous']['data'] = ($itemOverride) ? pagination_item_active($data->previous) : $this->_item_active($data->previous);
$list['previous']['base'] = $data->previous->base;
} else {
$list['previous']['active'] = false;
$list['previous']['data'] = ($itemOverride) ? pagination_item_inactive($data->previous) : $this->_item_inactive($data->previous);
}
$list['pages'] = array(); //make sure it exists
foreach ($data->pages as $i => $page)
{
if ($page->base !== null) {
$list['pages'][$i]['active'] = true;
$list['pages'][$i]['data'] = ($itemOverride) ? pagination_item_active($page) : $this->_item_active($page);
} else {
$list['pages'][$i]['active'] = false;
$list['pages'][$i]['data'] = ($itemOverride) ? pagination_item_inactive($page) : $this->_item_inactive($page);
}
}
$data->next->next = true;
if ($data->next->base !== null) {
$list['next']['active'] = true;
$list['next']['data'] = ($itemOverride) ? pagination_item_active($data->next) : $this->_item_active($data->next);
$list['next']['base'] = $data->next->base;
} else {
$list['next']['active'] = false;
$list['next']['data'] = ($itemOverride) ? pagination_item_inactive($data->next) : $this->_item_inactive($data->next);
}
$data->end->end = true;
if ($data->end->base !== null) {
$list['end']['active'] = true;
$list['end']['data'] = ($itemOverride) ? pagination_item_active($data->end) : $this->_item_active($data->end);
$list['end']['base'] = $data->end->base;
} else {
$list['end']['active'] = false;
$list['end']['data'] = ($itemOverride) ? pagination_item_inactive($data->end) : $this->_item_inactive($data->end);
}
if($this->total > $this->limit){
return ($listOverride) ? pagination_list_render($list) : $this->_list_render($list);
}
else{
return '';
}
}
function _list_render($list){
// Initialize variables
$html = null;
// Reverse output rendering for right-to-left display
if(isset($list['start']['base']))
$html .= "<a class=\"pagenav_start_chevron\" onclick=\"javascript: var f = document.forms['adminForm".$this->hikaSuffix.$this->form."']; f.limitstart".$this->hikaSuffix.".value=".$list['start']['base']."; f.submit();return false;\"> << </a>";
else
$html .= '<span class="pagenav_start_chevron"><< </span>';
$html .= $list['start']['data'];
if(isset($list['previous']['base']))
$html .= "<a class=\"pagenav_previous_chevron\" onclick=\"javascript: var f = document.forms['adminForm".$this->hikaSuffix.$this->form."']; f.limitstart".$this->hikaSuffix.".value=".$list['previous']['base']."; f.submit();return false;\"> < </a>";
else
$html .= '<span class="pagenav_previous_chevron"> < </span>';
$html .= $list['previous']['data'];
foreach( $list['pages'] as $page ) {
$html .= ' '.$page['data'];
}
$html .= ' '. $list['next']['data'];
if(isset($list['next']['base']))
$html .= "<a class=\"pagenav_next_chevron\" onclick=\"javascript: var f = document.forms['adminForm".$this->hikaSuffix.$this->form."']; f.limitstart".$this->hikaSuffix.".value=".$list['next']['base']."; f.submit();return false;\"> > </a>";
else
$html .= '<span class="pagenav_next_chevron"> ></span>';
$html .= ' '. $list['end']['data'];
if(isset($list['end']['base']))
$html .= "<a class=\"pagenav_end_chevron\" onclick=\"javascript: var f = document.forms['adminForm".$this->hikaSuffix.$this->form."']; f.limitstart".$this->hikaSuffix.".value=".$list['end']['base']."; f.submit();return false;\"> >> </a>";
else
$html .= '<span class="pagenav_end_chevron"> >></span>';
return $html;
}
function _list_footer($list){
$html = '<div class="list-footer">'."\n";
if(version_compare(JVERSION,'1.6','>=')){
$display = JText::_('JGLOBAL_DISPLAY_NUM');
}else{
$display = JText::_('DISPLAY NUM');
}
$html .= "\n<div class=\"limit\">".$display.$list['limitfield']."</div>";
$html .= $list['pageslinks'];
$html .= "\n<div class=\"counter\">".$list['pagescounter']."</div>";
$html .= "\n<input type=\"hidden\" name=\"limitstart".$this->hikaSuffix."\" value=\"".$list['limitstart']."\" />";
$html .= "\n</div>";
return $html;
}
function getListFooter($minimum=20){
$list = array();
$list['limit'] = $this->limit;
$list['limitstart'] = $this->limitstart;
$list['total'] = $this->total;
$list['limitfield'] = $this->getLimitBox($minimum);
$list['pagescounter'] = $this->getPagesCounter();
$list['pageslinks'] = $this->getPagesLinks();
if(HIKASHOP_J30) {
if(empty($this->prefix))
$this->prefix = '';
$list['prefix'] = $this->prefix;
if(function_exists('pagination_list_footer')) {
$ret = pagination_list_footer($list);
if(strpos($ret, $list['limitfield']) === false) {
$display = JText::_('JGLOBAL_DISPLAY_NUM');
$ret = "\n<div class=\"limit\">".$display.$list['limitfield'] ."</div>" . $ret;
}
if(strpos($ret, 'name="limitstart'.$this->hikaSuffix.'"') === false)
$ret .= "<input type=\"hidden\" name=\"limitstart".$this->hikaSuffix."\" value=\"".$list['limitstart']."\" />";
if(strpos($ret, 'class="list-footer"') === false) {
$ret = '<div class="list-footer">'."\n".$ret."\n</div>";
}
return $ret;
}
}
return $this->_list_footer($list);
}
function getLimitBox($minimum=20){
// Initialize variables
$limits = array ();
//$limits[] = JHTML::_('select.option', (string)$this->limit);
// Make the option list
for ($i = $minimum; $i <= $minimum*5; $i += $minimum) {
$limits[] = JHTML::_('select.option', $i);
}
$config = hikashop_config();
if($config->get('pagination_viewall', 1))
$limits[] = JHTML::_('select.option', '0', JText::_('HIKA_ALL'));
if(version_compare(JVERSION,'3.0','<')){
$viewall = $this->_viewall;
} else {
$viewall = @$this->viewall;
}
return JHTML::_('select.genericlist', $limits, 'limit'.$this->hikaSuffix, 'class="chzn-done inputbox" size="1" style="width:70px" onchange="this.form.submit()"', 'value', 'text', $viewall ? 0 : $this->limit);
}
}
if(HIKASHOP_J30){
class hikashopPaginationHelper extends hikashopBridgePaginationHelper{
function _item_active(JPaginationObject $item){
$class = 'pagenav';
$specials = array('start','end','previous','next');
foreach($specials as $special){
if(!empty($item->$special)){
$class.=' hikashop_'.$special.'_link';
}
}
if($item->base>0)
return "<a class=\"".$class."\" title=\"".$item->text."\" onclick=\"javascript: var f = document.forms['adminForm".$this->hikaSuffix.$this->form."']; f.limitstart".$this->hikaSuffix.".value=".$item->base."; f.submit();return false;\">".$item->text."</a>";
else
return "<a class=\"".$class."\" title=\"".$item->text."\" onclick=\"javascript: var f = document.forms['adminForm".$this->hikaSuffix.$this->form."']; f.limitstart".$this->hikaSuffix.".value=0; f.submit();return false;\">".$item->text."</a>";
}
function _item_inactive(JPaginationObject $item){
$mainframe = JFactory::getApplication();
if ($mainframe->isAdmin()) {
return "<span>".$item->text."</span>";
} else {
$class = 'pagenav';
if(!is_numeric($item->text)){
$class .= ' pagenav_text';
}
return '<span class="'.$class.'">'.$item->text."</span>";
}
}
}
}else{
class hikashopPaginationHelper extends hikashopBridgePaginationHelper{
function _item_active(&$item){
$class = 'pagenav';
$specials = array('start','end','previous','next');
foreach($specials as $special){
if(!empty($item->$special)){
$class.=' hikashop_'.$special.'_link';
}
}
if($item->base>0)
return "<a class=\"".$class."\" title=\"".$item->text."\" onclick=\"javascript: var f = document.forms['adminForm".$this->hikaSuffix.$this->form."']; f.limitstart".$this->hikaSuffix.".value=".$item->base."; f.submit();return false;\">".$item->text."</a>";
else
return "<a class=\"".$class."\" title=\"".$item->text."\" onclick=\"javascript: var f = document.forms['adminForm".$this->hikaSuffix.$this->form."']; f.limitstart".$this->hikaSuffix.".value=0; f.submit();return false;\">".$item->text."</a>";
}
function _item_inactive(&$item){
$mainframe = JFactory::getApplication();
if ($mainframe->isAdmin()) {
return "<span>".$item->text."</span>";
} else {
$class = 'pagenav';
if(!is_numeric($item->text)){
$class .= ' pagenav_text';
}
return '<span class="'.$class.'">'.$item->text."</span>";
}
}
}
}
The following user(s) said Thank You: erickb
Please Log in or Create an account to join the conversation.
10 years 11 months ago #218155
by erickb
Replied by erickb on topic pagination ne marche pas
j'ai retire tous les - et ca marche mais ce serait bien de prevoir ca dans le fichier helpers/pagination.php
merci
merci
Please Log in or Create an account to join the conversation.
10 years 11 months ago #218162
by Xavier
Replied by Xavier on topic pagination ne marche pas
Bonjour,
C'est justement ce que fait le code donné dans mon post précédent, il permet de faire fonctionner la pagination malgré les tirets.
Cependant, il se peut que ces tirets créent d'autres soucis dans d'autres endroits, donc il est préférable de ne pas en mettre pour le moment.
C'est justement ce que fait le code donné dans mon post précédent, il permet de faire fonctionner la pagination malgré les tirets.
Cependant, il se peut que ces tirets créent d'autres soucis dans d'autres endroits, donc il est préférable de ne pas en mettre pour le moment.
Please Log in or Create an account to join the conversation.
10 years 11 months ago #218224
by erickb
Replied by erickb on topic pagination ne marche pas
j'ai renomme mn hk-cat-module-53 en hkcatmodule53
merci
merci
Please Log in or Create an account to join the conversation.
Time to create page: 0.163 seconds