/** * @param \Spryker\Zed\Gui\Communication\Table\TableConfiguration $config * * @return array */ protected function prepareData(TableConfiguration $config) { $query = $this->productCategoryQueryContainer->queryProductsAbstractBySearchTerm(null, $this->locale); $query->setModelAlias('spy_product_abstract'); $queryResults = $this->runQuery($query, $config); $results = []; foreach ($queryResults as $product) { $info = ['id' => $product[SpyProductAbstractTableMap::COL_ID_PRODUCT_ABSTRACT], 'sku' => $product[SpyProductAbstractTableMap::COL_SKU], 'name' => urlencode($product['name'])]; $checkbox_html = sprintf("<input id='all_products_checkbox_%d' class='all-products-checkbox' type='checkbox' data-info='%s'>", $product[SpyProductAbstractTableMap::COL_ID_PRODUCT_ABSTRACT], Json::encode($info)); $results[] = [SpyProductAbstractTableMap::COL_ID_PRODUCT_ABSTRACT => $product[SpyProductAbstractTableMap::COL_ID_PRODUCT_ABSTRACT], SpyProductAbstractTableMap::COL_SKU => $product[SpyProductAbstractTableMap::COL_SKU], SpyProductAbstractLocalizedAttributesTableMap::COL_NAME => $product['name'], self::COL_CHECKBOX => $checkbox_html]; } unset($queryResults); return $results; }
/** * @return string */ public function serialize() { return Json::encode($this->modifiedToArray()); }
/** * @param mixed $given * @param string $expected * * @dataProvider dataProvider * * @return void */ public function testEncode($given, $expected) { $this->assertEquals($expected, Json::encode($given)); }
/** * @param array $navigation * * @return void */ public function setNavigation(array $navigation) { file_put_contents($this->cacheFile, Json::encode($navigation)); }
/** * @param array $productCategory * * @return string */ protected function getOrderHtml(array $productCategory) { $info = ['id' => $productCategory['id_product_abstract']]; return sprintf("<input type='text' value='%d' id='product_category_order_%d' class='product_category_order' size='4' data-info='%s'>", $productCategory['product_order'], $productCategory['id_product_abstract'], Json::encode($info)); }
/** * Checks, that JSON serialization is used in the cache. * * @return void */ public function testCacheShouldNotUseSerialize() { $cacheFile = $this->getCacheFile(); $isEnabled = true; $navigationCache = new NavigationCache($cacheFile, $isEnabled); $navigationData = ['foo' => 'bar']; $navigationCache->setNavigation($navigationData); $rawData = file_get_contents($cacheFile); $this->assertEquals($navigationData, Json::decode($rawData, true)); $this->assertEquals($rawData, Json::encode($navigationData)); }
/** * @return string */ protected function convertToJson() { $config = ['propel' => $this->config]; return Json::encode($config); }