コード例 #1
0
 /**
  * @param array $blockIds
  * @param string $locale
  *
  * @return array
  */
 public function fetchBlocksByIds(array $blockIds, $locale)
 {
     $blockKeys = [];
     foreach ($blockIds as $blockId) {
         $blockKeys[] = $this->keyBuilder->generateKey($blockId, $locale);
     }
     $blocks = $this->storageReader->getMulti($blockKeys);
     $decodedBlocks = [];
     foreach ($blocks as $key => $block) {
         $decodedBlocks[$key] = $this->decodeBlock($block);
     }
     return $decodedBlocks;
 }
コード例 #2
0
ファイル: Catalog.php プロジェクト: spryker/Catalog
 /**
  * @param array $ids
  * @param string|null $indexByKey
  *
  * @return array
  */
 public function getProductDataByIds(array $ids, $indexByKey = null)
 {
     $idKeys = [];
     foreach ($ids as $id) {
         $idKeys[] = $this->productKeyBuilder->generateKey($id, $this->locale);
     }
     $productsFromStorage = $this->storageReader->getMulti($idKeys);
     if ($productsFromStorage === null) {
         return [];
     }
     foreach ($productsFromStorage as $key => $product) {
         $productsFromStorage[$key] = $this->mergeAttributes(json_decode($product, true));
     }
     if ($indexByKey) {
         return $this->mapKeysToValue($indexByKey, $productsFromStorage);
     }
     return $productsFromStorage;
 }
コード例 #3
0
ファイル: StorageTable.php プロジェクト: spryker/Storage
 /**
  * @param \Spryker\Zed\Gui\Communication\Table\TableConfiguration $config
  *
  * @return array
  */
 protected function prepareData(TableConfiguration $config)
 {
     $keys = $this->storageClient->getAllKeys();
     sort($keys);
     $result = [];
     foreach ($keys as $i => $key) {
         $keys[$i] = str_replace('kv:', '', $key);
     }
     $values = $this->storageClient->getMulti($keys);
     $fixedValues = [];
     foreach ($values as $i => $value) {
         $i = str_replace('kv:', '', $i);
         $fixedValues[$i] = $value;
     }
     $values = $fixedValues;
     foreach ($values as $key => $value) {
         $url = Url::generate('/storage/maintenance/key', ['key' => $key]);
         $result[] = ['key' => '<a href="' . $url . '">' . Html::escape($key) . '</a>', 'value' => substr($value, 0, 200)];
     }
     $this->setTotal(count($result));
     return $result;
 }