designExceptions = $designExceptions; $this->request = $request; $this->config = $config; } /** * Adds a theme key to identifier for a built-in cache if user-agent theme rule is actual * * @param \Magento\Framework\App\PageCache\Identifier $identifier * @param string $result * @return string * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ public function afterGetValue(\Magento\Framework\App\PageCache\Identifier $identifier, $result) { if ($this->config->getType() === \Magento\PageCache\Model\Config::BUILT_IN && $this->config->isEnabled()) { $identifierPrefix = ''; $ruleDesignException = $this->designExceptions->getThemeByRequest($this->request); if ($ruleDesignException !== false) { $identifierPrefix .= 'DESIGN' . '=' . $ruleDesignException . '|'; } if ($runType = $this->request->getServerValue(StoreManager::PARAM_RUN_TYPE)) { $identifierPrefix .= StoreManager::PARAM_RUN_TYPE . '=' . $runType . '|'; } if ($runCode = $this->request->getServerValue(StoreManager::PARAM_RUN_CODE)) { $identifierPrefix .= StoreManager::PARAM_RUN_CODE . '=' . $runCode . '|'; } return $identifierPrefix . $result; } return $result; } }