/** * Displays category form (for creating a new category or modifying an existing one) * * @role !category * * @return ActionResponse */ public function form() { ClassLoader::import('application.LiveCartRenderer'); ClassLoader::import('application.model.presentation.CategoryPresentation'); $this->loadLanguageFile('backend/Settings'); $category = Category::getRootNode(); $form = $this->buildForm($category); $response = new ActionResponse("catalogForm", $form); $response->set('themes', array_merge(array(''), LiveCartRenderer::getThemeList())); $listStyles = array(); foreach (array('LIST', 'GRID', 'TABLE') as $style) { $listStyles[$style] = $this->translate($style); } $response->set('listStyles', array_merge(array(''), $listStyles)); $category->getSpecification()->setFormResponse($response, $form); return $response; }
/** * Displays category form (for creating a new category or modifying an existing one) * * @role !category * * @return ActionResponse */ public function form() { ClassLoader::import('application.LiveCartRenderer'); ClassLoader::import('application.model.presentation.CategoryPresentation'); $this->loadLanguageFile('backend/Settings'); $category = Category::getInstanceByID($this->request->get("id"), Category::LOAD_DATA); $form = $this->buildForm($category); $response = new ActionResponse("catalogForm", $form); $categoryArr = $category->toArray(); $form->setData($categoryArr); $response->set("categoryId", $categoryArr['ID']); $set = $category->getRelatedRecordSet('CategoryPresentation', new ARSelectFilter()); if ($set->size()) { $form->setData($set->get(0)->toFlatArray()); } $response->set('themes', array_merge(array(''), LiveCartRenderer::getThemeList())); $listStyles = array(); foreach (array('LIST', 'GRID', 'TABLE') as $style) { $listStyles[$style] = $this->translate($style); } $response->set('listStyles', array_merge(array(''), $listStyles)); $category->getSpecification()->setFormResponse($response, $form); return $response; }
public function basicData() { ClassLoader::import('application.LiveCartRenderer'); ClassLoader::import('application.model.presentation.CategoryPresentation'); $product = Product::getInstanceById($this->request->get('id'), ActiveRecord::LOAD_DATA, array('DefaultImage' => 'ProductImage', 'Manufacturer', 'Category')); $product->loadSpecification(); $response = $this->productForm($product); $response->set('counters', $this->countTabsItems()->getData()); $response->set('themes', array_merge(array(''), LiveCartRenderer::getThemeList())); $set = $product->getRelatedRecordSet('CategoryPresentation', new ARSelectFilter()); if ($set->size()) { $response->get('productForm')->setData($set->get(0)->toArray()); } // pricing $f = new ARSelectFilter(new NotEqualsCond(new ARFieldHandle('Currency', 'isDefault'), true)); $f->setOrder(new ARFieldHandle('Currency', 'position')); $otherCurrencies = array(); foreach (ActiveRecordModel::getRecordSetArray('Currency', $f) as $row) { $otherCurrencies[] = $row['ID']; } $response->set("product", $product->toFlatArray()); $response->set("otherCurrencies", $otherCurrencies); $response->set("baseCurrency", $this->application->getDefaultCurrency()->getID()); $productForm = $response->get('productForm'); // $response->set("pricingForm", $pricingForm); // get user groups $f = new ARSelectFilter(); $f->setOrder(new ARFieldHandle('UserGroup', 'name')); $groups[0] = $this->translate('_all_customers'); foreach (ActiveRecordModel::getRecordSetArray('UserGroup', $f) as $group) { $groups[$group['ID']] = $group['name']; } $groups[''] = ''; $response->set('userGroups', $groups); // all product prices in a separate array $prices = array(); foreach ($product->getRelatedRecordSetArray('ProductPrice', new ARSelectFilter()) as $price) { $prices[$price['currencyID']] = $price; $productForm->set('price_' . $price['currencyID'], $price['price']); $productForm->set('listPrice_' . $price['currencyID'], $price['listPrice']); } $response->set('prices', $prices); if ($this->isQuickEdit == false) { BackendToolbarItem::registerLastViewedProduct($product); } return $response; }
private function productForm($isExisting) { ClassLoader::import('application.LiveCartRenderer'); ClassLoader::import('application.model.presentation.CategoryPresentation'); $response = new BlockResponse(); $response->set('themes', array_merge(array(''), LiveCartRenderer::getThemeList())); $form = $this->buildForm($isExisting); // status values $status = array(0 => $this->translate('_disabled'), 1 => $this->translate('_enabled')); // product types $types = array(Product::TYPE_TANGIBLE => $this->translate('_tangible'), Product::TYPE_DOWNLOADABLE => $this->translate('_intangible'), Product::TYPE_BUNDLE => $this->translate('_bundle'), Product::TYPE_RECURRING => $this->translate('_recurring')); //$product->type->set(substr($this->config->get('DEFAULT_PRODUCT_TYPE'), -1)); $response->set("productForm", $form); $response->set("productTypes", $types); $response->set("productStatuses", $status); $response->set("baseCurrency", $this->application->getDefaultCurrency()->getID()); $response->set("otherCurrencies", $this->application->getCurrencyArray(LiveCart::EXCLUDE_DEFAULT_CURRENCY)); $response->set("shippingClasses", $this->getSelectOptionsFromSet(ShippingClass::getAllClasses())); $response->set("taxClasses", $this->getSelectOptionsFromSet(TaxClass::getAllClasses())); // get user groups $f = new ARSelectFilter(); $f->setOrder(new ARFieldHandle('UserGroup', 'name')); $groups[0] = $this->translate('_all_customers'); foreach (ActiveRecordModel::getRecordSetArray('UserGroup', $f) as $group) { $groups[$group['ID']] = $group['name']; } $groups[''] = ''; $response->set('userGroups', $groups); return $response; }