Просмотр исходного кода

#3692 Error in pagination on search results page

Alex Trofimov 4 лет назад
Родитель
Сommit
297abdc9ad
2 измененных файлов с 12 добавлено и 2 удалено
  1. 8 0
      inc/classes/BxDolCategory.php
  2. 4 2
      inc/classes/BxDolSearch.php

+ 8 - 0
inc/classes/BxDolCategory.php

@@ -93,6 +93,14 @@ class BxDolCategory extends BxDolFactory implements iBxDolFactoryObject
         return $this->_sObject;
     }
 
+    /**
+     * Get search object associated with category object
+     */
+    public function getSearchObject()
+    {
+        return $this->_aObject['search_object'];
+    }
+
     /**
      * Set condition for search results object for category object
      * @param $oSearchResult search results object

+ 4 - 2
inc/classes/BxDolSearch.php

@@ -813,8 +813,10 @@ class BxDolSearchResult implements iBxDolReplaceable
         // category
         if ($this->_sCategoryObject){
             if(($o = BxDolCategory::getObjectInstance($this->_sCategoryObject)) && $this->_bSingleSearch) {
-                unset($this->aCurrent['restriction']['keyword']);
-                $o->setSearchCondition($this, $sKeyword);
+                if ($this->aCurrent['name'] == $o->getSearchObject()) {
+                    unset($this->aCurrent['restriction']['keyword']);
+                    $o->setSearchCondition($this, $sKeyword);
+                }
             }
             if ($this->_sCategoryObject == 'multi'){
                 unset($this->aCurrent['restriction']['keyword']);