Вход Регистрация
Файл: mg-core/controllers/product.php
Строк: 71
<?php

/**
 * Контроллер Product
 *
 * Класс Controllers_Product обрабатывает действия пользователей на странице товара.
 * - Пересчитывает стоимость товара.
 * - Подготавливает форму для вариантов товара.
 *
 * @author Авдеев Марк <mark-avdeev@mail.ru>
 * @package moguta.cms
 * @subpackage Controller
 */
class Controllers_Product extends BaseController {

  function 
__construct() {
   
    
$model = new Models_Product;

    
// Требуется только пересчет цены товара.
    
if (!empty($_REQUEST['calcPrice'])) {
      
$model->calcPrice();
      exit;
    }

    
$product Storage::get(md5('ControllersProduct'.URL::getUrl()));
    if (
$product == null) {
      
$settings MG::get('settings');
      
$product $model->getProduct(URL::getQueryParametr('id'));
      
$product['meta_title'] = $product['meta_title'] ? $product['meta_title'] : $product['title'];
      
$product['currency'] = $settings['currency'];
      
$blockVariants $model->getBlockVariants($product['id']);
      
$blockedProp $model->noPrintProperty();

      
$propertyFormData $model->createPropertyForm($param = array(
        
'id' => $product['id'],
        
'maxCount' => $product['count'],
        
'productUserFields' => $product['thisUserFields'],
        
'action' => "/catalog",
        
'method' => "POST",
        
'ajax' => true,
        
'blockedProp' => $blockedProp,
        
'noneAmount' => false,
        
'titleBtn' => "В корзину",
        
'blockVariants' => $blockVariants
      
));

      
// Легкая форма без характеристик.   
      
$liteFormData $model->createPropertyForm($param = array(
        
'id' => $product['id'],
        
'maxCount' => $product['count'],
        
'productUserFields' => null,
        
'action' => "/catalog",
        
'method' => "POST",
        
'ajax' => true,
        
'blockedProp' => $blockedProp,
        
'noneAmount' => false,
        
'titleBtn' => "В корзину",
        
'blockVariants' => $blockVariants
      
));

      
$product['price']+=$propertyFormData['marginPrice'];
      
$currencyRate MG::getSetting('currencyRate');      
      
$currencyShopIso MG::getSetting('currencyShopIso');      
      
$product['currency_iso'] = $product['currency_iso']?$product['currency_iso']:$currencyShopIso;
      
$product['old_price'] = $product['old_price']*$currencyRate[$product['currency_iso']];
      
$product['old_price'] = $product['old_price']? MG::priceCourse($product['old_price']):0;
      
$product['price'] = MG::priceCourse($product['price_course']); 
      
      
$product['propertyForm'] = $propertyFormData['html'];
      
$product['propertyNodummy'] = $propertyFormData['propertyNodummy'];
      
$product['stringsProperties'] = $propertyFormData['stringsProperties'];   
      
$product['liteFormData'] = $liteFormData['html'];
      
$product['description'] = MG::inlineEditor(PREFIX.'product'"description"$product['id'], $product['description']);
      
$product['title'] = MG::modalEditor('catalog'$product['title'], 'edit'$product["id"]);
      
// Информация об отсутствии товара на складе.
      
if (MG::getSetting('printRemInfo') == "true" && $product['count'] == 0) {
        
$message 'Здравствуйте, меня интересует товар "'.str_replace("'""&quot;"$product['title']).'" с артикулом "'.$product['code'].'", но его нет в наличии.
        Сообщите, пожалуйста, о поступлении этого товара на склад. '
;

        
$product['remInfo'] = "<span class='rem-info'>Товара временно нет на складе!<br/><a href='".SITE."/feedback?message=".$message."'>Сообщить когда будет в наличии.</a></span>";
      }
      if (
$product['count'] < 0) {
        
$product['count'] = "∞";
      };
      
$product['related'] = $model->createRelatedForm($product['related']);
      
Storage::save(md5('ControllersProduct'.URL::getUrl()), $product);
    }
   
// MG::set('propertyNodummy',$product['propertyNodummy']);
   // $_SESSION['propertyNodummy'] = $product['propertyNodummy'];
    
$this->data $product;
  }

}
Онлайн: 0
Реклама