*/ /** * Akcje modułu stAttributeTemplateBackend * * @author Marcin Butlak * * @package stAttributeTemplatePlugin * @subpackage actions */ class stAttributeTemplateBackendActions extends autostAttributeTemplateBackendActions { /** * Wyświetla menadżera atrybutów */ public function executeAttributeManager() { if ($this->getRequest()->getMethod() == sfRequest::POST) { $attribute_template_id = $this->getRequestParameter('attribute_template_id'); $attribute_fields = $this->getRequestParameter('attribute_field'); $product_id = $this->getRequestParameter('product_id'); $c = new Criteria(); $c->add(ProductHasAttributeFieldPeer::PRODUCT_ID, $product_id); ProductHasAttributeFieldPeer::doDelete($c); if (is_array($attribute_fields)) { foreach ($attribute_fields as $id => $value) { $product_has_attribute_field = new ProductHasAttributeField(); $product_has_attribute_field->setValue($value); $product_has_attribute_field->setProductId($product_id); $product_has_attribute_field->setAttributeFieldId($id); $product_has_attribute_field->save(); $this->setFlash('notice','Zmiany zostały zapisane'); } } $this->redirect('product/attributeTemplate?id='.$product_id); } } /** * Wyświetla listę atrybutów */ public function executeAttributeList() { $product_id = $this->getRequestParameter('product_id'); $c = new Criteria(); $baseCriteria = $c->getNewCriterion(AttributeFieldPeer::ATTRIBUTE_TEMPLATE_ID, $this->getRequestParameter('template_id')); $c->add($baseCriteria); $c->addAscendingOrderByColumn(AttributeFieldPeer::RANK); $c->add(ProductHasAttributeFieldPeer::PRODUCT_ID, $product_id); $this->attributes = ProductHasAttributeFieldPeer::doSelectJoinAttributeField($c); $c->clear(); $c->add($baseCriteria); $c->addAscendingOrderByColumn(AttributeFieldPeer::RANK); $this->attribute_fields = AttributeFieldPeer::doSelect($c); } }