/**
  * Extend ListingController Result
  *
  * @param $result
  * @return mixed
  */
 public function extendViewData($result)
 {
     $request = Shopware()->Front()->Request();
     $activePerPage = $this->requestHelper->getPerPage();
     foreach ($result["sPerPage"] as &$singlePerPage) {
         $singlePerPage["link"] .= "&" . RequestAdapter::PARAM_NAME . "=" . $this->requestHelper->getRawActiveOptionIds();
         if ($singlePerPage["markup"]) {
             $activePerPage = $singlePerPage["value"];
         }
     }
     $pages = $result["sPages"];
     $result["sNumberArticles"] = $this->getTotalCount($request);
     $result["sNumberPages"] = ceil($result["sNumberArticles"] / $activePerPage);
     $numbersArray = array();
     for ($i = 1; $i <= $result["sNumberPages"]; $i++) {
         if (!isset($pages['numbers'])) {
             continue;
         }
         for ($j = 0; $j < count($pages["numbers"]); $j++) {
             $numbersArray[$i] = array("markup" => $pages["numbers"][$i]["markup"], "value" => $pages["numbers"][$i]["value"], "link" => $pages["numbers"][$i]["link"] . "&" . RequestAdapter::PARAM_NAME . "=" . $this->requestHelper->getRawActiveOptionIds());
         }
     }
     $pages["numbers"] = $numbersArray;
     if (isset($pages["previous"])) {
         $pages["previous"] .= "&" . RequestAdapter::PARAM_NAME . "=" . $this->requestHelper->getRawActiveOptionIds();
     }
     if (isset($pages["next"])) {
         $pages["next"] .= "&" . RequestAdapter::PARAM_NAME . "=" . $this->requestHelper->getRawActiveOptionIds();
     }
     $result["sPages"] = $pages;
     $result["categoryParams"][RequestAdapter::PARAM_NAME] = $this->requestHelper->getRawActiveOptionIds();
     return $result;
 }
Ejemplo n.º 2
0
 /**
  * Modifies the onGetArticlesByCategoryFilterSql to filter Articles based on the selected options
  *
  * 1. determine if is active
  * 2. extend base query
  *
  * @param \Enlight_Event_EventArgs $args
  * @return string
  */
 public function onGetArticlesByCategoryFilterSql(\Enlight_Event_EventArgs $args)
 {
     /** @var int $categoryId */
     $categoryId = Shopware()->Front()->Request()->sCategory;
     $baseQuery = $args->getReturn();
     if (!$this->requestHelper->hasVariantIds()) {
         return $baseQuery;
     }
     $filterItems = Shopware()->Container()->get('SwagVariantLegacyFilter')->getFilterConditions($categoryId, $this->requestHelper->getRequestedVariantIds());
     /** @var LegacyResponseExtender $legacyResponseExtender */
     $legacyResponseExtender = Shopware()->Container()->get('SwagVariantLegacyResponseExtender');
     return $legacyResponseExtender->fromFilterGroups($filterItems)->extendQuery($baseQuery);
 }
Ejemplo n.º 3
0
 /**
  * @return string
  */
 public function getBaseUrl()
 {
     return $this->requestHelper->getBaseUrl();
 }
 /**
  * @return string
  */
 public function getRemoveUrl()
 {
     return $this->requestHelper->getRemoveUrl($this->getId());
 }