[Bitrix] Многоуровневое меню в Bitrix

Стандартный модуль вывода меню в Битриксе поддерживает максимальный уровень вложенности – 4. А что делать, если клиента такой уровень вложенности не устраивает. Из данной ситуации есть 2 выхода: Первое – доработать стандартный модуль вывода меню, да это можно сделать, но если групп и подгрупп очень много, будет выглядеть не как меню, а как «солянка» Второй метод – перед списком товара будут выводиться подгруппы они будут исполнять навигационное меню. данный метод мы сегодня с вами и разберем.
Для создания многоуровневого меню, нам необходимо отредактировать шаблон Каталога товаров под названием Элементы раздела (bitrix:catalog.section)
<?php
$OUT="";
// выводим разделы
$IBLOCK_ID = $arParams['IBLOCK_ID'];
$ID = $arParams["SECTION_ID"];
if(CModule::IncludeModule("iblock")){
// выборка только активных разделов из инфоблока $IBLOCK_ID, $ID - раздел-родителя
$arFilter = Array('IBLOCK_ID'=>$IBLOCK_ID, 'GLOBAL_ACTIVE'=>'Y', 'SECTION_ID'=>$ID);
$db_list = CIBlockSection::GetList(Array("NAME"=>"ASC"), $arFilter, true,$arSelect = array( "UF_*"));
while($ar_result = $db_list->GetNext())
{
$OUT.="<li><a href=\"/catalog/goods/$ar_result[ID]/\">$ar_result[NAME] ($ar_result[ELEMENT_CNT])</a></li>";
}
}
?>
В результате переменная $OUT будет содержать список разделов.
далее
[Bitrix] Сортировка товара в каталоге (по остаткам на складе )
Здравствуйте. Сегодня мы рассмотрим еще одну задачку и пример её реализации на платформе 1С-Битрикс. Итак нам необходимо сделать сортировку товара по количеству.
Казалось бы, что может быть проще, ведь разработчики Битрикс уже все придумали за нас, подставляй нужный параметр в GetList, но к сожалению в GetList параметр остатка товаров на складе передать невозможно, так разработан API.
Но сортировка по свойству возможна. Итак что же нам нужно сделать? Составим маленький план:
1. Добавить новое свойство к информационному блоку, в котором хранится номенклатура.
2. Написать скрипт/ обработчик, который записывает «подбивает» остатки и записывает их как свойство.
3. Отредактировать шаблон компонента bitrix:catalog
Ну что же задачи поставлены, приступим к их выполнению. Добавляем новое свойство в настройках информационного блока. В административной панели переходим в раздел Контент->Информ. блоки ->Типы информ. блоков -> 1С каталог В данном случае информационный блок, называется 1С Каталог, у Вас от может называться по-другому. Переходим на вкладку Свойства и устанавливаем новое свойство. Назовем его Остаток, тип- Число, код-OSTATOK. Заходим в настройки свойства и ставим галочку напротив поля Выводить на странице списка элементов поле для фильтрации по этому свойству
После создания свойства и сохранения изменений. Необходимо написать скрипт, который будет записывать остаток товара в свойство «остаток». Я данный скрипт написал, как отдельный. Но при желании весь код можно поместить в функцию, а функцию «засунуть» в обработчик событий.
далее
[Bitrix] Как получить дополнительное свойство раздела?

Нередко возникает ситуация, для тех кто работает с Битрикс, когда основных свойств раздела недостаточно, необходимо дополнить раздел дополнительным свойством, к примеру нам нужно свойство краткое описание.
Добавить свойство к разделу, можно в административной панели 1c-Bitrix Настройки-> Настройки продукта-> Пользовательские поля
Итак свойство мы добавили, теперь при редактировании раздела, мы можем добавить краткое описание:
Теперь, стоит вопрос, как же получить дополнительное свойство раздела? А для получения дополнительного свойства раздела, нам нужно как минимум 2 параметра:
ID - по коду раздела;
IBLOCK_ID - по коду родительского информационного блока;
далее
[Bitrix] Компонент управления баннерами на сайте
Всем привет. Сегодня, как вы уже наверное догадались, речь пойдет о CMS 1C-Bitrix и о создании компонента для управления баннерами на сайте. Дело в том, что в некоторые редакции Битрикс входит отдельный модуль Реклама, который позволяет на сайте размещать баннеры, собирать статистику по их переходам и т.д. Но вот к примеру в редакцию Малый Бизнес данный модуль не входит, но баннеры нужно размещать и необходимо сконструировать такой механизм, который позволял бы этими баннерами управлять: указывать ссылку, менять изображение и т.д.
Созданием такого компонента мы сегодня и займемся. Итак пошагово я расскажу, что нужно сделать что бы компонент, скачать который вы сможете в конце поста, заработал.
1. Создаем новый тип информационного блока, я назвал его Баннеры.
Контент-> Информационные блоки-> Типы информационных блоков.
Запоминаем идентификатор информационного блока, данный идентификатор будет использоваться в запросах.
2. После того, как создали тип информационного блока, создаем сам информационный блок.
Контент-> Информационные блоки-> Типы информационных блоков-> Баннеры
Задаем название для информационного блока, в нашем случае информ. блок, так же будет называться Баннеры.
Переходим на вкладку Свойства и задаем 2 свойства:
- Название: Ссылка на страницу; Тип: Строка; Код: LINK
- Название: Изображение баннера; Тип:Файл; Код:FILE
3. Для компонента, я создал отдельную папку, назвал её mycomponents. Загружаем компонент в папку site.ru/bitrix/components/mycomponents
Все теперь компонент загружен на сайт и его можно использовать. Добавляем в информационный блок: Баннеры, новую запись:
Теперь мы должны расположить в шаблоне сайта или на отдельной странице php скрипт вызова компонента:
<? $APPLICATION->IncludeComponent("mycomponents:banners", ".default", Array(
"TYPE" => "banners", // Тип информационного блока
"BNAME" => "БаннерШапка", // Имя элемента
"CACHE_TYPE" => "N", // Тип кеширования
"CACHE_TIME" => "3600", // Время кеширования (сек.)
),
false
);?>
Для корректной работы компонента, нам потребуются 2 параметра: тип информационного блока и имя элемента, именем элемента выступает название баннера.
Пример работы компонента:
[Bitrix] Как деактивировать товары без цены?
Всем привет! Давненько не писал в свой любимы блог, последнее время очень много задач, на решение которых уходит масса времени. Но ничего блог я не брошу, а только буду развивать. В планах перевести блог на платформу Bitrix и сделать его, так как мечтаю.
Итак, сегодня выложу очередной скрипт под Битрикс. Скрипт пригодится тем кто работает с интернет магазинами или занимается их разработкой.
Рассмотрим ситуацию: Клиент заказал интеграцию 1С Управление торговлей с интернет магазином на базе 1С – Bitrix. Но вот только проблемка в базе не на все товары установлена цена, а их около 25 тысяч и искать те, для которых не установлена цена очень долго. Поэтому все манипуляции с товарами, решено выполнять на сайте. Выполняем выгрузку на сайт, а теперь ищем элементы номенклатуры, для которых не задана цена и деактивируем их.
далее
[Bitrix] Как узнать свойства товара (остаток) зная его ID?
Функция по коду товара ID возвращает массив параметров товара (которые относятся к товару как к таковому)
<? $ID = 12; $ar_res = CCatalogProduct::GetByID($ID); echo "<br>Товар с кодом ".$ID." имеет следующие параметры:<pre>"; print_r($ar_res); echo "</pre>"; ?>
Очень полезная функция, кто работает с Bitrix. Не раз пригодится в работе.
[Bitrix] Как отобрать товары каталога по свойству?
Начал работать с Bitrix и достаточно часто возникают некоторые проблемки, о некоторых я уже писал. Буду в блог постить такие вот коротыши о Bitrix и его API.
Сегодня стала задача, как найти нужный товар из каталога товаров по определенному параметру?
С API Bitrix задача быстро решается:
$arSelect = Array("*");
$arFilter = Array("PROPERTY_CML2_ARTICLE"=>"FK11158", "ACTIVE"=>"Y");
$res = CIBlockElement::GetList(Array(), $arFilter, false, Array("nPageSize"=>50), $arSelect);
while($ob = $res->GetNextElement())
{
$arFields = $ob->GetFields();
echo "<pre>"; print_r($arFields); echo "</pre>";
}
В данном случае мы найдем товар из информационного блока, у которого артикул равен:FK11158.
На самом деле Bitrix очень удобная вещь, благодаря информационным блокам это как бы таблицы. Например хочешь создать раздел новостей, создаешь информационный блок, Новости. Задаешь для него параметры, дополнительные поля и т.д. Можешь вытсавить права для отдельной группы пользователей на просмотр данного информационного блока и т.д. А основной его плюс в том, что почти все модули можно доработать и переделать под себя. Уже подумываю перевести блог на Bitrix, в голове много идей как можно сделать многофункциональный блог.
Как в Bitrix узнать ID авторизированного пользователя?
Нередко, при работе со скриптами Bitrix необходимо узнать ID авторизированного пользователя или его логин, e-mail. Для этого используем конструкцию:
<?
global $USER;
echo "[".$USER->GetID()."] (".$USER->GetLogin().") ".$USER->GetFullName();
?>
Для более детального просмотра параметров пользователя, включая дополнительно созданные поля, используем конструкцию:
$rsUser = CUser::GetByID($USER->GetID()); $arUser = $rsUser->Fetch();
Переменная $arUser будет содержать параметры пользователя. Очень удобная вещь.
Как узнать что пользователь авторизирован?
if ($USER->IsAuthorized()){
echo "Пользователь авторизирован";
}
Хостинг для 1C-Bitrix
Очень долго и тщательно выбирал хостинг для сайта Евроспорт , даже составил таблицу.
Решил все же остановиться на хостинге от http://timeweb.ru/ . Этим хостингом пользуются такие крупные компании,как 1С БИТ , Nod 32 и Банки.ру Да и цены у них приемлемые!
Обзор хостинга для 1C-Bitrix:
|
Хостинг |
Тариф |
CPU MHz |
RAM Мб |
Место на диске Гб
|
Цена Руб/мес. |
|
masterhost.ru |
500 |
768 |
5 |
1150 |
|
|
800 |
1024 |
10 |
1700 |
||
|
timeweb.ru |
- |
- |
10 |
845 |
|
| www.parking.ru |
25% |
1024 |
60 |
1900 |
|
|
50% |
2048 |
100 |
3400 |
||
|
100% |
4096 |
210 |
5 700 |
||
|
www.rusonyx.ru |
1000 |
512 |
20 |
1199 |
|
|
1200 |
1024 |
30 |
2299 |
||
|
www.mchost.ru |
700 |
512 |
10 |
510 |
|
| www.mchost.ru
|
1200 |
1024 |
35 |
1105 |
|
| www.mchost.ru
|
2400 |
2048 |
100 |
1700 |
Новогодняя акция от 1С- Bitrix
Итак, перед Новым годом, компания 1С – Bitrix подготовила всем свои покупателям отличные подарки. А именно:
Специальное предложение на покупку «1С-Битрикс: Управление сайтом» + «1С-Битрикс: Корпоративный портал»: Максимальная выгода
• При единовременной покупке лицензии на «1С-Битрикс: Управление сайтом» и на «1С-Битрикс: Корпоративный портал» клиентам предоставляется скидка 25% на обе лицензии.
Специальные условия для текущих клиентов
• Заплатить на 15% меньше при переходе на любую старшую редакцию продукта, смогут те, кто уже является клиентом компании.
• Также для всех своих клиентов «1С-Битрикс» предлагает приобрести стандартное продление по цене льготного.
• Специальные условия распространяются на продукты «1С-Битрикс: Управление сайтом» и «1С-Битрикс: Корпоративный портал».
«1С-Битрикс: Корпоративный портал»: Управляйте коммуникациями внутри компании
• В течение всей акции действует скидка 15% при покупке любой редакции продукта «1С-Битрикс: Корпоративный портал». Скидка распространяется и на покупку лицензии на дополнительных пользователей.
«1С-Битрикс: Управление сайтом»: Управлять контентом стало удобнее
• В течение всей акции действует скидка 15% при покупке любой редакции «1С-Битрикс: Управление сайтом».
В конце акции среди клиентов, воспользовавшихся специальным предложением на покупку одновременно «1С-Битрикс: Управление сайтом» и «1С-Битрикс: Корпоративный портал» пройдёт розыгрыш двух билетов в петербургский Эрмитаж. Оплату перелета и проживание в легендарной гостинице «Астория» компания «1С-Битрикс» берет на себя.
Подписаться на обновления
Рубрики
- 1С
- Bitrix
- CMS
- CSS
- Human Emulator
- Javascript
- JQuery
- Life
- PHP
- SEO
- SEO news
- SEO сцена
- VPS
- Windows
- Без рубрики
- Жизнь
- Интервью
- Конкурсы
- Мануалы
- Математика
- Новости
- Планы
- Покупаем
- Сайты
- Софт
- Юзабилити
Архив
- Февраль 2012
- Январь 2012
- Декабрь 2011
- Ноябрь 2011
- Октябрь 2011
- Сентябрь 2011
- Июль 2011
- Июнь 2011
- Май 2011
- Апрель 2011
- Март 2011
- Февраль 2011
- Январь 2011
- Декабрь 2010
- Ноябрь 2010
- Октябрь 2010
- Сентябрь 2010
- Август 2010
- Июль 2010
- Июнь 2010
- Май 2010
- Апрель 2010
- Март 2010
- Февраль 2010
- Январь 2010
admin











