Выбрать дату в календареВыбрать дату в календаре

Допуск к B2B порталу только авторизованным
 
Цитата
Сергей Шалыгин написал:
Цитата
Михаил Базаров написал:
Просто запретите просмотр не авторизованным пользователям. Прямо от корня сайта выберите права на просмотр.
Для всех - закрыт
Для зарегистрированных - чтение
Кажется я нашел)


Правильно я понял, что всем по умолчанию ставлю - запрещен доступ.
А потом всех нужных типа, зарегистированных -чтение доступ
Администраторы - полный и т.п. ?

Можно только зарегистрированным. Все остальные итак в эту группу входят)
Допуск к B2B порталу только авторизованным
 
Просто запретите просмотр не авторизованным пользователям. Прямо от корня сайта выберите права на просмотр.
Для всех - закрыт
Для зарегистрированных - чтение
Вывести производителей на сайте с отбором его товаров из каталога
 
Цитата
s.rudko@100systems.com Rudko написал:
Вопрос: а где указывается инфоблок где БРЭНД - это элемент, чтобы код понимал откуда ему взять элемент БРЭНДА?
В "IBLOCK_ID" указываете id инфоблока с брендами. Далее он находится по совпадению названия бренда из свойства товара (каталога) по "NAME"
Всплывающее окно с формой обратной связи Битрикс
 
Цитата
Αнтон Μаксимов написал:
Михаил, спасибо за ответ!

Вдогонку еще парочка вопросов:
"EVENT_MESSAGE_ID" => array("7"),  - т.е. привязка к конкретному шаблону почтового сообщения
placeholder="Имя" minlength="2" maxlength="30"  - в виду ярко усиливающего (не скажу чего) в среде пользователей
и наличие своего sendmail ввиду возможного отсутствия наличия встроенного в платформу
все это реально добавить???
т.е. фактически в таком случае сразу возможно использование в двух вариантах - вызов модальной формы по кнопке, не задействующий при этом стандартный вариант блока контактной формы в теле страницы
но работа через свой отправитель и использование стандартных встроеных шаблонов Битрикс....
Да, можно навесить и Event::Send и записать данные формы в инфоблок, для истории
Вот тут есть заготовка, ее докрутить и допилить и в целом, можно пользоваться
https://camouf.ru/club/user/1/blog/259/
Изменено: Михаил Базаров - 16 апреля 2021 11:11:49
Создать pdf файл из элемента инфоблока, дать скачать пользователю, поддерживать в актуальном состоянии или отправить на e-mail.
 
Создать pdf файл из элемента инфоблока, дать скачать пользователю, поддерживать в актуальном состоянии или отправить на e-mail.

Задача: при каждом посещении статьи, на сайте, нужно создавать pdf файл с ее содержимым и записывать в свойство инфоблока.
Всплывающее окно с формой обратной связи Битрикс
 
Цитата
Αнтон Μаксимов написал:
Михаил, добрый день!

1. Возможен ли для такой формы "многократный вызов процедур", т.е. наличие формы на одной странице более чем один раз в различных блоках ?

Заметка, конечно древнющая, но рабочая  :D
Если нужно несколько раз:
Я бы сделал свой компонент формы, внутри которого нужные мне поля и "путь отправки" формы.
При клике на вызов окна, выводится оно и передаются параметры - какие поля выводить и куда отправлять форму.

По факту: на странице одно всплывающее окно c одной формой, но параметры формы зависят от кнопки, которую нажали.
Само окно, можно выводить этим же (из заметки) способом.  
Вывести производителей на сайте с отбором его товаров из каталога
 
Цитата
s.rudko@100systems.com Rudko написал:
А реально ли сделать чтобы на странице с брэндами отображался товар (Где свойство фильтруется с типом строка или список), и на детальной странице карточки товара отобразить брэнд из другого инфоблока (Где свойство всегда с типом привязки к элементам инфоблока) и чтобы это все с 1С взаимодействовало автоматически?
Если правильно понял вопрос:

У вас есть инфоблок с каталогом, в котором есть свойство "Бренд", в нем указан производитель (не суть важно, строкой или прявязкой).
Есть инфоблок с брендами, где бренды это элементы и их названия один в один как в элементах каталога.

Что бы на странице бренда вывести все товары, в которых указан этот бренд использовали фильтр
Код
$GLOBALS['arrFilterBrand'] = array('PROPERTY_ИД_СВОЙСТВА_С_БРЕНДОМ_VALUE' => $arResult["NAME"]);

$APPLICATION->IncludeComponent(
   "bitrix:catalog.section", 
   .....
      "FILTER_NAME" => "arrFilterBrand",
   .....
);

Теперь надо, в элементе каталога сделать ссылку на бренд- что бы выводился в нем не зависимо от 1С
В карточке, в нужном месте
Код
$brandData = CIBlockElement::GetList(
array("ID" => "ASC"),
   array(
      "IBLOCK_ID" => "14", 
      "NAME" => $arResult['PROPERTIES']['СВОЙСТВО_С_НАЗВАНИЕМ_БРЕНДА']['VALUE']
      ),
   false,false,
   array(
       'NAME',
       'DETAIL_PICTURE',
       'CODE'
   )
);
while ($arFieldsBr = $brandData->Fetch()) {
    $logoPath = CFile::GetPath($arFieldsBr["DETAIL_PICTURE"]);
?>
   Бренд: <?=$arFieldsBr['NAME']?>
   <a href="/brands/<?= $arFieldsBr['CODE'] ?>.php">
   <img src="<?= $logoPath ?>"/>
   </a>
<?
}

В итоге перелинковали бренды и карточки каталога между собой. Не зависимо от 1С.
Главное, что бы название бренда было написано один в один и в элементе каталога (в свойстве) и в названии бренда в инфоблоке с брендами.
Изменено: Михаил Базаров - 15 апреля 2021 22:23:07
bitrix:catalog.filter для копл. компонента news, bitrix:catalog.filter для копл. компонента news с самописным аякс
 
Цитата
Иван Крымский написал:
Цитата
Сергей Стефанович написал:
Перезагрузку по клику на чекбокс  удалось организовать, а вот аякс нет.  
Так подскажите, как Вам это удалось???

Тут расписал
https://camouf.ru/club/user/1/blog/286/
Бонус за выполненный заказ на внутренний счет пользователя
 
Цитата
Ольга Стафиевская пишет:
Скажите, почему строка  [CODE] use Bitrix\Main\Loader; [/CODE] мне выдает ошибку
Parse error: syntax error, unexpected 'use' (T_USE) in /var/www/u0972962/data/www/noutland.ru/mini1c/web/reports/index.php on line 234?
Это у вас, что за путь такой?
Код
noutland.ru/mini1c/web/reports/index.php
Можете привести весь код этого файла?  
Добавление в избранное или отложенные, на AJAX из карточки товара
 
Цитата
Андрей Сенин написал:
Реализация вполне не плохая, но на самом деле я бы делал по-другому:
Во первых, скрипт передает цену, указанную в параметре "&p=" напрямую, а это говорит о том, что я могу в любой момент подменить цену в html на любую другую и она попадет в отложенные в корзину, где я смогу "вернуть" товар в корзину и купить по этой цене.
Во вторых, в идеале убрать jQuery и забиндить обработчик на Bitrix JS и реализовать с помощью ajax битрикса в файле script.js шаблона.

Спасибо за статью;)
В целом да. Только с подменой цены не согласен ) - оформление заказа не даст оформить с поддельной ценой.
Понятное дело, не сам компонент оформления заказа, а "подкапотная" реализация.

У меня уже готов свой компонент избранного, пишет все отдельную табличку БД - на нескольких проектах работает успешно. Скоро (не знаю когда :) ) заверну его в установщик и поделюсь.
Изменено: Михаил Базаров - 10 апреля 2021 16:34:07
Серия 15: Создание и работа с торговыми предложениями в Битрикс
 
Цитата
GYV S написал:
Цитата
Андрей Колчанов пишет:
Здравствуйте, Михаил!
Не выводятся торговые предложения, если выбираю шаблон стандартный, то выводятся. Пытался код взять со стандартного шаблона не помогло...
В новых версиях Битрикс вывод свойств предложений настраивается по другому.
Вот ссылка с описанием:  https://www.redsign.ru/docs/course29/lesson496/
Да.
Но если по новому механизму не удобно, можно переключить на старый.
Перейти в:
Настройки -> Настройки продукта -> Настройки модулей -> Информационные блоки
Снять галку с "Использовать параметры свойств в компонентах и формах:"
Вывести товары из того же раздела в карточке товара
 
Этот параметр есть в element.php который выводит подробную карточку товара

Просто, скопируйте в самый низ, под вывод карточки, компонент вывода раздела из section.php
В него и передайте
"SECTION_ID" => $arResult["VARIABLES"]["SECTION_ID"],

Позже дополню заметку этим способом. Он даже, как то более логичнее и правильнее- чем через component_epilog
Во всяком случае, более управляемый прямо из настроек компонента.
Изменено: Михаил Базаров - 10 апреля 2021 11:36:09 (Опечатки)
Вывести товары из того же раздела в карточке товара
 
Цитата
s.rudko@100systems.com Rudko пишет:
Здравствуйте. Первое, что хочу написать, спасибо вам за то, что вы делаете - это очень круто.

Мне нужно помощь с выводом товара в карточке товара того же раздела.
Добавил в component_epilog.php нужный компонент, в строке SECTION_CODE прописал, но все равно выводится весь товар. [CODE]  "SECTION_CODE" => $arResult["VARIABLES"]["SECTION_CODE"],
Н
[/CODE]
В component_epilig Этот параметр не передается, попробуйте

$arResult["SECTION_CODE"]
Самодельная форма добавления элемента на API Битрикс
 
Цитата
Максим Максимов написал:
Добрый день
Спасибо за базу знаний по битрикс !
А есть ли возможность сделать и вашей формы редактор статей на сайте ?

Не только создавать статью но и изменять её?
В целом да. Нужно передать сюда ID статьи и по нему получить все содержимое элемента (методом CIBlockElement::GetByID)
Заполнить им все поля, а дальше в обработчике обновлять с помощью $el->Update

Штука получится монструозная- лучше сделать свой компонент.

Как сделать такой компонент добавления/редактирования элемента, будет рассмотрено в этом курсе
https://camouf.ru/video/board/
Видео 5: Базовая верстка в режиме трансляции
 
Цитата
Галя Zauloshnovapilipovich написал:
Добрый день!

Хотелось бы узнать через какую программу Вы открываете все файлы битрикса для изменений? Я так понимаю у Вас MAC. Есть ли такая же под Windows. Очень удобная, но не как не могу понять ее название.

Большое спасибо за уроки!

С уважением, Галина
Добрый
https://www.jetbrains.com/phpstorm/
работает на любой ОС
Видео 5: Базовая верстка в режиме трансляции
 
Видео 5: Базовая верстка в режиме трансляции

Делаем базовую верстку главной страницы и раскидываем элементы по сетке. Работа проводится в режиме прямой трансляции
Вывести все разделы в которых находится элемент инфоблока
 
Цитата
Роман Селькин пишет:
CIBlockElement::GetElementGroups
В этот метод, передать параметр 'ACTIVE' => 'Y'
Код
 $db_groups = CIBlockElement::GetElementGroups($ElementId, Array('ACTIVE' => 'Y'));
    while($ar_group = $db_groups->Fetch()) {

   $sectionFullPath = CIBlockSection::GetNavChain(false,$ar_group['ID']);
    while($arSectionPath = $sectionFullPath->Fetch()){
      print_r($arSectionPath)
    }
Хостинг панель BrainyCp: оптимизация под 1С-битрикс
 
Цитата
Кирилл Чирва написал:
А как Вы отправку почты с сайта победили?
Просто в настройках хостинг панели выбрал отправку через SMTP и и открыл порт 25
Как сделать Pull To Refresh, Pull To Refresh
 
Добрый, просто подключаете скрипт к шаблону и обворачиваете нужный участок (который должен реагировать на протягивание) в id- указанный в скрипте.

Вот тут поподробнее и со ссылкой на API этого скрипта
https://camouf.ru/club/user/1/blog/238/
Изменено: Михаил Базаров - 26 февраля 2021 15:08:49
Бонус за выполненный заказ на внутренний счет пользователя
 
Цитата
Ksyusha Darovykh написал:
Здравствуйте, можете дать наводку/пример, как Вы вывели историю начислений и списаний? Пыталась написать это в комментариях к теме, не получилось

История уже есть в компоненте sale.personal.account (Счета текущего пользователя)

Распечатайте массив $arResult этого компонента и увидите все данные, которыми можно манипулировать

Недостающие данные можно получить методом GetByUserID
Код
Метод возвращает ассоциативный массив параметров счета с валютой currency для пользователя с кодом userID. Нестатический метод.
Изменено: Михаил Базаров - 26 февраля 2021 15:05:09
Бонус за выполненный заказ на внутренний счет пользователя
 
Бонус за выполненный заказ на внутренний счет пользователя

Задача: после того как заказ, в интернет-магазине, перешел в статус "Выполнен" начислить пользователю 5% от стоимости заказа, на накопительный счет - с которого можно оплатить будущие заказы.
Вывести производителей на сайте с отбором его товаров из каталога
 
Цитата
Роман Спирин написал:
Добрый день, все сделал как вы писали все получилось, но почему-то при добавлении товара в корзину не появляется окно что товар добавлен в корзину, и пока не обновишь страницу счетчик корзины не изменяется. Что могло пойти не так?
https://www.salonmed.ru/brands/valeri-d/
Видимо не перенесли js скрипт- который отвечает за показ этого окна и Ajax запрос к корзине
Как сделать ссылку на скачивание у разных товаров
 
Цитата
DrBrauz Davletov написал:
Как сделать ссылку на скачивание у разных товаров, то есть кнопка одна , но чтобы у каждого товара свой файл скачивал, возможно ли такое? Если да , то как это реализовать? Спасибо
Очень плохо понял вопрос. Задайте, более развернуто
Ускорение работы сайта на 1С-Битрикс
 
Цитата
Анатолий Войтеховский написал:
Спасибо за ответ. Может у Вас есть идея. Не могу понять, где копать?  https://prnt.sc/wokm0k
x cpu 2.7GHz/ 2048 Mb / ssd 15000 Mb. Что может так тормозить. Сайт на VPS виртуальная машина Битрикс.
Так, конечно, не подсказать ни чего. Надо разбираться и с машиной и с настройками конфигураций.
Самое просто и очевидное, скорость диска - проверьте ее. Может быть он и SSD - но очень паршивый SSD )
Ускорение работы сайта на 1С-Битрикс
 
Цитата
Анатолий Войтеховский написал:
Михаил, добрый день. Просмотрел Ваш ролик, большое спасибо. Все доходчиво. Но есть вопрос? Проверял свой сайт, да и Ваш тоже в  Lighthouse. Не у меня, не у Вас и не у меня он не в зеленной зоне (мобильная версия). Сайт мой  https://zdorov.by/ . Покупал шаблон Аспро Максимум, но и у них он в демо версии не проходит в зеленую зону. Что нужно доработать, чтобы попасть туда. Спасибо!
Да, над своим сайтом я работаю - со временем пока напряженка.
А вот по Аспро не подскажу - в их решениях очень избыточный код (и на бекенде и на фронте), очень много не используемого js и css.
Там, только выкидывать все не нужное из решения, не нужное именно на конкретном проекте. Само собой, лишившись обновлений аспро
Серия 16: Выгрузка товаров из 1С-УТ в Битрикс
 
Цитата
Борис Герчиков написал:
Добрый день!
Подскажите, почему выводятся не все товары на экран? При загрузке вручную. при сверке вроде бы все товары заполнены одинаково но не все видно. Количество постранично и по ряду увеличивал. Бесполезно. Подскажите в каком направлении искать ошибку. Заранее благодарю!
Может быть, включен режим не показа, не доступных товаров (без цен или без остатков)
Серия 14: Функционал главной страницы, включаемые области и реклама
 
Цитата
Павел Петров написал:
Михаил доброго времени суток. Правильно ли я понял вывод урока, что чтобы защитить сайт от "дурака" контент-менеджера - лучше пользоваться включаемыми областями?
Да, это наиболее оптимальный и "правильный" способ
Вывести производителей на сайте с отбором его товаров из каталога
 
Цитата
Артём Щитов написал:
Есть сайт на Битриксе, в нем настроен "Deluxe - многофункциональный интернет-магазин 2 в 1". Есть инфоблок "производители", который выводится компонентом bitrix:news и инфоблок каталог 1с, который выодится компонентом dresscode:catalog. Хочу, чтобы при переходе в детальную инфо по пренду (входу в новость) переадресовывало на страницу каталога с отфильтрованным соответствующим брендом. Раздел бренды создан в каталоге. Пробовал делать так, как в видео,  но ничего не вышло.
С Делюксом не подскажу, надо смотреть и разбираться на месте.
Очень мне не нравится это решение.
Вывести множественное свойство типа файл с названием и весом файла в Битрикс
 
Цитата
Денис Кулеба пишет:
[QUOTE][URL=/club/user/13838/]виталий бовкун[/URL] написал:
Здравствуйте.
У меня почему  в цикле foreach не чего не происходит, совсем, хотя свойства передаются и файл прикреплен.

$arProperty):?>
echo $arProperty['FILE_SIZE']; //размер файла в байтах
echo $arProperty['FILE_NAME']; //Транслитированное название файла
echo $arProperty['ORIGINAL_NAME']; //Оригинальное название файла
echo $arProperty['SRC']; //Ссылка на скачивание
?>



Пытаюсь вывести файл в каталоге для скачивания.
Каталог не основной.  [/QUOTE] Скажите, а нашлось решение проблемы. Очень надо.
Самый последний абзац- добавлен недели 2-е назад.
Хостинг панель BrainyCp: оптимизация под 1С-битрикс
 
Цитата
Максим Моисеев написал:
Как вы решили вопрос с многосайтовостью битрикс?
Да, просто сделал их через терминал- под пользователем.
Всплывающее окно с формой обратной связи Битрикс
 
Цитата
Антон Кудрявцев написал:
Вот так должно быть
Код
<script type="text/javascript">
setTimeout(function() {
    document.getElementById('win1').click();
}, 5000);
</script>
Всплывающее окно с формой обратной связи Битрикс
 
Цитата
Антон Кудрявцев пишет:
Здравствуйте, Михаил.
Подскажите, пожалуйста, в какой файл надо вставлять данную запись?
[QUOTE]setTimeout(function() {
     document.getElementById('win1').click();
}, 5000);
}; [/QUOTE] Вставляю в footer.php темы, но ничего не происходит. Работает только при нажатии на ссылку.
У вас синтаксис нарушен. Скопируйте один в один из теста заметки
Вывести производителей на сайте с отбором его товаров из каталога
 
Нужно в умный фильтр сразу передать производителя. То есть, что-бы текущий производитель был выбран, в нем, сразу- при загрузке страницы.
Можно получить ID значения свойства с производителем и js-ом кликнуть по нужному чекбоксу или выпадающему списку.
Изменено: Михаил Базаров - 10 декабря 2020 04:10:52
Индивидуальные цены в 1С-Битрикс: в каталоге и при оформлении заказа
 
Не учел, в заметке, один момент:
Пересчет заказа происходит после его окончательного оформления.
А в процессе оформления, цены и сумма будут без учета индивидуальных.

Не учел это, так как на конкретном проекте максимально упростил оформление заказа, у меня там не показываются товары и сумма (пример на скрине)

Если эти данные нужны, то также модифицируете их через result_modifier.php редактируя массив
$arResult['BASKET_ITEMS'] самого компонента оформления.
PS: Его же используете в confirm.php, плодить вызовы не надо
Изменено: Михаил Базаров - 5 декабря 2020 09:58:09
Индивидуальные цены в 1С-Битрикс: в каталоге и при оформлении заказа
 
Индивидуальные цены в 1С-Битрикс:  в каталоге и при оформлении заказа

В этой заметке постараюсь описать процесс реализации индивидуальных цен, для пользователей. При этом, индивидуальные цены будут синхронизироваться с 1С:Предприятие - в обе стороны.
Получение доступа к железу устройства из Битрикс мобильное приложение
 
Цитата
Дмитрий Кривой написал:
Прошу прощения, Михаил. На основе одной статей на тему разработки мобильного приложения Битрикс (и с учётом этой) хотелось бы уточнить - действительно ли функциональность уже встроенных библиотек никак не расширить?
Например, для расширения функциональности Cordova используются плагины, которые можно, конечно же, установить. Но а у Битрикса что, совсем никак?
Допустим, есть плагин, который позволяет включить/отключить вспышку на телефоне. И, получается, в рамках Битрикса я могу попрощаться с этой нужной для некоторых случаев функцией?
Буду очень благодарен за ответ.
Встроенных да, ни как. Именно по этому, давно перешел на Cordova - имею ввиду, не пользуюсь битриксовым модулем, делаю все с нуля на чистой Cordova
Получение доступа к железу устройства из Битрикс мобильное приложение
 
Получение доступа к железу устройства из Битрикс мобильное приложение

Документация к мобильному приложению 1С-Битрикс очень куцая. В основном описывает функционал добавляемый
BXMobileApp. Хотя, там вскользь и упомянута работа с железном устройства.
Явно не хватает примеров реализации данной возможности. Восполняю сей пробел.
Умный фильтр только на последнем уровне разделов каталога.
 
Цитата
MrFaradise написал:
debug => false
Пожалуйста
Не забудте вернуть debug => false
Оставлять на всегда, не безопасно
Умный фильтр только на последнем уровне разделов каталога.
 
В файле settings.php поменяйте режим показа ошибок
debug => false
на
debug => true
И покажет где именно ошибка в коде. Скорее всего синтаксическая, но визуально не вижу ее.
Минимальная сумма заказа в корзине 1С-Битрикс
 
Цитата
suncity krasnodar написал:
Здравствуйте!
Подскажите в mutator.php все нормально. В basket-total.php заменил, но в корзине ничего не меняется.. в чем может быть проблема? кеш сбросил
Может быть не в том шаблоне корзины делаете?
Это из более менее простого  :)

А так, сложно подсказать - нужно разбираться на месте
Вывести множественное свойство типа файл с названием и весом файла в Битрикс
 
Цитата
Eugene Eugene написал:
Такая же история, абсолютно не рабочий код. Пытаюсь вывести в catalog.element, никакой реакции системы нет.  1С-Битрикс: Управление сайтом 20.200.0 .
Распечатайте массив, есть ли хотя бы какое-то упоминание о файлах?
Только что проверил на одном проекте - все работает
Код
echo '<pre>';
print_r($arResult["DISPLAY_PROPERTIES"]);
echo '</pre>';
Изменено: Михаил Базаров - 23 ноября 2020 08:32:46
Вывести дополнительное пользовательское поле, использование полей в фильтрах
 
Вывести дополнительное пользовательское поле, использование полей в фильтрах

   Если вам нужно вывести дополнительное пользовательское поле типа "Привязка к разделам инфоблока", данная записка возможно поможет.
       Опыт использования достаточно узкий, мало где может понадобиться, но...просто оставлю это здесь
Массово: применить наценку ко всем товарам каталога с пересчетом от базовой.
 
Цитата
Константин Синильников написал:
Цитата
Михаил Базаров пишет:
можно сделать обработчик в init.php срабатывающий на событие добавление элемента OnAfterIBlockElementAdd
А есть код такого обработчика?

Примерно так (сделал не проверяя, возможны ошибки - но должно сработать):
Скрытый текст
Изменено: Михаил Базаров - 26 октября 2020 14:35:22
Вывести производителей на сайте с отбором его товаров из каталога
 
Цитата
Александр пишет:
Подсмотрел как решается моя проблема в шаблонах альфы. Выводится компонент новостей, а в него засовывают catalog. Возможно за место новостей тоже используют catalog.Получается хорошее решение для страницы брендов. Выводится сразу описание бренда, разделы и товары бренда. И, самое главное, можно задать мету для страниц каталога типа Все товары Васи - Одежда от Васи - Носки от Васи. Но вот загвоздка - ни как не пойму как catalog заставить фильтровать по бренду. Компонент catalog вставляю в component_epilog. Михаил может сможете помочь?
Собственно, в самой заметке и ответ  :)  Отфильтровать их по свойству бренда, который возьмется из названия "Новости"
Создание конструктора товара, Хотелось бы получить совет
 
В целом, если правильно понял по скринам: можно обойтись одним инфоблоком со SKU.
Сам костюм- это элемент,
Его составные части это предложения.
Если предложение SKU в корзине, поменять кнопку добавления на "В корзине"
 
Цитата
Илья Мельников написал:
А не подскажете как добавить еще и количество предложения в корзине?

Там же, в методе CSaleBasket::GetList можно получить поле QUANTITY - количество товара в корзине.

Пишу не проверяя, там подкрутите под себя
Код
// result_modifier.php
$dbBasketItems = CSaleBasket::GetList(
   array(
      "NAME" => "ASC",
      "ID" => "ASC"
   ),
   array(
      "FUSER_ID" => CSaleBasket::GetBasketUserID(),
      "LID" => SITE_ID,
      "ORDER_ID" => "NULL"
   ),
   false,
   false,
      array("PRODUCT_ID", "QUANTITY") // Добавил для получения QUANTITY

   );
while ($arItems = $dbBasketItems->Fetch())
{
   echo '<pre>';
   print_r($arItems); // тут получите ID шники и количества - дальше обработаете
   echo '</pre>';
}
Изменено: Михаил Базаров - 10 октября 2020 11:14:53
Если предложение SKU в корзине, поменять кнопку добавления на "В корзине"
 
Если предложение SKU в корзине, поменять кнопку добавления на "В корзине"

Данная заметка является дополнением к ранее опубликованной: Если товар в корзине, поменять значение input на "В корзине". Проделаем тоже самое, если используются торговые предложения. Но, можно использовать и в других сценариях.
Самодельная форма добавления элемента на API Битрикс
 
Цитата
Arsen Sheremeta пишет:
Здравствуйте.
У меня пошаговая форма на 6 шагов. Подскажите пожалуйста как сделать чтоб после первого шага форма  создавала запись (элемент), а с каждым следующим шагом, обновляла туже запись а не создавала новую? Спасибо!
На первом шаге создаете элемент методом: CIBlockElement::Add
На остальных обновляете методом: CIBlockElement::Update
REST API, Хотелось бы увидеть разбор
 
Не очень скоро, но до Нового года начну выкладывать новый видеокурс, по разработке полноценной доски объявлений.
В его рамках будет и создание мобильного приложения, постараюсь там и реализовать- осветить этот момент.
Звездочки в рейтинге Битрикс статей и новостей
 
Заметка старая. Сейчас, в битриксе есть шаблон звездочек, называется "bootstrap_v4"
В нем верстка лучше и управляемее, звездочки сделаны как svg картинки, которыми можно манипулироваться через css
Малая корзина Битрикс, упрощенный шаблон
 
Цитата
m761630 написал:
Михаил, добрый день. Установил ваш шаблон корзины, товары добавляются нормально, но есть одна проблема: на странице товаров сделана ленивая загрузка по кнопке и если добавить в корзину подгруженные товары-то страница вся ломается, загружается только какая-то часть контента без хедера, в консоли ошибка - TypeError: Cannot read property 'ajax' of undefined. Каталог товаров работает в режиме ajax
Да, под ленивую загрузку- нужно переделывать логику добавления.
Попрбуйте использовать штатный шаблон корзины - он умеет
Фильтр
 
Цитата
Василий Крохин написал:
Здравствуйте, подскажите пожалуйста

на сайте стоит фильтр он работает не корректно, а именно когда фильтруешь товар по параметру размер например  8,5 в  он отображает товары которых нет в наличии  
Нужно поподробнее о настройках каталога
Но, думаю, достаточно включить опцию в настройках компонента "Не отображать товары которых нет в наличии" и "Не отображать предложения которых нет в наличии"
Создание мобильного приложения на cordova, для любого сайта.
 
Если, при сборке проекта на новой версии платформы ios (6.*.*) получаете ошибку сборки вида:
Код
** BUILD FAILED **

The following build commands failed:
        Check dependencies
(1 failure)
Error code 65 for command: xcodebuild with args: 
------ СОКРАЩЕНО -------
ERROR running one or more of the platforms: Error: /ПУТЬ_К_ПРОЕКТУ/platforms/ios/cordova/run: Command failed with exit code 2
xcodebuild: Command failed with exit code 65
Выполните терминале:
chmod +x /ПУТЬ_К_ПРОЕКТУ/platforms/ios/MeetingPoint/Scripts/copy-www-build-step.sh
Дополнительные параметры в меню Битрикс
 
Цитата
Art Coupe пишет:
Вот на правом / левом меню это срабатывает. А как сделать для верхнего? По аналогии ничего не выводится. Если только в состоянии active раздел
Тяжело подсказать, скорее всего, что-то не учли. Работать должно с любым меню
Ленивая подгрузка картинок в компоненте, на vue js Битрикс
 
Цитата
Стас Хлопотов написал:
(в примере, подключил vue и директиву прямо в шаблоне компонента - для наглядности)

и получим проблему не подключения в template.php

\Bitrix\Main\UI\Extension::load("ui.vue");
\Bitrix\Main\UI\Extension::load("ui.vue.directives.lazyload");

при включеном кеше, для нагляности
Включил у себя, в портфолио - работает без проблем (c кешированием)
Но, согласен, в template.php - подключать не стоит. Это в целом не практично
Поехал почтовый шаблон, список заказанных товаров вылезает за границы письма
 
Попробуйте убрать всю верстку из шаблона, оставьте только текст - получится нагляднее (ломает верстка или что-то в init.php)
Сам init.php у вас конечно жесткий  :)  
Заполнить коэффициент единицы измерения (MEASURE_RATIO) из свойства элемента
 
Цитата
Юрий Аликов пишет:
не работает,потому что используются данные массива $ar_fields,а нужно $arFields
Да, поправил
Если папка то применяем...в Битрикс
 
Цитата
taa@webstripe.ru написал:
Здравствуйте.
Как сделать, что бы определенный элемент не появлялся(отображался) на главной И в одной директории?
if ($APPLICATION->GetCurPage() != '/')) { элемент } - не отображает на главной
Как приписать в CSite::InDir('/service/')) , так что бы в них не отображался элемент.
if ($APPLICATION->GetCurPage() != '/' and CSite::InDir('/service/')) - думал так, но тут логика не правильная, надо что бы во втором условии было "нет".  
Если элемент инфоблока- думаю проще через глобальный фильтр. Типа того
Код
$GLOBALS['arrFilter'] = array('!ID' => 12);
Создание мобильного приложения на cordova, для любого сайта.
 
Цитата
Julixs написал:
Спасибо интересный материал, действительно ценник выставленный битриксами немного зашкаливает но как они объясняют это копейки по сравнению со стоимостью нативного приложения.
У меня возник только один вопрос, могу ли использовать для сборки приложения cordova или phone gap если для создания контента я использовал модуль МП битриксов, а так же их методы и классы BitrixMobile, не повлияет ли это на сборку?
BitrixMobile скорее всего не заработает в таком приложении, но я как-то не пробовал и проверить сейчас негде.
Просто, попробуйте подключить его в Header.php и что-нибудь воспроизвести
Заполнение габаритов товара, после обмена с 1С, из свойств элемента инфоблока.
 
Цитата
Борис Черепанов пишет:
Добрый день
Написал обработку для того что-бы из реквизитов товара брать вес и габариты торгового предложения.
Если интересно  [URL=https://xakplant.ru/2019/04/19/выгрузка-веса-высоты-ширины-длинны-из/]вот ссылка[/URL]
Не заметил это сообщение  :)  свое дописал сюда же.
Но пусть тоже будет, у меня чуть иначе сделано и без ТП
Массово: применить наценку ко всем товарам каталога с пересчетом от базовой.
 
Цитата
sinilnikov@principcomp.ru пишет:
Пардон, а куда вставлять код с методом CPrice::Update?  
Просто на любую страницу и открыть ее в браузере
Массово: применить наценку ко всем товарам каталога с пересчетом от базовой.
 
Массово: применить наценку ко всем товарам каталога с пересчетом от базовой.

Рассмотрим как, в магазине работающем на 1С-битрикс, массово применить наценку на все товары каталога. Устанавливать будем для не базовой цены. При каждом обновлении базовой цены (например при обновлении товаров импортом), наша цена будет пересчитываться согласно наценке.
Минимальная сумма заказа в корзине 1С-Битрикс
 
Цитата
Roland 303 написал:
Приветствую, а следующая заметка с указанием минимальной суммы для разных групп покупателей еще не готова?
Пока нет, пишется )
Заполнить коэффициент единицы измерения (MEASURE_RATIO) из свойства элемента
 
Цитата
База Таймень написал:
почему-то не работает. блин очень нужно сделать, но не пашет. выполнял в админке в PHP командной строке

Оттуда не сработеат, нужно модифицировать. Киньте скрипт на любую страницу и откройте ее
Заполнить коэффициент единицы измерения (MEASURE_RATIO) из свойства элемента
 
Заполнить коэффициент единицы измерения (MEASURE_RATIO) из свойства элемента

Задачка: Каталог наполняется из 1С, но 1С не передает коэффициент единицы измерения (особенность конкретной 1С, а вообще она умеет). Вместо этого, коэффициенты забиваются в обычный, дополнительный реквизит и приходят на сайт как свойство.
Минимальная сумма заказа в корзине 1С-Битрикс
 
Цитата
Александр Козлов пишет:
[QUOTE][URL=/club/user/1/]Михаил Базаров[/URL] пишет:
Включите вывод ошибок в .settings.php[/QUOTE] Вот, что не нравится: [CODE] [ParseError]
syntax error, unexpected ''MIN_SUMM'' (T_CONSTANT_ENCAPSED_STRING), expecting ')' (0)

Запятую забыли тут
Код
'CURRENCY' => $result['CURRENCY'],  //<<<<<<- нет запятой 
'MIN_SUMM' => $minSummMustache,  // - тоже можно поставить (не обязательно)
Изменено: Михаил Базаров - 18 июля 2020 09:05:24
Многосайтовость битрикс на разных доменах
 
Скорее всего, что-то с правами для пользователя, под которым работает apache.
Попробуйте проверить атирибуты файлов и папок
Минимальная сумма заказа в корзине 1С-Битрикс
 
Минимальная сумма заказа в корзине 1С-Битрикс

В этой заметке добавим возможность установки минимальной суммы заказа, в новом шаблоне корзины на 1С-Битрикс.
Ограничение служб доставки по наличию товара на складе, Ограничение служб доставки по наличию товара на складе для расчета стоимости и отображения вариантов в карточке товара
 
Цитата
Максим Морозов написал:
Всем привет.
Пробую сделать так:  
Код
 //ограничение по наличию товара на складах (если 0, то отправит false).
$arQuantity = CCatalogProduct::GetByID($arResult['ID']);
$quantityAll = $arQuantity['QUANTITY'];

if ($quantityAll > 0) {
    return true;
} else {
    return false;
}
 
Но, количество не передается в файл php с ограничением службы доставки. Как можно решить проблему?


Как-то сложно понять до конца устройсво решения. Но, если что, количество уже есть в массиве элемента, его можно не получать через API
Код
<?=$arResult['CATALOG_QUANTITY'] ?>
для предложения, соответсвенно
Код
<?= $arOffer['CATALOG_QUANTITY'] ?>

Но с самой задачкой до конца не понятно
Изменено: Михаил Базаров - 15 июля 2020 10:19:51
Как загружать новые товары в начало каталога
 
Цитата
Елена Андреева написал:
Здравствуйте! не могу разобраться, как сделать так, чтоб при загрузке новых товаров в каталог, они отображались вверху страницы (первыми). Сейчас у нас новые грузятся после старых, кажется, что в каталоге ничего не меняется(
В настройках компонента, который выводит товары (полагаю, что комплексный) прокрутите до пункта "Настройка списка" и выберите сортировку как на картинке.
Изменено: Михаил Базаров - 3 июля 2020 15:45:02
Самодельная форма добавления элемента на API Битрикс
 
Цитата
Павел Шестаков написал:
Добрый день.
Все что нужно уже сделано, но вот возникла такая проблема.
Инфоблок куда пишу данные имеет свойство "Товар" - привязка к элементу инфоблока каталог товаров. При создании заявки нужно сделать выбор 1-3 элементов из каталога.  Как это реализовать полноценно на API не могу разобраться (новичок еще), прошу помощи натолкнуть на мысль.
Суть в том, что вам нужно получить список товаров методом
https://dev.1c-bitrix.ru/api_help/iblock/classes/ciblockelement/getlist.php
загнать их в select
И передать в нужное свойство (привязка к элементам) ID выбранного товара
Создание мобильного приложения на cordova, для любого сайта.
 
Если (скорее всего) в процессе импорта проекта в Android Studio получаете ошибку не совместимости с Gradle-7
Перейдите: в Файл -> Структура проекта
И выберите
Anrdoid Gradle Plugin Version = 3.1.4
Gradle Version = 6.0

Можете поиграться с версиями повыше, но с этими точно работает.


Полный текст возможной ошибки
Код
* Get more help at https://help.gradle.org

CONFIGURE FAILED in 34s

Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.1.1/userguide/command_line_interface.html#sec:command_line_warnings
Код
Unable to find method 'org.gradle.api.file.ProjectLayout.directoryProperty(Lorg/gradle/api/provider/Provider;)Lorg/gradle/api/file/DirectoryProperty;'.
Possible causes for this unexpected error include:
Gradle's dependency cache may be corrupt (this sometimes occurs after a network connection timeout.)
Re-download dependencies and sync project (requires network)

The state of a Gradle build process (daemon) may be corrupt. Stopping all Gradle daemons may solve this problem.
Stop Gradle build processes (requires restart)

Your project may be using a third-party plugin which is not compatible with the other plugins in the project or the version of Gradle requested by the project.

In the case of corrupt Gradle processes, you can also try closing the IDE and then killing all Java processes.
Как в каталоге при включенном ajax получить подраздел?, ajax, каталог
 
Попробуйте вставить компонент вызова детальной новости, в component_epilog вызова разделов каталога (в catalog.section.list)
Сейчас проверить негде, но гипотетически - должно сработать.
Серия 25: Отправка мобильного приложения на компиляцию и публикацию в магазинах
 
Цитата
diamondkim написал:
Михаил, здравствуйте. Вы обещали показать, как самостоятельно собрать APK. Был бы очень признателен. Доначу)
https://www.youtube.com/watch?v=OYtCVOHe_KY&list=PL8CIWP7ylJENGpxXqTlWDZqSGZcyhbgx3
;)  
Вывести все разделы в которых находится элемент инфоблока
 
Цитата
Роман Селькин написал:
Опять ошибка скрипта.
Лишняя скобка } в конце была
Вывести все разделы в которых находится элемент инфоблока
 
Цитата
Роман Селькин написал:
$sectionFullPath = CIBlockSection::GetNavChain(false,$ar_group['ID']);  while($arSectionPath = $sectionFullPath->GetNext()){    print_r($arSectionPath)  } }
Вот так
Код
$ElementId = $arResult['ID'];
    $db_groups = CIBlockElement::GetElementGroups($ElementId, true);
    while($ar_group = $db_groups->Fetch()) {

   $sectionFullPath = CIBlockSection::GetNavChain(false,$ar_group['ID']);
    while($arSectionPath = $sectionFullPath->Fetch()){
      print_r($arSectionPath)
    }
}


Изменено: Михаил Базаров - 31 мая 2020 13:34:08
Вывести все разделы в которых находится элемент инфоблока
 
Да, пути тут нет, его можно получить с помощью CIBlockSection::GetNavChain
Вы знаете ID раздела, выведите вот так
Код
$sectionFullPath = CIBlockSection::GetNavChain(false,$ar_group['ID']);
  while($arSectionPath = $sectionFullPath->GetNext()){
    print_r($arSectionPath)
  } 
} 
Скорее всего, среди прочего получите полный путь
Определить местоположение пользователя и показать на карте
 
Определить местоположение пользователя и показать на карте

Задача определить местоположение текущего пользователя и показать его на карте, с меткой. Сделать можно с помощью класса
GeoIp - Пространство имён для классов для работы с геолокацией.
Вывести все разделы в которых находится элемент инфоблока
 
Цитата
Роман Селькин пишет:
$ar_group
Сейчас негде проверить, посмотрите что там в массиве $ar_group, думаю пусть там есть
Код
<pre>
print_r($ar_group);
</pre>
Использование WebP изображений в 1С-Битрикс (на Битрикс: Веб окружение)
 
Цитата
Pechnikmsk написал:
Благодарю за полезную и необходимую информацию.


Вопрос
Цитата
Внимательно! В моем примере я указал путь до папки upload нужного сайта. В моем случае /home/bitrix/ext_www/bxstory.ru/ Вы должны указать свой

В моем случае на сервере под VMBitrix - работает два сайта, два сайта расположены в директории ext_www. Как сконфигурировать хост для отдачи WebP - для нескольких сайтов, работающих на одном хосте?
Просто пропишите настройки для двух сайтов, у каждого из них свой nginx- хост
Обновление через ajax (bitrix:sale.basket.basket.line)
 
Это умеет стандартный шаблон basket.line - там есть вся информация о товарах и ajax обновление.
ПРосто посмотрите в типовом магазине работу этого шаблона и перенесите нужный функционал к себе
Серия 16: Выгрузка товаров из 1С-УТ в Битрикс
 
Цитата
witja245 написал:
Здравствуйте Михаил ! а не подскажите где и как можно сделать условия при обработке данных при выгрузке из 1С. Нужно сделать так что если в товарах в 1С нет описания а только краткое то на сайте в поле полное описание заносилось краткое описание
Можно написать обработчик в init.php который будет его копировать.
Только смысл не очень понятен: просто выводите краткое описание, если не заполнено детальное
Код
if(empty($arResult['DETAIL_TEXT'])) {
 echo $arResult['PREVIEW_TEXT'];
} else {
 echo $arResult['DETAIL_TEXT'];
}
Добавить все свойства инфоблока в умный фильтр одним разом
 
Вот по этому методу почитайте
https://dev.1c-bitrix.ru/api_help/iblock/classes/ciblockproperty/getlist.php
Можно использовать поля свойств в фильтре.
Например: PROPERTY_TYPE => array(S, L)
Тогда, для добавления в фильтр отберутся только с типом "Строка" и "Список"

Доп запросом, можно получить параметр HINT (описание свойства) что-то написать в это поле, у не нужных свойств и исключить их условием
if (empty($arProperty['HINT']))  
Изменено: Михаил Базаров - 8 мая 2020 07:26:01
Добавить все свойства инфоблока в умный фильтр одним разом
 
Добавить все свойства инфоблока в умный фильтр одним разом

Если у вас достаточно много свойств, в инфоблоке с товарами, например: больше 1000-чи, после интеграции с 1С или импорта из файлов поставщика. И необходимо добавить все свойства в умный фильтр. Поможет эта заметка.
XML в формате Commerce ML-2, города России и Мира, для выгрузки в инфоблок Битрикс
 
Цитата
template.rest написал:
Здравствуйте, Михаил. Данный XML больше не актуальный?
И вы писали что "В планах, создать нечто подобное с регионами. Где регионы это разделы инфоблока и внутри города-элементы." Не реализовывали?
XML-ка актуальная, разве что городов- может быть стало больше.
С регионами не делал, как-то пока не нужно было.
Адаптивное гамбургер меню для битрикс
 
Цитата
Вася Гурьянов написал:
извините за столь тупой вопрос, я новичок в битриксе, а как добавить-то это меню на существующий сайт в битриксе
Скопировать шаблон меню в шаблон своего сайта.
В нужном месте, где оно должно вывестись, добавить и настроить компонент bitrix.menu
Подключение мобильной версии шаблона Битрикс сайта, с автопереключением
 
Цитата
Александр Посохов написал:
Цитата
Михаил Базаров написал:
Адаптивная верстка шагает по www но я не ее сторонник. Предпочитаю, что бы сайт не грузил чертову кучу скриптов и стилей.
Подскажите, какой способ реализации мобильной версии сайта актуален на сегодня (2020 год)?
Спасибо.
Да, заметка написана очень давно.
На текущий момент актуален только адаптив, скорости мобильного интернета и самих телефонов- вполне позволяют.

Поддерживать, фактически, два сайта: мобильный и декстопный, иногда, накладно даже.

PS: Заметку подкорректирую, что бы не вводит в заблуждение, устаревшими доводами.
Ускорение работы сайта на 1С-Битрикс
 
Цитата
Артем Молодов написал:
при попытке подключения pagespeed с Вашим конфигом - ругался nginx на двойную строку включения фильтров.
подскажите она точно верная?
По модулю nginx pagespeed - пока, не готов подсказывать. Несколько раз пробовал, на разных проектах, везде проблемы и существенного ускорения не дают.
Вроде бы, посвятил этому достаточно много вреени- но от проблем избавиться не удалось.
Пока, решил, не использовать эту штуку- на реальных проектах.
Вывести все разделы в которых находится элемент инфоблока
 
Цитата
jerrard.genry написал:
Добрый день.
Михаил не могли бы помочь.
В result.modifier.php получаю все разделы элемента, но так как с GetElementGroups я не могу получить UF_ свойства, надо дальше прогнать GetList

Не получаю то, что мне нужно. Понимаю что не так сделал , не силен в этом.
Как мне добавить в полученный массив SECTION_LIST к каждому элементу дополнительно все свойства UF_
не могли бы помочь? Спасибо
Если уж, все равно используете CIBlockSection::GetList - может только его и оставить? Смысл проделывать двойной прогон?
И GetNext вместо Fetch
Связанные элементы в карточке товара, с помощью catalog.section
 
Можно добавить в component_epilog.php
Код
$GLOBALS['arrFilter'] = array("PROPERTY_VHODIT_V_KOMPLEKT_VALUE"=> $arResult['ID']);

И вывести catalog.section с этим фильтром
Код
"USE_FILTER" => "Y",
"FILTER_NAME" => "arrFilter",


А, не дочитал. Связка по символьному коду, тогда:
Код
$GLOBALS['arrFilter'] = array("PROPERTY_VHODIT_V_KOMPLEKT_VALUE"=> $arResult['CODE']);
Изменено: Михаил Базаров - 28 апреля 2020 09:37:47
Вывод товаров родительской категории текущего элемента
 
Если правильно понял вопрос, нужно получить ID родительского раздела, зная ID текущего (потомка)
Код
$arResult['SECTION_ID'] = CIBlockFindTools::GetSectionID(
    $arResult['VARIABLES']['SECTION_ID'],
    $arResult['VARIABLES']['SECTION_CODE'],
    array('IBLOCK_ID' => $arParams['IBLOCK_ID'])
);
$res = CIBlockSection::GetByID($arResult["SECTION_ID"]);
if($ar_res = $res->GetNext()) {
   $parentSectId = $ar_res['IBLOCK_SECTION_ID'];
}
Если товар в корзине, поменять значение input на "В корзине"
 
Цитата
Alex Kan пишет:
$arResult['ID']
Да, только передайте правильно ID товара
$arResult['ID'] - в карточке
$arElement['ID'] - списке

Что бы не передавалось следующим элементам, обнуляйте переменную
unset( $itInBasket);
в конце вывода.
Изменено: Михаил Базаров - 22 апреля 2020 10:38:54
Самодельная форма добавления элемента на API Битрикс
 
Цитата
Виталий Близнецов написал:
Компонент добавления элемента в инфоблок
Да, там есть несколько багов. Пока, ни как не доработаю его.
Сейчас, в процессе, доска объявлений- на ней этот компонент дорабатываю (добавление объявлений пользователями, к у авито)
Как докручу выложу.

По множественному добавлению файлов:
Такая доработка обработчика

Создаем массив со свойствами файлов, методом CFile::MakeFileArray и передаем в $PROP["MORE_PHOTO"] (в моем случае, свойство с доп картинками)
Код
$arMorePhoto["VALUE"];
    $i = 0;
    foreach ($_POST["MORE_PHOTO"] as $morePhoto) {
        $arMorePhoto['n'.$i] = array("VALUE"=>CFile::MakeFileArray($morePhoto));
        $i++;
    }
$PROP["MORE_PHOTO"] = $arMorePhoto;
Правильно указать путь к отредактированным компонентам.
 
Цитата
Маргарита Синяева написал:

К примеру, штатный компонент обратной связи:
отредактированный шаблон элемента, размещён в ".......\bitrix.shop\local\templates\.default\components\bitrix\main.feedback"
в html коде прописала следующим образом
Вот тут, в \bitrix.shop\local\templates\.default\components\bitrix\main.feedback , точно все правильно.
Тут должна быть папка шаблона, в вашем случае .default и в ней сам шаблон.
Полный путь до файла шаблона
Код
 \bitrix.shop\local\templates\.default\components\bitrix\main.feedback\.default\template.php
Отключить капчу при регистрации на сайте с помощью компонента main.register
 
Выключите ее в
Администрирование - Настройки - Главный модуль - вкладка "Авторзация и регистрация"
где-то в середине там, галка "запрашивать captcha при регистрации"
Перенос контента на новый шаблон
 
Цитата
template.rest написал:
Здравствуйте, Михаил. Давно у Вас не был. Поздравляю с обновлением сайта.
У меня такой вопрос:
На данный момент использую шаблон Аспро: Priority заполнил его контентом, сейчас появилась необходимость перейти на шаблон Аспро: Next, подскажите пожалуйста какие варианты можно использовать, чтобы сменить шаблон с сохранением контента?

Спасибо!
Можно установить Next вторым сайтом, привязать инфоблоки первого сайта к этому, второму.
Удалить первый сайт.
Наверное, это самое простое.
Правила работы в корзине, Вывод правил работы в корзине в карточку товара.
 
Очень смутно, понял Ваш вопрос.
В битрикс есть штатный функционал "Расширенное управление ценами".
Можете забить все цены и вывести  всю таблицу цен

Используя API - как угодно можете представить это пользователю.
Плюс, есть модуль маркетинига, можно решить на его уровне.

Да, в штатных шаблонах нет этого функционала, но он весь есть в документации. В API
Изменено: Михаил Базаров - 10 апреля 2020 22:59:51
Перенос Битрикс сайта с хостинга на хостинг, инструкция
 
Цитата
Bonya Bonya написал:
хочу перенести сайт из старого хостинга на новый, но не могу определиться с выбором. Поможете? Хотелось бы что-то из популярных выбрать, к примеру на хострадар собран рейтинг лучших, среди которых такие как бегет, макхсот, евробайт и другие, какой бы посоветовали?
Из перечисленных пользовался только бегетом. В общем-то сейчас есть клиент на нем.
Битрикс малый бизнес, без посещаемости, вот такой результат:
В целом не плохо.
Платный курс уроков
 
Цитата
Роман Момотов написал:
Вы случайно не практикуете платные уроки?
=)  
Пока нет и в обозримом будущем не планирую.  :)  
"Жёсткая связка" рекомендуемые товары
 
Цитата
Роман Момотов написал:
Здравствуйте, в 20 уроке разбирается "Имитация списка рекомендуемых товаров" всё отлично работает, а вот как самостоятельно выбирать рекомендуемые товары, (синий, чёрный, красный провод и вот эту вот табуретку мы рекомендуем покупать с этим телефоном) штатный битриксовский компонент "Рекомендуемые товары" (catalog.recommended.products) что то не работает, не получается автоматически подставлять нужный айдишник товара у которого будут выводится рекомендации, приходится в ручную прописывать ID но это  же не нормально!
Вот ещё пост из блога  https://camouf.ru/blog-note/6157/?sphrase_id=42673  сделано всё по инструкции, а всё равно весь каталог выдаётся вместо конкретно выбранных товаров
Спасибо
Для "жесткой" привязки используйте тип свойства "Привязка к элементам..." там можно выбрать интерфейс (автозаполнение по названию или выбор из списка) но суть сведеться к тому, что у элемента будет массив связанных элементов- его и используйте для вывода.
Вывести производителей на сайте с отбором его товаров из каталога
 
Цитата
Александр написал:
Добрый день. Михаил а как данном случае добавить вывод всех разделов для бренда? У меня задача: Бренд - Разделы бренда - Товары и, желательно, все на одной странице. При этом нужно выводить сначала разделы, а потом подразделы не уходя из карточки бренда. При этом товар должен отбираться согласно разделу. Пытался сделать по вашей схеме, но catalog.section.list в упор не видит фильтра. Пытался сделать через привязку к разделам, но ни как. Вывожу бренды через каталог, а в catalog.element добавляю ваш код. Элементы отлично отбираются, а вот с разделами беда. Выводятся все сразу.
    Скрытый текст        
Код
 
Как минимум это не очень правильно, выводить компоненты внутри шаблона другого компонента- скорее всего возникнут проблемы с шешированием. Используйте component_epilog.php

По вопросу: Если правильно понял, нужно отбирать в сatalog.section.list разделы (с его подразделами), названия которых совпадают с названием бренда
(хранится в $brandsName)?

Быстрый (но не очень оптимизированный, в плане скорости) вариант:
В шаблоне сatalog.section.list проверять первый уровень раздела на совпадение названия:
Код
<?if (($arSection['DEPT_LEVEL']) =='1') && (($arSection['NAME']) === $brandsName){?>
 Ссылка и название раздела или что там нужно вывести.
<?}?>

Идеальный вариант, доработать компонент сatalog.section.list сделав, по сути, тоже самое но выкинув не нужные запросы из компонента, что бы работал быстро и через настройки компонента.
Изменено: Михаил Базаров - 26 марта 2020 13:02:46
Цвета торговых предложений из Highload инфоблоков в списке товаров
 
Цитата
Антон Сурнин написал:
Как лучше поступить? Есть торговое предложения Кровать оно имеет характеристики: размер, с  Подъемным Механизмом  или без  ПМ , и цвет(материал). По свойствам: размер, с ПМ или без ПМ цены разные, но цена не изменчива от цвета(материала).
Если делать торговые предложения по всем свойствам: размер, с ПМ или без ПМ и цвету(материалу) то получается 360 торговых предложения только на одну модель.
Рационально было бы сделать торговые предложения только по свойству: размер, с ПМ и без ПМ, а свойство цвет вывести как просто справочник.
Вообще это нормально 360 торговых предложений только лишь на один товар, мне кажется это создает избыточную нагрузку на БД или я ошибаюсь?
А как получается, так много предложений?
У Вас (в примере) получается всего два предложения с ПМ или без ПМ - все остальные параметры товара это свойства конкретного товара (предложения).
На стандартном шаблоне сделать не получится.
Если доработаете/адаптируете его:
Покупатель выбирает ПМ или БПМ - дальше довыбирает цвет и прочие параметры, которые не относятся к предложению, а именно к товару.
Вывести список всех пользователей с необходимой информацией
 
Цитата
Vladislav пишет:
Как закешировать эту выборку, можно пример?
Вот этим методом
https://dev.1c-bitrix.ru/api_help/main/reference/cphpcache/index.php
Там почитайте, есть примеры.

Но, лучше заверните это дело в свой компонент (с кешем), как-то правильнее будет - нежели выводить прямо на страницу.
Серия 16: Выгрузка товаров из 1С-УТ в Битрикс
 
Цитата
Алексей Симонов написал:
Добрый день!
Подскажите где рыть?
При обмене выгружается каталог, выгружаются разделы, выгружаются группы товаров, но сами товары в группы не выгружаются...
Первое что стоит проверить.
В настройках обмена, в параметрах выгрузки каталога (по моему, на второй вкладке) проверьте параметр: Классифицировать номенклатуру по видам.
Точно не помню, должна стоять или нет- сейчас нет 1С под рукой. Попробуйте выгрузить и со снятой и с проставленной галкой.

Если не поможет: попробуйте выгрузить 1-2 группы, с несколькими товарами в файл и посмотреть, что там в нем творится, привязаны ли товары к XML-ID групп
 
Вывод картинки в детали новости
 
В VALUE переданы ID файлов картинок.
Получить путь к картинке можно методом
CFile::GetFileArray()

Готовое решение тут
https://camouf.ru/blog-note/301/
Изменено: Михаил Базаров - 14 марта 2020 18:24:22
Спойлер в списке новостей Битрикс
 
Цитата
Екатерина Аристова написал:
    Скрытый текст        
Цитата
Пример работы у меня  Вопросы по битрикс

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

PS Может не работать с jquery-3 и выше.
Вывод разделов и подразделов, Проблема с компонентом Catalog
 
Совсем не понял сути задачи.
Можете на реальном примере и со скриншотами объяснить.

Если нужно, внутри подраздела, получить SECTION_CODE родительского раздела для текущего подраздела:
он содержится в $arResult["VARIABLES"]["SECTION_CODE"]
Самодельная форма добавления элемента на API Битрикс
 
Цитата
Даурен Смаилов написал:
В коде: $PROP['file'] = array($_FILES['file1'],$_FILES['file2'], $_FILES['file3']);
Можно использовать компонент
bitrix:main.file.input
Код
<? $APPLICATION->IncludeComponent("bitrix:main.file.input", "dragn_n_drop", Array(
                        "INPUT_NAME" => "file", // name использованный в обработке
                        "MULTIPLE" => "Y",  // Разрешить множественную загрузку
                        "MODULE_ID" => "main",
                        "MAX_FILE_SIZE" => "",
                        "ALLOW_UPLOAD" => "A",
                        "ALLOW_UPLOAD_EXT" => ""
                    ),
                        false
); ?>
Автоматическая загрузка каталогов из csv файлов в Битрикс
 
Цитата
aramania пишет:
Здравствуйте Михаил.

Вы неправильно указали путь! пропустили папку  bitrix

10 1 * * * bitrix /usr/bin/php -f /home/bitrix/www/php_interface/include/catalog_import/import­ ­_catalog.php 1

Должно быть  
 
10 1 * * * bitrix /usr/bin/php -f /home/bitrix/www  /   bitrix   /  php_interface/include/catalog_import/import_catalog.php 1
Да, спасибо, поправил
Добавление инфоблока, а страница не найдена, Добавление инфоблока, а страница не найдена при клике на детальный просмотр
 
Цитата
Евгений Гасанов написал:
Доброго времени суток.
Подскажите пожалуйста что я не так сделал.
Создал тип инфоблока
Создал инфоблок "vacancy": в нем прописал:
URL страницы информационного блока: #SITE_DIR#/vacancy
URL страницы раздела: #SITE_DIR#/vacancy/#SECTION_CODE_PATH#
URL страницы детального просмотра: #SITE_DIR#/vacancy/#ELEMENT_ID#

Вывел на страницу Список элементов Инфоблока и там прописал:
URL страницы детального просмотра (по умолчанию - из настроек инфоблока): #ELEMENT_ID#
Список вывелся, но при переходе на детальный просмотр, выводится "Страница не найдена"
1) Попробуйте слеши проставить, в конце URL-ов
2) В настройках структуры, запустите пересоздание адресов страниц

PS: Так понимаю, это СЕО-шники настаивают на "убрать / у не конечных URL". Там все сложнее, нужно докручивать работу ЧПУ.

PS2: Если это СЕО-шники, настаивают- попросите у них адекватный ответ: "На х... зачем?" это).
Мне не один, вразумительно не ответил  :)  
Изменено: Михаил Базаров - 9 марта 2020 21:07:26
Серия 14: Функционал главной страницы, включаемые области и реклама
 
Цитата
Юрий ВС написал:
Приветствую. Модуль указанный в уроке не работает, причем судя по отзывам довольно давно. Пробовал еще этот  https://marketplace.1c-bitrix.ru/solutions/evalga.locationinformer/  , судя по отзывам довольно неплохой, но он даже не устанавливается, пишет что не найдена cURL, хотя библиотека установлена. Может быть существуют еще какие то варианты помимо платных модулей?
Добрый
Модуль из видео работает, буквально вчера устанавливал (на свежий битрикс)
 
Ошибка "Invalid highloadblock description" после первой выгрузки из УТ 11.4
 
Скорее всего 1С пытается создать новый HL блок, но он уже существует, с другими настройками.
Попробуйте удалить все HL блоки, и выгрузить еще раз.
Что бы наверняка, вообще удалите модуль HL блоков (вместе с его таблицами) - и установить сново.

PS Не забудте забекапиться перед этим, на всякий случай.
Изменено: Михаил Базаров - 7 марта 2020 22:18:05
Как изменить артикул товара при выборе торгового предложения (скриптом)?
 
Тяжело так подсказать. Нужно на живую разбираться. Вообще это штатный функционал типового шаблона.
Как изменить артикул товара при выборе торгового предложения (скриптом)?
 
Цитата
Павел Сидоров написал:
Доброго времени суток.
Друзья, прошу помощи.

Как реализовать подобный функционал ?  Пример

Суть в том, что при выборе торгового предложения изменяется артикул.
Это штатный функционал. Добавьте торговым предложениям свойство "Артикул", заполните и выберите его на вывод- в настройках компонента каталога.

Если не срабатывает: временно переключите на встроенный шаблон каталога - должно заработать.
"Помечаем новинки лейблом в каталоге битрикс"
 
Цитата
Роман Момотов написал:
https://camouf.ru/blog-note/865/index.php?amp;current_fieldset=SOCSERV
Попробуйте сменить PROPERTIES на DISPLAY_PROPERTIES
Хотя, должно бы сработать итак, просто что бы убедиться поменяйте.
Обнулить цены в каталоге товаров., init.php
 
Если правильно понял.
Вот этот метод-то что вам нужно
https://dev.1c-bitrix.ru/api_help/catalog/classes/cprice/cprice__setbaseprice.a8de1fcf.php
Получаете ID элементов и устанавливаете им новую цену (0 - в данном случае)
Настройка выгрузки товаров в Яндекс Маркет с сайта Битрикс
 
Цитата
Антон Науменко написал:
Доброго времени суток! Что-то пошло не так. Все сделал как описано в статье, но при повторном входе в настройки созданного мною экспорта в детальных настройках пропала вкладка "валюта и цены", а внесенные изменения во вкладке "настройка выгрузки" не сохраняются. Все это печально. Подскажите, в чем может быть проблема!!!
Заметка староватая.
Воспользуйтесь вот этим модулем
https://marketplace.1c-bitrix.ru/solutions/yandex.market/
Это официальный, от Яндекса - там все гибко настраивается.
Не меняется статус при оплате
 
Цитата
Adrian Lazarov написал:
При оплате через яндекс кассу, в админке не меняется стастус на выполнен, постоянно весит статус "Принят, ожидается оплата" хотя все оплачено и средства поступили на счет, в чем может быть причина?
Проверьте вот эти настройки в модуле Интернет-магазина
Плюс, в настройках платежной систему- она должна отдать успешность оплаты на страницу с магазином (зависит от платежной системы)
модуль Highload-блоки (highloadblock)
 
Цитата
Adrian Lazarov написал:
На сайте случайно удалили модуль "Highload-блоки (highloadblock)" теперь в разделе Администрирование когда переходим в каталог, выдает такую ошибку

как решить проблему ?

Тут только искать резервную копию. Если удалили модуль вместе с таблицами.
Если, при удалении, не выбирали удаление таблиц- должна помочь просто установка модуля обратно.
Редизайн сайта
 
Цитата
Елена Синица написал:
 Подскажите, пожалуйста.  
 На Битриксе есть сайт, сделанный по довольно простому шаблону с устаревшей информацией. Задача - выполнить редизайн с обновлением контента. Как лучше сделать, чтобы не потерять SEO позиции? Сначала создать копию старого сайта, произвести в ней все обновления и потом подключить домен? Или можно создать новый сайт по новому шаблону в том же аккаунте на Битриксе и к нему подключить домен старого сайта? Что посоветуете?  
С практической точки зрения, лучше всего делать на копии. Что бы не переносить контент и не переживать за сохранность URL.
Делаете копию, вносите необходимые обновления и потом переносите копию на боевой домен.
Поделиться: Спасибо, это помогает развивать сайт:
Ваша реклама в этом месте: 5 000 руб. / мес, сквозная по всему блогу.

Заметка в блоге: 5000 рублей. Остается на всегда. До 3-х индексируемых ссылок.
Ссылка в уже существующей записи блога или видеораздела: 7000 рублей. Остается на всегда. До 2-х индексируемых ссылок.

Просьба писать на mihail@bazarow.ru
Мой youtube канал.

На нем, уже много видеоуроков по 1С-Битрикс. Как одиночные видео так и серии видеоуроков Перейти на канал

Стоимость разработки сайта

Я не оцениваю работу в часах, так как в итоге, Вы все равно захотите узнать общую стоимость и срок выполнения.

При оценке проекта или работ я сразу называю стоимость и срок выполнения. Стоимость, срок и объем работы подлежат обсуждению только по взаимной договоренности сторон.
Ноутбук
Узнать точную стоимость разработки сайта или приложения: Для этого, достаточно, как можно подробнее, заполнить вот этот опросник: Скачать опросник и выслать на электронную почту mihail@bazarow.ru.
После ознакомления, смогу задать уточняющие вопросы и оценить проект по срокам и стоимости.
Решения на битрикс

Магазин, на базе готового решенияот 35 900 рублей / от 3 до 5 дней

В стоимость входит: Подбор решения из более 200-от готовых сайтов, под Вашу задачу. Полный запуск сайта на сервере или хостинге, со всеми настройками. Инструкции по работе с готовым решением. Базовая СЕО оптимизация. Запуск готового сайта за 3-4 дня. Небольшие доработки под задачу.

Авторизация

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