/**
  * Get scope id by code
  *
  * @param Dimension $dimension
  * @return int
  */
 private function getScopeId($dimension)
 {
     if (is_numeric($dimension->getValue())) {
         return $dimension->getValue();
     } else {
         return $this->scopeResolver->getScope($dimension->getValue())->getId();
     }
 }
示例#2
0
 /**
  * @param Dimension $dimension
  * @return string
  */
 private function generateExpression(Dimension $dimension)
 {
     $field = $dimension->getName();
     $value = $dimension->getValue();
     if ('scope' === $field) {
         $field = self::STORE_FIELD_NAME;
         $value = $this->scopeResolver->getScope($value)->getId();
     }
     return $this->conditionManager->generateCondition('search_index.' . $field, '=', $value);
 }
示例#3
0
 /**
  * @param Dimension $dimension
  * @param AdapterInterface $adapter
  * @return string
  */
 private function generateExpression(Dimension $dimension, AdapterInterface $adapter)
 {
     $identifier = $dimension->getName();
     $value = $dimension->getValue();
     if (self::DEFAULT_DIMENSION_NAME === $identifier) {
         $identifier = self::STORE_FIELD_NAME;
         $value = $this->scopeResolver->getScope($value)->getId();
     }
     return sprintf('%s = %s', $adapter->quoteIdentifier($identifier), $adapter->quote($value));
 }