Архив рубрики Bitrix

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

Author admin    Category Bitrix     Tags ,


Стандартный модуль вывода меню в Битриксе поддерживает максимальный уровень вложенности – 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 будет содержать список разделов.
далее

Сен
4

[Bitrix] Сортировка товара в каталоге (по остаткам на складе )

Здравствуйте. Сегодня мы рассмотрим еще одну задачку и пример её реализации на платформе 1С-Битрикс. Итак нам необходимо сделать сортировку товара по количеству.

Казалось бы, что может быть проще, ведь разработчики Битрикс уже все придумали за нас, подставляй нужный параметр в GetList, но к сожалению в GetList параметр остатка товаров на складе передать невозможно, так разработан API.

Но сортировка по свойству возможна. Итак что же нам нужно сделать? Составим маленький план:
1. Добавить новое свойство к информационному блоку, в котором хранится номенклатура.
2. Написать скрипт/ обработчик, который записывает «подбивает» остатки и записывает их как свойство.
3. Отредактировать шаблон компонента bitrix:catalog

Ну что же задачи поставлены, приступим к их выполнению. Добавляем новое свойство в настройках информационного блока. В административной панели переходим в раздел Контент->Информ. блоки ->Типы информ. блоков -> 1С каталог В данном случае информационный блок, называется 1С Каталог, у Вас от может называться по-другому. Переходим на вкладку Свойства и устанавливаем новое свойство. Назовем его Остаток, тип- Число, код-OSTATOK. Заходим в настройки свойства и ставим галочку напротив поля Выводить на странице списка элементов поле для фильтрации по этому свойству

После создания свойства и сохранения изменений. Необходимо написать скрипт, который будет записывать остаток товара в свойство «остаток». Я данный скрипт написал, как отдельный. Но при желании весь код можно поместить в функцию, а функцию «засунуть» в обработчик событий.
далее

Июл
22

[Bitrix] Как получить дополнительное свойство раздела?

Author admin    Category Bitrix     Tags ,


Нередко возникает ситуация, для тех кто работает с Битрикс, когда основных свойств раздела недостаточно, необходимо дополнить раздел дополнительным свойством, к примеру нам нужно свойство краткое описание.

Добавить свойство к разделу, можно в административной панели 1c-Bitrix Настройки-> Настройки продукта-> Пользовательские поля

Итак свойство мы добавили, теперь при редактировании раздела, мы можем добавить краткое описание:

Теперь, стоит вопрос, как же получить дополнительное свойство раздела? А для получения дополнительного свойства раздела, нам нужно как минимум 2 параметра:


ID - по коду раздела;
IBLOCK_ID - по коду родительского информационного блока;

далее

Июл
16

[Bitrix] Компонент управления баннерами на сайте

Author admin    Category Bitrix     Tags

Всем привет. Сегодня, как вы уже наверное догадались, речь пойдет о 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 параметра: тип информационного блока и имя элемента, именем элемента выступает название баннера.

Пример работы компонента:

далее

Июл
8

[Bitrix] Как деактивировать товары без цены?

Author admin    Category Bitrix     Tags ,

Всем привет! Давненько не писал в свой любимы блог, последнее время очень много задач, на решение которых уходит масса времени. Но ничего блог я не брошу, а только буду развивать. В планах перевести блог на платформу Bitrix и сделать его, так как мечтаю.

Итак, сегодня выложу очередной скрипт под Битрикс. Скрипт пригодится тем кто работает с интернет магазинами или занимается их разработкой.

Рассмотрим ситуацию: Клиент заказал интеграцию 1С Управление торговлей с интернет магазином на базе 1С – Bitrix. Но вот только проблемка в базе не на все товары установлена цена, а их около 25 тысяч и искать те, для которых не установлена цена очень долго. Поэтому все манипуляции с товарами, решено выполнять на сайте. Выполняем выгрузку на сайт, а теперь ищем элементы номенклатуры, для которых не задана цена и деактивируем их.
далее

Июн
17

[Bitrix] Как узнать свойства товара (остаток) зная его ID?

Author admin    Category Bitrix     Tags

Функция по коду товара ID возвращает массив параметров товара (которые относятся к товару как к таковому)

<?
$ID = 12;
$ar_res = CCatalogProduct::GetByID($ID);
echo "<br>Товар с кодом ".$ID." имеет следующие параметры:<pre>";
print_r($ar_res);
echo "</pre>";
?>

Очень полезная функция, кто работает с Bitrix. Не раз пригодится в работе.

Июн
16

[Bitrix] Как отобрать товары каталога по свойству?

Author admin    Category Bitrix     Tags

Начал работать с 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, в голове много идей как можно сделать многофункциональный блог.

далее

Май
29

Как в Bitrix узнать ID авторизированного пользователя?

Author admin    Category Bitrix     Tags

Нередко, при работе со скриптами 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 "Пользователь авторизирован";

}

далее

Дек
17

Хостинг для 1C-Bitrix

Author admin    Category Bitrix     Tags

Хостинг 1С - Битрикс

Очень долго и тщательно выбирал хостинг для сайта Евроспорт , даже составил таблицу.

Решил все же остановиться на хостинге от http://timeweb.ru/ . Этим хостингом пользуются такие крупные компании,как 1С БИТ , Nod 32 и Банки.ру Да и цены у них приемлемые!

Обзор хостинга для 1C-Bitrix:

Хостинг

Тариф

CPU

MHz

RAM

Мб

Место на диске

Гб

Цена

Руб/мес.

masterhost.ru

Доступный:
1С-Битрикс

500

768

5

1150

Практичный:
1С-Битрикс

800

1024

10

1700

timeweb.ru

Eterno[B]

-

-

10

845

www.parking.ru

HyperCMS
1

25%

1024

60

1900

HyperCMS
2

50%

2048

100

3400

HyperCMS
4

100%

4096

210

5 700

www.rusonyx.ru

VPS 2X Bitrix

1000

512

20

1199

VPS 3X Bitrix

1200

1024

30

2299

www.mchost.ru

VPS-10

700

512

10

510

www.mchost.ru

VPS-20

1200

1024

35

1105

www.mchost.ru

VPS-30

2400

2048

100

1700

далее

Дек
3

Новогодняя акция от 1С- Bitrix

Author admin    Category Bitrix     Tags

Итак, перед Новым годом, компания 1С – Bitrix подготовила всем свои покупателям отличные подарки. А именно:

Специальное предложение на покупку «1С-Битрикс: Управление сайтом» + «1С-Битрикс: Корпоративный портал»: Максимальная выгода
• При единовременной покупке лицензии на «1С-Битрикс: Управление сайтом» и на «1С-Битрикс: Корпоративный портал» клиентам предоставляется скидка 25% на обе лицензии.

Специальные условия для текущих клиентов
• Заплатить на 15% меньше при переходе на любую старшую редакцию продукта, смогут те, кто уже является клиентом компании.
• Также для всех своих клиентов «1С-Битрикс» предлагает приобрести стандартное продление по цене льготного.
• Специальные условия распространяются на продукты «1С-Битрикс: Управление сайтом» и «1С-Битрикс: Корпоративный портал».

«1С-Битрикс: Корпоративный портал»: Управляйте коммуникациями внутри компании
• В течение всей акции действует скидка 15% при покупке любой редакции продукта «1С-Битрикс: Корпоративный портал». Скидка распространяется и на покупку лицензии на дополнительных пользователей.

«1С-Битрикс: Управление сайтом»: Управлять контентом стало удобнее
• В течение всей акции действует скидка 15% при покупке любой редакции «1С-Битрикс: Управление сайтом».

В конце акции среди клиентов, воспользовавшихся специальным предложением на покупку одновременно «1С-Битрикс: Управление сайтом» и «1С-Битрикс: Корпоративный портал» пройдёт розыгрыш двух билетов в петербургский Эрмитаж. Оплату перелета и проживание в легендарной гостинице «Астория» компания «1С-Битрикс» берет на себя.

далее