function template_pricecore_product_hook($obj, $category, $rout) { if ($rout == 'START') { $dis = null; // 404 if (!PHPShopSecurity::true_num($category)) { return $obj->setError404(); } // Выборка данных $PHPShopOrm = new PHPShopOrm($GLOBALS['SysValue']['base']['products']); $PHPShopOrm->debug = $obj->debug; $data = $PHPShopOrm->select(array('*'), array('category' => '=' . $category, 'enabled' => "='1'", 'parent_enabled' => "='0'"), array('order' => 'num'), array('limit' => 500)); if (!empty($obj->category_name)) { $dis = $obj->tr(false, $obj->category_name); } if ($obj->PHPShopSystem->getSerilizeParam('admoption.user_price_activate') == 1 and empty($_SESSION['UsersId'])) { $user_price_activate = true; } // Добавляем в дизайн ячейки с товарами if (is_array($data)) { foreach ($data as $row) { $name = '<a href="' . $obj->seourl($row) . '" class="list-group-item">' . $row['name']; if (empty($row['sklad']) and empty($user_price_activate)) { $cart = PHPShopText::a('javascript:AddToCart(' . $row['id'] . ')', PHPShopText::img('images/shop/basket_put.gif', false, 'absMiddle'), $obj->lang('product_sale')); } else { $cart = PHPShopText::a('../users/notice.html?productId=' . $row['id'], PHPShopText::img('images/shop/date.gif', false, 'absMiddle'), $obj->lang('product_notice')); } if (empty($user_price_activate)) { $price = $obj->price($row) . ' ' . $obj->currency(); } else { $price = PHPShopText::a('../users/register.html', PHPShopText::img('images/shop/icon_user.gif', false, 'absMiddle'), $obj->lang('user_register_title')); } $dis .= $name . '<b class="pull-right">' . $price . '</b></a>'; } } $block = $dis . '</div>'; $obj->add($block, true); return true; } }
/** * Вывод подкаталогов * @param int $n ИД каталога * @param boolean $flag Выводить подкаталоги след. уровня или нет. TRUE - по умолчанию, выводить. * @return string */ function subcatalogNt($n, $flag = true) { $dis = null; $PHPShopOrm = new PHPShopOrm($this->objBase); $PHPShopOrm->cache_format = $this->cache_format; $PHPShopOrm->cache = $this->cache; $PHPShopOrm->debug = $this->debug; $where['parent_to'] = '=' . $n; // Не выводить скрытые каталоги $where['skin_enabled'] = "!='1'"; // Мультибаза if ($this->PHPShopSystem->ifSerilizeParam('admoption.base_enabled')) { $where['servers'] = " REGEXP 'i" . $this->PHPShopSystem->getSerilizeParam('admoption.base_id') . "i'"; } $data = $PHPShopOrm->select(array('*'), $where, array('order' => 'num, name'), array('limit' => 100), __CLASS__, __FUNCTION__); if (is_array($data)) foreach ($data as $row) { //выводим подкаталоги 3 уровня. if ($flag) { $this->set('catalogPodcatalog3level', ''); $this->set('catalogPodcatalog3level', $this->subcatalogNt($row['id'], false)); } // Определяем переменные $this->set('catalogName', $row['name']); $this->set('catalogUid', $row['id']); $PHPShopCategory = new PHPShopCategory($n); $this->set('catalogTitle', $PHPShopCategory->getName()); // Перехват модуля $this->setHook(__CLASS__, __FUNCTION__, $row); // Подключаем шаблон if ($flag AND $this->get('catalogPodcatalog3level')) $dis.=ParseTemplateReturn('catalog/podcatalog_forma_nt_2.tpl'); elseif ($flag) $dis.=ParseTemplateReturn('catalog/podcatalog_forma_nt.tpl'); else $dis.=ParseTemplateReturn('catalog/podcatalog_forma_3level_nt.tpl'); } return $dis; }