Beispiel #1
0
 /**
  * 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;
 }
Beispiel #3
0
 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;
 }
Beispiel #4
0
 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;
 }
 private function setConfig($iniString)
 {
     $file = ClassLoader::getRealPath('cache.block') . '.ini';
     file_put_contents($file, $iniString);
     $this->renderer->getBlockConfiguration(null, $file);
 }
Beispiel #6
0
 private function translatePath($path)
 {
     if (substr($path, 0, 7) == 'custom:') {
         $path = substr($path, 7);
     }
     if (substr($path, 0, 1) == '@') {
         $path = substr($path, 1);
     }
     if ($relative = LiveCartRenderer::getRelativeTemplatePath($path)) {
         $path = $relative;
     }
     return $path;
 }