*/ /** * Komponent stCrossellingFrontendComponents * * @package stCrossellingPlugin * @subpackage actions */ class stCrossellingFrontendComponents extends sfComponents { /** * Wyświetlanie produktów w koszyku */ public function executeShowProductsInBasket() { $this->smarty = new stSmarty('stCrossellingFrontend'); $this->productSmarty = new stSmarty('stProduct'); $context = sfContext::getInstance(); $products = stBasket::getInstance($context->getUser())->getItems(); $stCrosselling = new stCrosselling(); $this->productConfig = stConfig::getInstance($context, 'stProduct'); $productsIdArray = array(); foreach ($products as $product) $productsIdArray[] = $product->getProductId(); $c = new Criteria(); $c->add(ProductGroupPeer::PRODUCT_GROUP, 'BASKET'); $basketGroup = ProductGroupPeer::doSelectOneCached($c); if (is_object($basketGroup) && ($basketGroup->getProductLimit())) $limit = $basketGroup->getProductLimit(); else $limit = 6; $c = new Criteria(); $c->add(ProductPeer::ID, $stCrosselling->getProductsId($productsIdArray), Criteria::IN); $c->addAscendingOrderByColumn('RAND()'); $this->pager = new sfPropelPager('Product', $limit); $this->pager->setCriteria($c); $this->pager->init(); $this->productSmarty->register_function('st_product_image_tag', 'st_product_smarty_image_tag'); } }