PDA

Zobacz pełną wersję : Virtuemart jedno z pól Sort by nie działa poprawnie



bapraster
18-04-2012, 14:24
Witam na stronie: http://phoenixbeauty.ie/index.php?orderby=product_list&DescOrderBy=ASC&Itemid=55&option=com_virtuemart&page=shop.browse&category_id=16&manufacturer_id=0&keyword=&keyword1=&keyword2=&limit=18&limitstart=0 na stronie katalogowej są widoczne inputboxy z liczbą wyświetlanych produktów na stronę oraz "sort by:". To właśnie pole na dole nie działa poprawnie, zamiast przeładować stronę by była sortowana względem wybranej wartości jedynie odświeża stronę

Początkowo problem dotyczył dolnego pola do wyświetlania konkretnej ilości, po zaznaczeniu ilości np 6 lub 18 nic się nie działo strona nie przeładowywała się.

Znalazłem w pliku browse_pagenav.tpl.php skrypt odpowiedzialny za to i coś pozmieniałem a mianowicie dodałem fragment

<form action="<?php echo $mm_action_url."index.php" ?>" method="get" name="order2" class="orderbyform">z pliku odpowiedzialnego za wyświetlanie tych pól na górze czyli "browse_orderbyform.tpl.php" (oczywiście zamknąłem form).

Plik browse_pagenav.tpl.php pierwotnie wyglądał tak:

<?php if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' );mm_showMyFileName(__FILE__); ?><?php if(!@is_object( $pagenav)) return; ?><!-- BEGIN PAGE NAVIGATION -->
<div class="productsFilter_down"> <div class="sortBy"><?phpif( !empty( $VM_BROWSE_ORDERBY_FIELDS )) { echo $this->fetch( 'browse/includes/browse_orderbyfields.tpl.php');
// This is the toggle button for Descending / Ascending Order// It is wrapped into a JS function with a noscript area to keep it accessibleecho mm_writeWithJS('&nbsp;<input type="hidden" name="DescOrderBy" value="'.$asc_desc[0].'" /><a href="javascript: document.order.DescOrderBy.value=\''.$asc_desc[1].'\'; document.order.submit()"><img src="'. $mosConfig_live_site."/images/M_images/$icon" .'" border="0" alt="'. $VM_LANG->_('PHPSHOP_PARAMETER_SEARCH_'.$asc_desc[0].'ENDING_ORDER') .'" title="'.$VM_LANG->_('PHPSHOP_PARAMETER_SEARCH_'.$asc_desc[0].'ENDING_ORDER') .'" width="12" height="12" /></a>', '<select class="inputbox" name="DescOrderBy"> <option '.$selected[0].' value="DESC">'.$VM_LANG->_('PHPSHOP_PARAMETER_SEARCH_DESCENDING_ORDER').'</option> <option '.$selected[1].' value="ASC">'.$VM_LANG->_('PHPSHOP_PARAMETER_SEARCH_ASCENDING_ORDER').'</option> </select> <input class="button" type="submit" value="'.$VM_LANG->_('PHPSHOP_SUBMIT').'" />');}?> </div> <input type="hidden" name="Itemid" value="<?php echo $Itemid ?>" /> <input type="hidden" name="option" value="com_virtuemart" /> <input type="hidden" name="page" value="shop.browse" /> <input type="hidden" name="category_id" value="<?php echo $category_id ?>" /> <input type="hidden" name="manufacturer_id" value="<?php echo $manufacturer_id ?>" /> <input type="hidden" name="keyword" value="<?php echo $keyword ?>" /> <input type="hidden" name="keyword1" value="<?php echo $keyword1 ?>" /> <input type="hidden" name="keyword2" value="<?php echo $keyword2 ?>" />
<div class="displayHowMany">
<?php echo $VM_LANG->_('PN_DISPLAY_NR') ?><?php $pagenav->writeLimitBox(); ?> <noscript><input type="submit" value="<?php echo $VM_LANG->_('PHPSHOP_SUBMIT') ?>" /></noscript> </div> </div><div class="navyProductList">
<div class="linksProductList"> <?php $pagenav->writePagesLinks( $search_string ); ?> </div> <div class="links2ProductList"> <?php if( $show_limitbox ) { ?> <?php } $pagenav->writePagesCounter(); ?> </div></div><!-- END PAGE NAVIGATION -->

A teraz ma taką postać:

<?php if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' );mm_showMyFileName(__FILE__); ?>
<?php if(!@is_object( $pagenav)) return; ?><!-- BEGIN PAGE NAVIGATION -->
<form action="<?php echo $mm_action_url."index.php" ?>" method="get" name="order2" class="orderbyform"><div class="productsFilter_down"> <div class="sortBy"> <?phpif( !empty( $VM_BROWSE_ORDERBY_FIELDS )) { echo $this->fetch( 'browse/includes/browse_orderbyfields.tpl.php');
// This is the toggle button for Descending / Ascending Order// It is wrapped into a JS function with a noscript area to keep it accessibleecho mm_writeWithJS('&nbsp;<input type="hidden" name="DescOrderBy" value="'.$asc_desc[0].'" /><a href="javascript: document.order.DescOrderBy.value=\''.$asc_desc[1].'\'; document.order.submit()"><img src="'. $mosConfig_live_site."/images/M_images/$icon" .'" border="0" alt="'. $VM_LANG->_('PHPSHOP_PARAMETER_SEARCH_'.$asc_desc[0].'ENDING_ORDER') .'" title="'.$VM_LANG->_('PHPSHOP_PARAMETER_SEARCH_'.$asc_desc[0].'ENDING_ORDER') .'" width="12" height="12" /></a>', '<select class="inputbox" name="DescOrderBy"> <option '.$selected[0].' value="DESC">'.$VM_LANG->_('PHPSHOP_PARAMETER_SEARCH_DESCENDING_ORDER').'</option> <option '.$selected[1].' value="ASC">'.$VM_LANG->_('PHPSHOP_PARAMETER_SEARCH_ASCENDING_ORDER').'</option> </select> <input class="button" type="submit" value="'.$VM_LANG->_('PHPSHOP_SUBMIT').'" />');}?> </div> <input type="hidden" name="Itemid" value="<?php echo $Itemid ?>" /> <input type="hidden" name="option" value="com_virtuemart" /> <input type="hidden" name="page" value="shop.browse" /> <input type="hidden" name="category_id" value="<?php echo $category_id ?>" /> <input type="hidden" name="manufacturer_id" value="<?php echo $manufacturer_id ?>" /> <input type="hidden" name="keyword" value="<?php echo $keyword ?>" /> <input type="hidden" name="keyword1" value="<?php echo $keyword1 ?>" /> <input type="hidden" name="keyword2" value="<?php echo $keyword2 ?>" />
<div class="displayHowMany">
<?php echo $VM_LANG->_('PN_DISPLAY_NR') ?><?php $pagenav->writeLimitBox(); ?> <noscript><input type="submit" value="<?php echo $VM_LANG->_('PHPSHOP_SUBMIT') ?>" /></noscript> </div> </div></form><div class="navyProductList">
<div class="linksProductList"> <?php $pagenav->writePagesLinks( $search_string ); ?> </div> <div class="links2ProductList"> <?php if( $show_limitbox ) { ?> <?php } $pagenav->writePagesCounter(); ?> </div></div><!-- END PAGE NAVIGATION -->


Proszę o pomoc, co mogę zrobić by to działało. Proszę choćby o sugestię lub wskazówki.
Pozdrawiam i dziękuję.