News:

Support the VirtueMart project and become a member

Main Menu

Pagination can't leave page 1

Started by csimmo, November 30, 2012, 04:11:45 AM

Previous topic - Next topic

csimmo

I did a search, but couldn't find an answer, but this problem is on the site I am building AND on our 12month old production site. Does anyone know about this issue. Thanks for any help
Joomla 2.5.8/VM2.0.14/PHP 5.4.9 (new site) Joomla 2.5.6/VM2.0.8/PHP 5.3.18 (old site)

csimmo

It would also seem that my site is not using the virtuemart pagination system, but trying to use joomla's if that makes sense. I think this is what is causing the issue. The reason I am thinking this is that the virtumart backend defaults such as setting how many items to a page and turning  off the pagination on the top of the screen don't work either
http://www2.abtsystems.com.au/services/view/category/virtuemart_manufacturer_id/13.html

Does anyone have advice? This is really causing a big headache

csimmo

The template designer has informed me that joomla has changed the class="pagination"  to class="bottom-pagination". How does this effect Virtuemart? In what files will this need to be changed?

csimmo

#3
Can someone help me please? I only have 2 faults left on my new site. I am so frustrated that I am so close, yet so far away!!
Here is the code for my categories/default.php:
<code>
<?php
/**
*
* Show the products in a category
*
* @package    VirtueMart
* @subpackage
* @author RolandD
* @author Max Milbers
* @todo add pagination
* @link http://www.virtuemart.net
* @copyright Copyright (c) 2004 - 2010 VirtueMart Team. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
* VirtueMart is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* @version $Id: default.php 6556 2012-10-17 18:15:30Z kkmediaproduction $
*/

//vmdebug('$this->category',$this->category);
vmdebug ('$this->category ' . $this->category->category_name);
// Check to ensure this file is included in Joomla!
defined ('_JEXEC') or die('Restricted access');
JHTML::_ ('behavior.modal');
/* javascript for list Slide
  Only here for the order list
  can be changed by the template maker
*/
$js = "
jQuery(document).ready(function () {
   jQuery('.orderlistcontainer').hover(
      function() { jQuery(this).find('.orderlist').stop().show()},
      function() { jQuery(this).find('.orderlist').stop().hide()}
   )
});
";

$document = JFactory::getDocument ();
$document->addScriptDeclaration ($js);

/*$edit_link = '';
if(!class_exists('Permissions')) require(JPATH_VM_ADMINISTRATOR.DS.'helpers'.DS.'permissions.php');
if (Permissions::getInstance()->check("admin,storeadmin")) {
   $edit_link = '<a href="'.JURI::root().'index.php?option=com_virtuemart&tmpl=component&view=category&task=edit&virtuemart_category_id='.$this->category->virtuemart_category_id.'">
      '.JHTML::_('image', 'images/M_images/edit.png', JText::_('COM_VIRTUEMART_PRODUCT_FORM_EDIT_PRODUCT'), array('width' => 16, 'height' => 16, 'border' => 0)).'</a>';
}

echo $edit_link; */
if (empty($this->keyword)) {
   ?>
<div class="category_description">
   <?php echo $this->category->category_description; ?>
</div>
<?php
}

/* Show child categories */

if (VmConfig::get ('showCategory', 1) and empty($this->keyword)) {
   if ($this->category->haschildren) {

      // Category and Columns Counter
      $iCol = 1;
      $iCategory = 1;

      // Calculating Categories Per Row
      $categories_per_row = VmConfig::get ('categories_per_row', 3);
      $category_cellwidth = ' width' . floor (100 / $categories_per_row);

      // Separator
      $verticalseparator = " vertical-separator";
      ?>

      <div class="category-view">

      <?php // Start the Output
      if (!empty($this->category->children)) {
         foreach ($this->category->children as $category) {

            // Show the horizontal seperator
            if ($iCol == 1 && $iCategory > $categories_per_row) {
               ?>
               <div class="horizontal-separator"></div>
               <?php
            }

            // this is an indicator wether a row needs to be opened or not
            if ($iCol == 1) {
               ?>
         <div class="row">
         <?php
            }

            // Show the vertical seperator
            if ($iCategory == $categories_per_row or $iCategory % $categories_per_row == 0) {
               $show_vertical_separator = ' ';
            } else {
               $show_vertical_separator = $verticalseparator;
            }

            // Category Link
            $caturl = JRoute::_ ('index.php?option=com_virtuemart&view=category&virtuemart_category_id=' . $category->virtuemart_category_id);

            // Show Category
            ?>
            <div class="category floatleft<?php echo $category_cellwidth . $show_vertical_separator ?>">
               <div class="spacer">
                  <h2>
                     <a href="<?php echo $caturl ?>" title="<?php echo $category->category_name ?>">
                        <?php echo $category->category_name ?>
                        <br/>
                        <?php // if ($category->ids) {
                        echo $category->images[0]->displayMediaThumb ("", FALSE);
                        //} ?>
                     </a>
                  </h2>
               </div>
            </div>
            <?php
            $iCategory++;

            // Do we need to close the current row now?
            if ($iCol == $categories_per_row) {
               ?>
               <div class="clear"></div>
      </div>
         <?php
               $iCol = 1;
            } else {
               $iCol++;
            }
         }
      }
      // Do we need a final closing row tag?
      if ($iCol != 1) {
         ?>
         <div class="clear"></div>
      </div>
   <?php } ?>
   </div>

   <?php
   }
}
?>
<div class="browse-view">
<?php
if (!empty($this->keyword)) {
   ?>
<h3><?php echo $this->keyword; ?></h3>
   <?php
} ?>
<?php if ($this->search !== NULL) { ?>
<!--BEGIN Search Box -->
<form action="<?php echo JRoute::_('index.php?option=com_virtuemart&view=category&search=true&limitstart=0&virtuemart_category_id='.$this->category->virtuemart_category_id ); ?>" method="post">
<div class="virtuemart_search">
<?php
$option  = array('virtuemart_custom_id' =>null, 'custom_title' => JText::_('COM_VIRTUEMART_LIST_EMPTY_OPTION'));
$options = array_merge(array($option), $this->searchcustom->selectList);
echo JText::_('COM_VIRTUEMART_SET_PRODUCT_TYPE').' '.JHTML::_('select.genericlist', $options, 'custom_parent_id', 'class="inputbox"', 'virtuemart_custom_id', 'custom_title', $this->searchcustom->custom_parent_id); ?>
<br />
<?php if ($this->searchcustom->custom_parent_id) {
   foreach ($this->searchcustom->selected as $key =>$custom){
      $option  = array('custom_value' =>null, 'title' => JText::_('COM_VIRTUEMART_LIST_EMPTY_OPTION'));
      $options = array_merge(array($option), $custom->fields[$custom->virtuemart_custom_id]);
      echo JText::_('COM_VIRTUEMART_SET_PRODUCT_TYPE').' '.JHTML::_('select.genericlist', $options, 'customfields['.$custom->virtuemart_custom_id.']', 'class="inputbox"', 'custom_value', 'title', 0);
   }
} ?>
<input style="height:16px;vertical-align :middle;" name="keyword" class="inputbox" type="text" size="20" value="<?php echo $this->keyword ?>" />
<input type="submit" value="<?php echo JText::_('COM_VIRTUEMART_SEARCH') ?>" class="button" onclick="this.form.keyword.focus();"/>
</div>
      <input type="hidden" name="search" value="true" />
      <input type="hidden" name="category" value="0" />
</form>

<!-- End Search Box -->
   <?php } ?>

<?php // Show child categories
if (!empty($this->products)) {
   ?>
<form action="<?php echo JRoute::_('index.php?option=com_virtuemart&view=category&virtuemart_category_id='.$this->category->virtuemart_category_id ); ?>" method="post">
<div class="orderby-displaynumber">
   <div class="width70 floatleft">
      <?php echo $this->orderByList['orderby']; ?>
      <?php echo $this->orderByList['manufacturer']; ?>
   </div>
   <div class="width30 floatright display-number"><?php echo $this->vmPagination->getResultsCounter ();?><br/><?php echo $this->vmPagination->getLimitBox (); ?></div>
   <div class="clear"></div>
</div>
</form>
<!-- end of orderby-displaynumber -->

<h1><?php echo $this->category->category_name; ?></h1>

   <?php
   // Category and Columns Counter
   $iBrowseCol = 1;
   $iBrowseProduct = 1;

   // Calculating Products Per Row
   $BrowseProducts_per_row = $this->perRow;
   $Browsecellwidth = ' width' . floor (100 / $BrowseProducts_per_row);

   // Separator
   $verticalseparator = " vertical-separator";

   // Count products ?? why not just count ($this->products)  ?? note by Max Milbers
   $BrowseTotalProducts = 0;
   foreach ($this->products as $product) {
      $BrowseTotalProducts++;
   }

   // Start the Output
   foreach ($this->products as $product) {

      // Show the horizontal seperator
      if ($iBrowseCol == 1 && $iBrowseProduct > $BrowseProducts_per_row) {
         ?>
      <div class="horizontal-separator"></div>
         <?php
      }

      // this is an indicator wether a row needs to be opened or not
      if ($iBrowseCol == 1) {
         ?>
   <div class="row">
   <?php
      }

      // Show the vertical seperator
      if ($iBrowseProduct == $BrowseProducts_per_row or $iBrowseProduct % $BrowseProducts_per_row == 0) {
         $show_vertical_separator = ' ';
      } else {
         $show_vertical_separator = $verticalseparator;
      }

      // Show Products ?>
      <div class="product floatleft<?php echo $Browsecellwidth . $show_vertical_separator ?>">
         <div class="spacer">
            <div class="center">
                    <a href="<?php echo $product->link; ?>">
               <?php /** @todo make image popup */
               echo $product->images[0]->displayMediaThumb('class="browseProductImage" border="0" title="'.$product->product_name.'" ',false);
               ?>
               </a>
               <h2 class="category-view"><?php echo JHTML::link($product->link, $product->product_name); ?></h2>

               <!-- The "Average Customer Rating" Part -->
               <?php if ($this->showRating) { ?>
               <span class="contentpagetitle"><?php echo JText::_ ('COM_VIRTUEMART_CUSTOMER_RATING') ?>:</span>
               <br/>
               <?php
               // $img_url = JURI::root().VmConfig::get('assets_general_path').'/reviews/'.$product->votes->rating.'.gif';
               // echo JHTML::image($img_url, $product->votes->rating.' '.JText::_('COM_VIRTUEMART_REVIEW_STARS'));
               // echo JText::_('COM_VIRTUEMART_TOTAL_VOTES').": ". $product->votes->allvotes;
               ?>
               <?php } //This section shows the stock level?>
               <?php
               if ( VmConfig::get ('display_stock', 1)) { ?>
               <!--                   if (!VmConfig::get('use_as_catalog') and !(VmConfig::get('stockhandle','none')=='none')){?> -->
               <div class="paddingtop8">
               <span class="vmicon vm2-<?php echo $product->stock->stock_level ?>" title="<?php echo $product->stock->stock_tip ?>"></span>
               <span class="stock-level"><?php echo JText::_ ('COM_VIRTUEMART_STOCK_LEVEL_DISPLAY_TITLE_TIP') ?></span>
               </div>
               <?php } ?>
            

               <?php // Product Short Description
               if (!empty($product->product_s_desc)) {
                  ?>
                  <p class="product_s_desc">
                     <?php echo shopFunctionsF::limitStringByWord ($product->product_s_desc, 40, '...') ?>
                  </p>
                  <?php } ?>

               <div class="product-price marginbottom12" id="productPrice<?php echo $product->virtuemart_product_id ?>">
                  <?php
                  if ($this->show_prices == '1') {
                     if (empty($product->prices['salesPrice']) and VmConfig::get ('askprice', 1) and  !$product->images[0]->file_is_downloadable) {
                        echo JText::_ ('COM_VIRTUEMART_PRODUCT_ASKPRICE');
                     }
                     //todo add config settings
//                     if ($this->showBasePrice) {
//                        echo $this->currency->createPriceDiv ('basePrice', 'COM_VIRTUEMART_PRODUCT_BASEPRICE', $product->prices);
//                        echo $this->currency->createPriceDiv ('basePriceVariant', 'COM_VIRTUEMART_PRODUCT_BASEPRICE_VARIANT', $product->prices);
//                     }
//                     echo $this->currency->createPriceDiv ('variantModification', 'COM_VIRTUEMART_PRODUCT_VARIANT_MOD', $product->prices);
//                     if (round($product->prices['basePriceWithTax'],$this->currency->_priceConfig['salesPrice'][1]) != $product->prices['salesPrice']) {
//                        echo '<span class="price-crossed" >' . $this->currency->createPriceDiv ('basePriceWithTax', 'COM_VIRTUEMART_PRODUCT_BASEPRICE_WITHTAX', $product->prices) . "</span>";
//                     }
//                     if (round($product->prices['salesPriceWithDiscount'],$this->currency->_priceConfig['salesPrice'][1]) != $product->prices['salesPrice']) {
//                        echo $this->currency->createPriceDiv ('salesPriceWithDiscount', 'COM_VIRTUEMART_PRODUCT_SALESPRICE_WITH_DISCOUNT', $product->prices);
//                     }
                     echo $this->currency->createPriceDiv ('salesPrice', '', $product->prices);
//                     echo $this->currency->createPriceDiv ('priceWithoutTax', 'COM_VIRTUEMART_PRODUCT_SALESPRICE_WITHOUT_TAX', $product->prices);
//                     echo $this->currency->createPriceDiv ('discountAmount', 'COM_VIRTUEMART_PRODUCT_DISCOUNT_AMOUNT', $product->prices);
//                     echo $this->currency->createPriceDiv ('taxAmount', 'COM_VIRTUEMART_PRODUCT_TAX_AMOUNT', $product->prices);
//                     $unitPriceDescription = JText::sprintf ('COM_VIRTUEMART_PRODUCT_UNITPRICE', $product->product_unit);
//                     echo $this->currency->createPriceDiv ('unitPrice', $unitPriceDescription, $product->prices);
                  } ?>

               </div>
               
               <p>
               <?php //add to cart button
               include 'addToCartCategory.php'; ?>
               </p>

               <p>

                  <?php // Product Details Button
                  echo JHTML::link ($product->link, JText::_ ('COM_VIRTUEMART_PRODUCT_DETAILS'), array('title' => $product->product_name, 'class' => 'product-details'));
                  ?>
               </p>

            </div>
            <div class="clear"></div>
         </div>
         <!-- end of spacer -->
      </div> <!-- end of product -->
      <?php

      // Do we need to close the current row now?
      if ($iBrowseCol == $BrowseProducts_per_row || $iBrowseProduct == $BrowseTotalProducts) {
         ?>
         <div class="clear"></div>
   </div> <!-- end of row -->
         <?php
         $iBrowseCol = 1;
      } else {
         $iBrowseCol++;
      }

      $iBrowseProduct++;
   } // end of foreach ( $this->products as $product )
   // Do we need a final closing row tag?
   if ($iBrowseCol != 1) {
      ?>
   <div class="clear"></div>

      <?php
   }
   ?>

<div id="bottom-pagination"><?php echo $this->vmPagination->getPagesLinks (); ?><span style="float:right"><?php echo $this->vmPagination->getPagesCounter (); ?></span></div>

   <?php
} elseif ($this->search !== NULL) {
   echo JText::_ ('COM_VIRTUEMART_NO_RESULT') . ($this->keyword ? ' : (' . $this->keyword . ')' : '');
}
?>
</div><!-- end browse-view -->
</code>

csimmo

changing:
<div id="bottom-pagination"><?php echo $this->vmPagination->getPagesLinks (); ?><span style="float:right"><?php echo $this->vmPagination->getPagesCounter (); ?></span></div>
to
<div class="vm-pagination"><?php echo $this->vmPagination->getPagesLinks (); ?><span style="float:right"><?php echo $this->vmPagination->getPagesCounter (); ?></span></div>

Does not correct the problem

bytelord

Production: Joomla 2.5.8 | VM 2.0.14 | PHP 5.3.13
Testing     : Joomla 2.5.8 | VM 2.0.16 | PHP 5.3.8
Testing     : Joomla 2.5.8 |    VM 2.1   | PHP 5.3.8

- Don't Forget to mark thread as solved when it is solved!
- Please do not PM with support questions, use the forum!

csimmo

Thank you so very much!!!
This has solved the issue