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

/**
 * Контроллер: Catalog
 *
 * Класс Controllers_Catalog обрабатывает действия пользователей в каталоге интернет магазина.
 * - Формирует список товаров для конкретной страницы;
 * - Добавляет товар в корзину.
 *
 * @author Авдеев Марк <mark-avdeev@mail.ru>
 * @package moguta.cms
 * @subpackage Controller
 */
class Controllers_Index extends BaseController {

  function 
__construct() {
    
$settings MG::get('settings');
    
// Если нажата кнопка купить.
    
$_REQUEST['category_id'] = URL::getQueryParametr('category_id');

    if (!empty(
$_REQUEST['inCartProductId'])) {
      
$cart = new Models_Cart;
      
$property $cart->createProperty($_POST);
      
$cart->addToCart($_REQUEST['inCartProductId'], $_REQUEST['amount_input'], $property);
      
SmalCart::setCartData();
      
MG::redirect('/cart');
    }

    
$countСatalogProduct $settings['countСatalogProduct'];
    
// Показать первую страницу выбранного раздела.
    
$page 1;

    
// Запрашиваемая страница.
    
if (isset($_REQUEST['p'])) {
      
$page $_REQUEST['p'];
    }
    
    
$model = new Models_Catalog;

    
// Получаем список вложенных категорий, для вывода всех продуктов, на страницах текущей категории.
    
$model->categoryId MG::get('category')->getCategoryList($_REQUEST['category_id']);

    
// В конец списка, добавляем корневую текущую категорию.
    
$model->categoryId[] = $_REQUEST['category_id'];

    
// Передаем номер требуемой страницы, и количество выводимых объектов.
    
$countСatalogProduct 100;

    
$printCompareButton MG::getSetting('printCompareButton');
    
$actionButton MG::getSetting('actionInCatalog') === "true" 'actionBuy' 'actionView';
    
$dataGroupProducts Storage::get(md5('dataGroupProductsIndexConroller'));
    
    
$currencyRate MG::getSetting('currencyRate');      
    
$currencyShopIso MG::getSetting('currencyShopIso'); 
    if (
$dataGroupProducts == null) {
     
      
// Формируем список товаров со старой ценой.

      
$saleProducts $model->getListByUserFilter(MG::getSetting('countSaleProduct'), ' (p.old_price>0 || pv.old_price>0) and p.activity=1 ORDER BY sort ASC');

      foreach (
$saleProducts['catalogItems'] as &$item) {
        
$imagesUrl explode("|"$item['image_url']);
        
$item["image_url"] = "";
        if (!empty(
$imagesUrl[0])) {
          
$item["image_url"] = $imagesUrl[0];
        }
        
$item['currency_iso'] = $item['currency_iso']?$item['currency_iso']:$currencyShopIso;
        
//$item['price'] *= $currencyRate[$item['currency_iso']];   
        
$item['old_price'] = $item['old_price']* $currencyRate[$item['currency_iso']];
        
$item['old_price'] = $item['old_price']? MG::priceCourse($item['old_price']):0;
        
$item['price'] =  MG::priceCourse($item['price_course']); 
        if(
$printCompareButton!='true'){
          
$item['actionCompare'] = '';         
        }    
        if(
$actionButton=='actionBuy' && $item['count']==0){
          
$item['actionBuy'] = $item['actionView'];         
        }
       
      }

      
$dataGroupProducts['recommendProducts'] = $recommendProducts;
      
$dataGroupProducts['newProducts'] = $newProducts;
      
$dataGroupProducts['saleProducts'] = $saleProducts;
      
Storage::save(md5('dataGroupProductsIndexConroller'), $dataGroupProducts);
    }
    
    
$recommendProducts $dataGroupProducts['recommendProducts'];
    
$newProducts $dataGroupProducts['newProducts'];
    
$saleProducts $dataGroupProducts['saleProducts'];
    
    
$html MG::get('pages')->getPageByUrl('index');
    
$html['html_content'] = MG::inlineEditor(PREFIX.'page'"html_content"$html['id'], $html['html_content']);


    
$this->data = array(
      
'saleProducts' => !empty($saleProducts['catalogItems']) ? $saleProducts['catalogItems'] : array(),
      
'titeCategory' => $html['meta_title'],
      
'cat_desc' => $html['html_content'],
      
'meta_title' => $html['meta_title'],
      
'meta_keywords' => $html['meta_keywords'],
      
'meta_desc' => $html['meta_desc'],
      
'currency' => $settings['currency'],
      
'actionButton' => $actionButton
    
);
  }

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