예제 #1
0
 /**
  * Returns the sorting options for given columns
  *
  * @param array $columns
  *
  * @return array
  */
 public function getSortingOptions(array $columns = [])
 {
     $sorting = [];
     foreach ($columns as $column => $directions) {
         foreach ($directions as $direction) {
             $label = sprintf('product.options.order_by.%s.%s', Helper::snake($column), $direction);
             $active = $this->checkSortingIsActive($column, $direction);
             $sorting[] = ['orderBy' => $column, 'orderDir' => $direction, 'label' => $this->translatorHelper->trans($label), 'active' => $active];
         }
     }
     return $sorting;
 }
예제 #2
0
 /**
  * Synchronizes translations to database
  *
  * @param array $mergedTranslations
  */
 protected function syncDatabaseTranslations(array $mergedTranslations)
 {
     foreach ($mergedTranslations as $locale => $data) {
         $flattened = Helper::flattenArrayToDotNotation($data);
         $this->saveDatabaseTranslations($locale, $flattened);
     }
 }
예제 #3
0
 /**
  * Returns event name for particular resource
  *
  * @param string $class
  * @param string $name
  *
  * @return string
  */
 protected function getResourceEventName($class, $name)
 {
     return sprintf('%s.%s', Helper::snake($class), $name);
 }
 /**
  * {@inheritdoc}
  */
 public function createIndex($name)
 {
     $kernelDir = $this->kernel->getRootDir();
     $indexDir = $kernelDir . '/store/lucene/' . Helper::snake($name);
     $this->luceneManager->setIndex($name, $indexDir, 'ZendSearch\\Lucene\\Analysis\\Analyzer\\Common\\Utf8\\CaseInsensitive');
 }
 /**
  * {@inheritdoc}
  */
 public function getAlias()
 {
     $parts = explode('\\', $this->getEntityName());
     $entityName = end($parts);
     return Helper::snake($entityName);
 }