Михаил Базаров (Все сообщения пользователя)

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

Создание мобильного приложения на cordova, для любого сайта.
 
Создание мобильного приложения на cordova, для любого сайта.

Если стоит задача разработки мобильного приложения для сайта, можете воспользоваться данной заметкой. Постарался сделать ее более менее подробной, но при этом не сильно нудной.
Серия 14: Функционал главной страницы, включаемые области и реклама
 
Цитата
Светлана Ильина написал:
Сейчас заметила, что и левое меню с каталогом с каталогом в контенте не работают - нет перехода по ссылкам.
В админке, запустите полную проверку системы. Исправте все ошибки, как минимум- можно начать разбираться с этого.
Серия 11: Создание структуры сайта, работа с типами меню
 
Пров
Цитата
Светлана Ильина написал:
Добрый день, спасибо за уроки.
У меня все выводится, но при попытке сохранить шаблон вылетает ошибка (скрин прилагаю).
Код в header.php компонента:
Откуда копать?

Проверить права на папки и файлы шаблона и файлов публички. Просто не может записать новые файлы, наверное от root пользователя их создавали.
Запретить изменения описаний товаров при выгрузке из 1С УТ на сайт
 
Цитата
jetdan86 написал:
Михаил добрый день,
Не подскажите, а как сделать, чтобы НДС при обмене не выгружался из 1С. Обработчики на стороне сайта  не помогают, все равно налог создается автоматом, если его даже удалить. Поддержка толком ничего сказать не может.
Можно деактивировать НДС после обмена.
1С ка будет его постоянно выгружать или активировать (если деактивирован). Но, можно на это же событие импорта каталога, повесить этот метод:
https://dev.1c-bitrix.ru/api_help/catalog/classes/ccatalogvat/update.php
Просто переключая, по заверешение импорта, активность ставки в "N"
ajax корзина
 
Цитата
Adrian Lazarov написал:
Подскажите, как basket.line сделать что бы он обновлялся при добавление товара из catalog.section?

на главной есть catalog.section при нажатие на "заказать" в корзину падает товар, но basket.line обновляется только после перезагрузки страницы, как добавить обновление корзины, так как в стандартном шаблоне есть файлы ajax.php и ajax-template.php, для чего они и как работают?
Переключите catalog.section на системный шаблон, скопируйте в шаблон своего сайта.
Все методы описаны там, в файле script.js
Помогите пожалуйста как это сделать, подробности внутри.
 
Или, совсем топорно, если в конце "пар" нет точки  :)
Код
<?=$arElement['PROPERTIES']['CML2_BASE_UNIT']['VALUE'];?>ы
Помогите пожалуйста как это сделать, подробности внутри.
 
Ну, решение в лоб. Не сказал бы что изящно:
Код
<? 
if ($arElement['PROPERTIES']['CML2_BASE_UNIT']['VALUE'] === 'пар') { 
    echo 'пары'; 
} 
?>
Помогите пожалуйста как это сделать, подробности внутри.
 
Цитата
classsystem@icloud.com написал:
Доброго времени суток, Михаил и всем посетителям сайта.
Подскажите пожалуйста как это сделать? На сайте есть свойство со значением "пар", как сделать так, чтобы в некоторых местах выводилось "пару", не меняя значение свойства в админке?

Сейчас вывожу просто значение свойства:
Код
 <?=$arElement['PROPERTIES']['CML2_BASE_UNIT']['VALUE'];?>
 

Спасибо, буду очень благодарен!
Можно написать это, альтернативное назвнаие, в описание свойства. И выводить его, там где надо.
Точно не помню, по моему оно в параметре ['HINT']
То есть, получится
Код
<?=$arElement['PROPERTIES']['CML2_BASE_UNIT']['HINT'];?>
Если не угадал, распечатайте тот массив, посмотрите где оно там
Код
<?print_r($arElement['PROPERTIES']['CML2_BASE_UNIT']);?>
Как можно вывести просто ссылки на все разделы и элементы в карту сайта?
 
Можно кастомизировать компонент catalog.section.list или menu (наверное, menu предпочтительнее).
Просто добавить в него вывод ссылок и названий элементов, в структуированном виде.

Если прикинуть, думаю, можно и в main.map - но давно в нем не ковырялся.

Если по простому: зная ID или CODE разделов (должны быть в массиве $arResult), можете получить список входящих в него элементов.
Дальше, через result_modifier и CIBlockElement::GetList, добавляте данные о элементах в этот массив (название и ссылку)

PS: Вариант с result_modifier, дабы не выносить компонент в свое пространство имен- не на столько важная доработка.
Использование WebP изображений в 1С-Битрикс (на Битрикс: Веб окружение)
 
Цитата
i92hqvpz2j08@mail.ru написал:
Михаил подскажите, а как бороться с уже не актуальными файлами .webp - в нашем интернет магазине очень часто меняется ассортимент, удаляются товары. .Jpeg файлы удаляются средствами битрикс, а вот копии в формате WebP созданные скриптом webpconverter.sh остаются. Как автоматизировать их удаление например запуском раз в сутки всех, либо только не актуальных, файлов webp?
Можно, просто проходиться рекурсивно по всем под директориям upload у удалять файлы с расширение .webp
Почитайте про find в unix, сходу не помню точный синтаксис

Примерно (сразу не пробуйте, могу ошибаться)
Код
find /home/ПУТЬ_ДО_UPLOAD -name '*.webp' -type f -delete
Многосайтовость битрикс на разных доменах
 
Цитата
Александр Королев написал:
Опять путаница с этой многосайтовостью.

Уже и не знаю что делать.. + у вас на видео инфоблоки разные, то есть пере каждым стоит s1 или s2 у меня же по 2 инфоблока с одинаковыми названиями, уже если только в внутрь заглянуть то там стоят настройки

Не смогу так подсказать, нужно разбираться на месте. Какую-то мелочь не учли.
Перенос Битрикс сайта с хостинга на хостинг, инструкция
 
Цитата
classsystem@icloud.com написал:
Михаил Базаров, да вроде решилось.
В защите сессий отключил хранение данных в сессий в БД модуля, потом заново включил. И выключил смену идентификатора.

Так решилось.

Как исправите у себя отпишите пожалуйста. Все равно полезно.

Благодарю.

Да, быстрый вариант: отключить смену ID сессии    - но, надо "разобраться по уму", на уровне сервера и окружения. Заходите сюда на днях, напишу правильное решение.
Перенос Битрикс сайта с хостинга на хостинг, инструкция
 
Цитата
classsystem@icloud.com написал:
Михаил Базаров, спасибо навели на правильные мысли.

Теперь все работает. Единственное образовалась проблема, то что постоянно как будто выполняется выход из системы. А сама страница виснет и при обновлении страницы просит ввести логин и пароль.
Да, вот эта проблемка есть) Она и тут, у меня на сайте - руки пока не добрались. Завтра разберусь- напишу, что не так.
С этой проблемой, сталкиваюсь только на своем сайте- постоянно выкидывает.
Что-то с сессией админа
Перенос Битрикс сайта с хостинга на хостинг, инструкция
 
Цитата
classsystem@icloud.com написал:
Добрый день, Михаил. Подскажите пожалуйста как правильно сделать чтобы сайт открывался с директории ext_www, а не с www. Делал все как по видео.

Добавил домен через DNS SERVER на simplecloud. На www все убрал и оставил только index.php но по домену сайта открывается с директории wwwВидимо, не правильно добавили сайт в окружение.
Инструкция, по добавлению сайта, актуальна на данный момент- все должно работать. Повторите, повнимательнее

Видимо, не правильно добавили сайт в окружение.
Инструкция, по добавлению сайта, актуальна на данный момент- все должно работать. Повторите, повнимательнее
Не работает вызов редактирования компонента sale.basket.basket, Малый бизнес, начиная с 19.0.325
 
Думаю, лучше обратиться в поддержку битрикс. Тут надо на живую разбираться
вывести товары под разделом
 
Тут посмотрите
https://camouf.ru/club/user/1/blog/202/
Там полузаготовка, но делает то что нужно.
Поддокрутите под себя
Изменить количество на 0
 
Цитата
Dmitriy Ivanov написал:
Добрый день, подскажите как можно поменять количество на 0
что бы по умолчанию стояло 0, а не 1
bitrix:catalog.section
Просто в верстке поменяйте на 0. Единственное, что так купить не смогут. Но проблем, именно сменить цифру, не должно быть
Многосайтовость битрикс на разных доменах
 
В заказах видно на каком сайте он сделан. Можно вывести колонку с сайтом в список заказов и установить ее первой
Типа того
Свойство инфоблока в catalog.section
 
Прямо в catalog.item в файле card/template.php - в нужном месте
Код
<? echo $item['PROPERTIES']['ATT_ARTICULE']['VALUE'];?>
Перенос Битрикс сайта с хостинга на хостинг, инструкция
 
Цитата
iphonevalera21@icloud.com написал:
Здравствуйте, Михаил. При создании базы данных выходит ошибка:
Database creation return error:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

С чем она может быть связана?

Спасибо.
Не подошел пароль root пользователя базы данных.
Если новое веб окружение- пароль root написан в файле
/root/.my.cnf
Закрытый сайт
 
Цитата
Dmitriy Ivanov написал:
Подскажите, как правильно создать страницу, есть два каталога, но, что бы 1 каталог видели только группа пользователей 1, а каталог 2 видели только группа пользователей 2?
Ограничить доступ к инфоблоку, нужным пользователям (точнее разрешить, всем остальным запретить)
Добавить галерею из картинок (MORE_PHOTO) в подробное описание товара
 
Можно вот так
Код
<?if(count($arResult["MORE_PHOTO"])>0){ // Если есть доп фотки?>
   
   <?foreach($arResult["MORE_PHOTO"] as $PHOTO):?>
      <img src="<?=$PHOTO["SRC"]?>" />
   <?endforeach?>

<?}else{ // Если доп фоток нет?>

   <?if (strlen($arResult['DETAIL_PICTURE']['SRC']) !== 0) { // Если есть детальная?>
      <img src="<?=$arResult['DETAIL_PICTURE']['SRC']?>">
   <?}else{ // Если детальной нет?>
      <img src="<?=$arResult['PREVIEW_PICTURE']['SRC']?>">
   <?}?>

<?}?>  

Можно проверять наличие нужных данных через (empty) - тут уже дело второе

В штатном шаблоне, по сути, этаже логика реализована в script.js - там с закруткой в magnifier - но можете в нем поковыряться.
Я обычно выкидываю эту часть скрипта. Монструозный он, как по мне.  
Вставка текста в бренды
 
Просто пишите в описание товара. Если уже занято, в свойство типа "HTML/TEXT"
Если нужно на несколько товаров какого-то раздела (что бы не писать в каждый), как пользовательское свойство раздела.
Ускорение работы сайта на 1С-Битрикс
 
Цитата
inq написал:
Михаил спасибо за видео.
Подскажите пожалуйста, если на битриксе 2 или 3 сайта работают (в режиме многосайтовости) то каким образом прописывать "идентификатор кэш сессий"
define("BX_CACHE_SID", $_SERVER["DOCUMENT_ROOT"]."#01");
define("BX_CACHE_SID", $_SERVER["DOCUMENT_ROOT"]."#02");
define("BX_CACHE_SID", $_SERVER["DOCUMENT_ROOT"]."#03");

Или просто через запятую?
define("BX_CACHE_SID", $_SERVER["DOCUMENT_ROOT"]."#01, #02, #03");
Интересный вопрос, что-то ни разу не делал memcached  с многосайтовостью.
Если рассуждать логически: установка одна, значит достаточно задать один идентификатор, а битрикс должен разрулить на своем уровне.
Как минимум разложить кеши всех сайтов по своим "директориям" и не перемешавать.

Наверное: есть резон спросить у ТП Битрикс. Если напишите им- буду благодарен если скопируете ответ сюда)

PS: Я бы не использовал в качестве ID сессий, ID сайтов. Если, на этом сервере появится еще одна установка битрикс (отдельная, вне текущей многосайтовости) - там могут оказаться такие же ID сайтов.
Мой метод, с первыми двумя буквами домена, может тоже не идеальный) Но все таки по надежнее. Можно и не две буквы, а целиком домен.
Запретить изменения описаний товаров при выгрузке из 1С УТ на сайт
 
Цитата
selakonst@ya.ru написал:
Еще забыл указать, что версия  Битрикс самая новая, но при этом включена поддержка старых событий
Так с ходу не подскажу, и проверить сейчас негде.
Но как варианты, можно вообще без этой нагрузки обойтись:

1) Простой. Создать под доп. картинки отдельное свойство, которого вообще нет в реквизитах 1С. Например: MORE_PHOTO_2
А штатное, пусть себе болтается пустое (можно спрятать из редактирования элемента- чтоб не раздражало)

2) Сложный: Вынести обработчик импорта в свое пространство имен и доработать- выкинуть обработку картинок (там внимательно, есть еще обработка фалов - не картинок)

PS: Последнее время, стараюсь вообще не "перебарщивать" с init.php - если можно обойтись без его раздувания, прикладываю максимум усилий )
Вставка текста в бренды
 
Цитата
Васили Крохин написал:
Здравствуйте, подскажите пожалуйста, как можно такое реализовать.

Суть такая нужно для определенного бренда сделать возможность вставлять текст в карточке товара например оплата за этот товар только наличными сборка и доставка не включена  
Информации маловато. но можете создать еще одни инфоблок (или HL инфоблок) и связывать его элементы, в которых нужные услуги/дополняшки, с текущим элементом.

Но, если опишите поподробнее - наверное, смогу и ответить подробнее.
Постраничная навигация в списке разделов Битрикс- catalog.section.list
 
Постраничная навигация в списке разделов Битрикс- catalog.section.list

Если в магазине очень много разделов и хочется вывести их с постраничной навигацией: можно воспользоваться методами CDBResult::IsNavPrint(), CDBResult::NavStart и CDBResult::NavPrint
Доброго дня! Помогите, не могу разобраться с работой события, Значение свойства элемента записывается со второго раза
 
А, не внимательно прочитал- итак редактируете существующий элемент.
Но свой поссаж оставлю- мало ли кому пригодится, при добавлении элемента.

У вас, вот эта проверка точно выполняется корректно?
Код
 if (!empty($bxrecRatingVal))
Изначально, свойство- видимо пустое. На второй итерации сохранения, как раз уже не пустое и задача выполняется.
Доброго дня! Помогите, не могу разобраться с работой события, Значение свойства элемента записывается со второго раза
 
Событие запускается при обновлении элемента "OnAfterIBlockElementUpdate" - именно обновление существующего.
Отработайте и "OnAfterIBlockElementAdd" - добавление
Код
Событие "OnAfterIBlockElementAdd" вызывается после попытки добавления нового элемента информационного блока методом CIBlockElement::Add. 
Работает вне зависимости от того были ли созданы/изменены элементы непосредственно, поэтому необходимо дополнительно проверять параметр: RESULT_MESSAGE.Параметры
Ускорение работы сайта на 1С-Битрикс
 
Ускорение работы сайта на 1С-Битрикс

Данная статья написана специально под видеоролик (приложен в конце статьи), опубликованный на моем ютуб канале: "Ускорение работы сайта на 1С-Битрикс".
Изменить размер картинок на лету в битрикс
 
Цитата
Александр Коваленко написал:
И так получается после каждого обновления будут создаваться новые картинки, а старые, такие же, просто неконтролируемо заполнять место на сервере.
Не должны. Если не меняется исходная картинка- то ее обработанная копия, лежит в /upload/resize_cache - и всегда отдается одна и та же.
Если обновится исходная, то создастся новая копия. Старые удалятся если сбросите кеш сайта.
Серия 16: Выгрузка товаров из 1С-УТ в Битрикс
 
Цитата
iphonevalera21@icloud.com написал:
Здравствуйте, Михаил.
Такой вопрос, как вывести свойства товаров из 1С? Чтобы название свойства и их значения = свойства и значения в битриксе.

Выбирать из группы списка или как?

Спасибо!
Наверное, не понял вопрос.
Но, если понял правильно - просто выберите нужные свойства в настройках компонента.
Фильтр с десятичными числами
 
Цитата
Roman Selkin написал:
Михаил, я правильно понимаю, эьто должно работать сразу из "коробки" или же нужно что то настроить?
Да, должно из коробки. Попробуйте:
- Проверьте, реально ли свойство является числом (хотя, иначе и не вывелись бы как ползунки- но на всякий).
- Проверьте, указываете ли числа через запятую или точку (попробуйте и так и так)
- Попробуйте включить встроенный в битрикс шаблон умного фильтра. самый свежий (по моему bootstrap_v4 называется - будет ли работать)
Фильтр с десятичными числами
 
Цитата
Roman Selkin написал:
Михаил, день добрый. Вы можете помочь в данном вопросе или нет?
Вот так, в рамках форума не смогу помочь. Нужно разбираться на месте.
Но, на ближайшее время очень загружен.
Серия 23: Создание основных настроек и скелета приложения
 
Цитата
Sub Zero написал:
Цитата
Все правильно, что ы создать приложение должна быть установлена именно "Мобильная платформа (mobileapp)"  
Это я понял  У меня вопрос - где взять именно демонстрационное приложение, которое eshop_app.
Вот это, как то не подскажу. Можете мою папку с приложением скачать. В какой-то из серий приложена
Серия 23: Создание основных настроек и скелета приложения
 
Цитата
Sub Zero написал:
Почему-то на редакции Бизнес в структуре нет модуля eshop_app - Мобильное приложение. Есть только Мобильная платформа. У вас я вижу эта папка есть. Её убрали теперь, или нужно откуда скачивать самому, подскажите.
Все правильно, что бы создать приложение должна быть установлена именно "Мобильная платформа (mobileapp)"  
Ограничение в количеств символов
 
Цитата
pavel gushchin написал:
Добрый день. Михаил, подскажите пожалуйста, как можно в анонсе товара либо вывести большее количество символов в названии, либо добавить текст анонса. Почему то не вылазит собака доп текст под названием, а если длинный текст с анонсовой часть, то обрезается...
Если используете новый шаблон каталога, скоро на ютуб канале выпущу видео- постараюсь разобрать работу этого шаблона и в целом- переверстку его под свой шаблон (этот момент, с анонсом- постараюсь не забыть).

Если используете старый шаблон. Там, этой проблемки, вроде бы не должно быть.  
Видеоурок №1: вводный
 
Цитата
serzh8686@mail.ru написал:
Михайл доброе время суток!
Подскажите тольконачал изучать 1С-Bitrix (небольшой опыт Fotoshop и HTTP имеется)....в Вашем первом уроке была дана инструкция как всё нужно сделать...и я как-то у вас не нашёл во вкладке "Блог-note" на сайте вашем ссылку на тему создание сайта...чтобы скачать шаблон psd как указано в видеоуроке...можете ссылку дать на указанный ресурс)
Добрый
https://camouf.ru/upload/uroki_bitrix/maket.psd
Вывести все подразделы текущего раздела, Люди добрые, немножко вашего внимания и ваша помощь
 
В компоненте ничего менять не нужно. Решить, этот вопрос, можно на уровне шаблонов.
Вам нужно, просто получить ID (или CODE) родителя на нужном уровне раздела и передать его в catalog.section.list
Добавление и удаление из сравнения на AJAX: Битрикс
 
Цитата
Михаил,доброго времени суток!
Использовал Ваш метод,все работает! Но есть нюанс, я использовал его  в комплексном bitrix:catalog но в своем шаблоне.
При отметке товара "checkbox" появляются два окна ,одно на стандартном шаблоне другое то которое Ваша доработка, если отключать встроенный механизм в комплексный каталог перестает работать и Ваша доработка.
К сожалению не нашел как вызвать стандартный механизм сравнения товаров, воспользовался Вашим.
В том который штатный, попробуйте просто очистить шаблон это компонента. Совсем отключать его не надо- так и не должно работать.

В штатном, оставляете только цифру с количеством отложенного, он и обновляется при ajax запросе. Можно не выводить его в самом catalog.section - достаточно где-нибудь в шаблоне сайта (там где планируется вывод количества отложенного)
Фильтр с десятичными числами
 
Цитата
Roman Selkin написал:
Бегунок показывает только цельное число.  https://pastenow.ru/6447d785c395578e38b594669e62e476
Надо разбираться на месте, почему у вас не работает.
Вот тут с десятичными https://elipeneri.ru/catalog/elki_iskusstvennye/ (высота елки) - ни чего специально не делал.
Фильтр с десятичными числами
 
Цитата
Roman Selkin написал:
Добрый день. Есть задача, вывести в фильтре проекционное отношение. Есть значения минимальное и максимальное. Эти значение через точку. Как вывести эти значения в фильтр через бегунок, что бы можно было отсортировать. Сейчас это только через целое число.
наверное, не понял вопроса. Проблем с десятичными, в фильтре, не должно быть. Просто установите это свойство, как число
Вывести все подразделы текущего раздела, Люди добрые, немножко вашего внимания и ваша помощь
 
Тогда, пропробуйте так
Код
$SECTION_ID = $arResult['SECTION_ID']; //ID текущего раздела
$res = CIBlockSection::GetByID($SECTION_ID);
if($ar_res = $res->GetNext()) {
 print_r($ar_res);
}
 
В распечатке, получите все данные о разделе, в том числе о его прямом родителе (на самом верхнем, а о близжайшем).
Но не точно, сейчас проверить негде
Вывести все подразделы текущего раздела, Люди добрые, немножко вашего внимания и ваша помощь
 
Внутри под раздела получаете его родителя (раздел верхнего уровня, в вашем случае)
Код
$SECTION_ID = $arResult['SECTION_ID']; //ID текущего раздела
$sectionParent = CIBlockSection::GetNavChain(false, $SECTION_ID);
    while($arItem = $sectionParent->Fetch()){
        $parentSectionId = $arItem['ID']; // ID родителя (там массив, если больше одного родителя)
    }

В bitrix:catalog.section.list передаете этот ID
Код
<?$APPLICATION->IncludeComponent(
   "bitrix:catalog.section.list",
   "catalog_struktr_spa",
   Array(
      "ADD_SECTIONS_CHAIN" => "Y",
      "CACHE_FILTER" => "N",
      "CACHE_GROUPS" => "Y",
      "CACHE_TIME" => "36000000",
      "CACHE_TYPE" => "A",
      "COMPONENT_TEMPLATE" => "tree",
      "COMPOSITE_FRAME_MODE" => "A",
      "COMPOSITE_FRAME_TYPE" => "AUTO",
      "COUNT_ELEMENTS" => "N",
      "FILTER_NAME" => "",
      "IBLOCK_ID" => "2",
      "IBLOCK_TYPE" => "catalog",
      "SECTION_CODE" => "",
      "SECTION_FIELDS" => array(0=>"NAME",1=>"",),
      "SECTION_ID" => $parentSectionId,  // Тут передали ID
      "SECTION_URL" => "#SECTION_CODE#",
      "SECTION_USER_FIELDS" => array(0=>"",1=>"",),
      "SHOW_PARENT_NAME" => "Y",
      "TOP_DEPTH" => "1",
      "VIEW_MODE" => "LINE"
   )
);?>

Пишу по быстрому, но вроде бы ни чего не упустил.
Вам, скорее всего, нужно будет еще выполнять проверки на глубину текущего раздела.
Проблемы работы раздела Каталог лицензия Битрикс: Старт, В каталоге два раздела, в каждом по одному товару. 1. Электротягач; 2. Дробеструйная камера А вкладка дополнительно, одинаковая на все товары
 
У вас там, типовое решение Аспро. Вопросы реализации и работы функционала - лучше перенаправить к ним.
- Переделайте это "Дополнительно" как свойство раздела (пользовательское) - если нужно менять по всем товарам раздела
или
- Как свойство товара. Если нужно сделать уникальным, для каждого товара

PS: Просто совет, выкинуть это Аспро и сделать нормальный сайт.
Панель управления хостином VESTA и 1С Битрикс, базовая оптимизация
 
Цитата
sel@ukr.net написал:
А разве VestaCP не конфликтует с окружением битрикса? Или у вас все нормально?
Конфликтовать будет в любом случает. В заметке не рассматривается установка поверх или рядом с окружением битрикса.
Просто установка и оптимизация под битрикс- самой панели (ее окружения)
Свойство: привязка к Яндекс:Картам - вывести из нескольких элементов на одну карту
 
Цитата
Αнтон Μаксимов написал:
это с применением стандартной функции настраиваемой яндекс-карты?
а как заменить эти типовые точки на собственные, если требуется разделять объекты по значимости ??
Тут, пока не подскажу. Чуть позже, буду решать эту задачку. Если не забуду, допишу в эту заметку
Свойство: привязка к Яндекс:Картам - вывести из нескольких элементов на одну карту
 
Свойство: привязка к Яндекс:Картам - вывести из нескольких элементов на одну карту

Предположим, что у вас есть инфоблок со свойством "Привязка к яндекс картам". В этом инфоблоке некоторое количество элементов, в принципе любое. Пусть, это будут офисы продаж.
Задача: вывести все офисы продаж на карту с метками и основными данными о точке- в бубл (или как, там называется эта штука- при клике на метку).
Серия 17: Подготовка шаблона каталога к верстке
 
Цитата
iphonevalera21@icloud.com написал:
Добрый день, Михаил. Подскажите пожалуйста, а как быть в том случае если у меня порядок расположения по верстке идут следующим образом: количество, цена, кнопка купить. В вашем шаблоне simple (то что из видео урока) все  в одной куче.

Просто переставьте блоки местами, так как нужно по верстке- да и все
Сортировка элементов по индексу сортировки значений типа список, XML_ID
 
Цитата
cdl написал:
Вот ссылка записки
Собственно
propertysort_TYPE

TIP_ELEMENTA - это код свойства, в Вашем случае TYPE, который
Настройка выгрузки товаров в Яндекс Маркет с сайта Битрикс
 
Цитата
Александр Ульянов написал:
Михаил, спасибо за статью! Все получилось!
А  не подскажете, как добавить в выгрузку второй вид цен?
У меня розничная и оптовая цена. Оптовую нужно тоже выгрузить.
Статья немного старовата, попробуйте вот эту штуку
https://marketplace.1c-bitrix.ru/solutions/yandex.market/
Она официальная и достаточно гибкая в плане настроек- думаю, все получится
Многосайтовость битрикс на разных доменах
 
Цитата
Александр Каракозов написал:

Новый ключ?Ключ один же...версия битрикс старт
Написали что "мне не нужно параллельно создавать второй сайт". Если не второй сайт в многосайтовости- то нужен новый ключ.
На одном ключе, может быть не больше одной, боевой установки.
Многосайтовость битрикс на разных доменах
 
Цитата
Александр Каракозов написал:
Такой вопрос, мне не нужно параллельно создавать второй сайт, у меня есть один готовый, мне нужно сделать такой же, только англ. версию, то есть мне по сути нужно его скопировать и поменять в нем тексты с ру. на англ., как я могу упростить свою задачу?
Можно, просто сделать резервную копию сайта, развернуть его и активировать новый ключ уже внутри этой копии.
Ну а дальше, просто заменить тексты.
Denwer c PHP 7.1.8 и MYSQL 5.7 оптимизированный для Битрикс
 
Цитата
Александр Максимов написал:
Михаил, а другие смs на вашей сборке Денвера запустятся? Вордпресс? Спасибо
Должны. По сути, любые должны
УРЛ
 
Цитата
Roman Selkin написал:
Михаил, день добрый. Нужна ваша помощь.  У нас есть страничка  https://otzovik.one/otzyv/?ELEMENT_ID=143327 . Хотим данный урл укоротить, что бы было  https://otzovik.one/otzyv/143327 /.Но после перенастроек все открывается 404. Не могли бы вы помочь. Доступ готов предоставить.
Зайдите в Администрирование - Настроки - Модули - Управление адресами страниц
И пересоздайте правила обработки.
Обычно, из за этого такое поведение (чаще всего, если меняли параметры компонента на прямую- по FTP).

Если не поможет, проверьте файл .htaccess может в нем не указан urewrite.php

Если и это не поможет, надо разбираться на живую. Там уже, всякое может быть.
Создание блога с комментариями, оценками и просмотрами на сайте с 1С-Битрикс
 
Цитата
Павел Сидоров написал:
Доброго времени суток.
Есть один нюанс при такой настройке ЧПУ как показано на видео.

Например
Каталог ЧПУ (относительно корня сайта): /recipes/
Страница общего списка: index.php
Страница раздела: #SECTION_CODE#/
Страница детального просмотра: #ELEMENT_CODE#.php

Тогда при обращении к  несуществующей странице  (например /recipes/авбгдеёж) будет отдаться не 404, а страница общего списка.

Если знаете как исправить данный недостаток подскажите пожалуйста.

Спасибо

Попробуйте, в настройках компонента, в самом низу- поставить галки:
- Отдавать 404
- Показ специальной страницы (пропишите путь к странице ошибки)
Должно бы помочь, но не точно.
Малая корзина
 
Цитата
pavel gushchin написал:
Опять же ерунда получилась. Считает вместе с избранным...
Помогите сделать по уму... Пока не приходит на ум как это можно сделать стилями.
Просто в большую корзину выводит количество товаров со словом "товаров" на сумму "...". А в малой нужно просто выводить цифру
Просто попрячте не нужную информацию в display:none; на медиа запросах
https://habr.com/ru/company/google/blog/173861/
Вывод цены в рассрочку
 
Цитата
Roman Selkin написал:
Хотели, что бы от стоимости товара система автоматом высчитывала цену в рассрочку. То есть скрипт и код который сможет высчитать минимальную сумму в рассрочку и выведет в определенное место. Максимальный строк рассрочки 24 месяца.
Если выводить по первому варианту, то это прописывать ручками надо в карточке товара, а это не очень удобно.
Просто загоните цену в некую переменную, а дальше: просто математические функции php - по некой,
нужной вам, формуле и вывод результата расчета.
Малая корзина
 
Цитата
pavel gushchin написал:
Здравствуйте! Все пытаюсь разными способами вывести количество товара в малую корзину(мобильную). В широком формате прописан вызов компонента. А в месте мобильной корзины где должна светится цифра никак не пойму что прописать.
Метод избранного должен наверное быть, но пока непонятен...
Куда посмотреть? вывел так, но авыводит только для 1 товара, хотя в корзине большее количество одного и того тже товара.
Код
 <?
$cntBasketItems = CSaleBasket::GetList(
        false, [
                "FUSER_ID" => CSaleBasket::GetBasketUserID(),
            "LID" => SITE_ID,
            "ORDER_ID" => "NULL"
        ], [], false, ['ID']);
?> 
А использовать корзину из "широкой" версии не вариант? Просто, через css и медиа-запросы привести ее к нужному виду.

А ваш код, какой-то странный) по сути выводит наличие или отсутсвие товара в корзине (не количество, просто- да/нет, по сути).
Тут
https://dev.1c-bitrix.ru/api_help/sale/classes/csalebasket/csalebasket__getlist.4d82547a.php
есть пример правильного вывода.

Но я, все таки, посоветовал бы адаптировать основную корзину.
Вывод артикула
 
Цитата
pavel gushchin написал:
Поменял, пропал опять артикул. Может ещё что то не так? Ну если с элемент работает, на что то повлиять может?
Да, это я ошибся) Не каталожный foreach подсказал. Верните arElement
Вывод артикула
 
Цитата
pavel gushchin написал:
['PROPERTIES']
Поменяйте $arResult на $arItem
Правило работы с корзиной
 
Цитата
Dmitriy Ivanov написал:
Подскажите, как можно реализовать так, что бы определенный товар, можно было заказать только от 10шт, если меньше 10шт то в корзину не добавляется
Можно сделать на уровне шаблона.
Просто, для input - в которое вводится количество, указать min="10", предварительно переназначив его в type="number".
Это из простого решения.

Более заморочистое, но правильное (дабы не "прибивать гвоздями" в шаблоне)
- создать свойство для товаров: "Минимальная партия";
- по умолчанию указать ему число (10, в вашем случае);
- выполнять проверку на это число, для кнопки добавления в корзину;
- если условие не выполнено, как то уведомлять пользователя- что именно, пошло не так.  
Вывод цены в рассрочку
 
Цитата
Roman Selkin написал:
Добрый день. Как можно в карточке товара вывести стоимость товара в рассрочку рядом со стоимостью товара. Рассрочка товара максимальный срок 24 месяца.
Если просто текст, просто найти в шаблоне место, где выводится цена и дописать.
Если шаблон типовой, найдите поиском
case: price
В этом блоке вывод цены.

Если цена, в рассрочку, отличается- можно создать еще один тип цены и вывести ее- в нужном месте шаблона.

В общем, нужно побольше конкретики- что бы подсказать более точно
Не выводится скидка
 
Цитата
valia9889@gmail.com написал:
а ваши верстальщики/программисты не могут этого сделать?
Наши это чьи? Я тут один вроде :)  
Многосайтовость битрикс на разных доменах
 
Цитата
Андрей Бакрин написал:
Добрый день. У меня почему-то при попытке установить второй сайт такую ошибку выдает:
Fatal error: require(): Failed opening required '/home/o/oknave5o/poddomen.site.tech/public_html/bitrix/header.php' (include_path='.:/usr/share/php') in /home/o/oknave5o/poddomen.site.tech/public_html/index.php on line 2
Скорее всего не правильно прописали путь к ядру bitrix - второй сайт его не видет
Вывод разделов на главной
 
Цитата
Dmitriy Ivanov написал:
Подскажите, как вывести на главной разделы с элементами в таком вот виде:  https://yadi.sk/i/FoNO1SX1TcrgOw  .  https://yadi.sk/i/fRiLxEXNKE8aGw
То есть, на главной вывести название раздела и под ним товары из этого раздела
Использовал section.list но кроме названия ничего не выводится
Можно воспользоваться вот этим компонентом.
https://camouf.ru/club/user/1/blog/202/
Там подкрутите под себя, нужно добавить вывод нужных данных о товарах.
В общем, базово все выведет- детали уж подкрутите.
Многосайтовость битрикс на разных доменах
 
Цитата
Максим Горланов написал:
Михаил добрый день,

Не удается запустить второй сайт на поддомене.
Виртуальный хостинг TimeWeb.
Для первого сайта имеем директорию /home/c/cx45616/bitrix/public_html
Для второго сайта создаю директорию /home/c/cx45616/CARGO/public_html
Копирую файлы index и .access, даю права 777
Делаю символьные ссылки.
Создаю второй сайт в админке битрикса с указанием корневой папки /home/c/cx45616/cargo/public_html
Сортировки - 100

После нажатия кнопки сохранить, перенаправляюсь на сайт на поддомене и открывается пустая страница
Установка шаблона не происходит
C Таймвебом, вечно какие-то проблемы. Попробуйте обратиться в их тех поддержку.
Серия 17: Подготовка шаблона каталога к верстке
 
Цитата
Артём Пушкарский написал:
Здравствуйте, как можно скрывать сайдбар на странице детального просмотра карточки товара при использовании комплексного каталога?
Вывести его в section.php, так что бы не было в element.php
Ленивая подгрузка картинок в компоненте, на vue js Битрикс
 
Цитата
Дмитрий Мамченко написал:
Столкнулся с проблемой, что после сброса кэша работает. как только появляется кэш то не работает ленивая загрузка. Не сталкивались?
Не замечал, сейчас у себя скинул кеш- вроде бы все работает как надо
Select  вместо chekbox в умном фильтре 1С-битрикс
 
Цитата
a13z2005@yandex.ru написал:
Михаил Базаров  подскажите  - как в этом селекте реализовать выбор нескольких значений?
Заметка уже староватая. В штатном фильтре должна быть такая возможность- если память не изменяет.
Если нет, можно переделать чекбоксы- нужно будет плотненько поверстать и попотеть- но сымитировать такую возможность через них
Вывод элементов с помощью API битрикс
 
Цитата
Алексей Иванов написал:
Подскажите как проверить на наличие элементов в инфоблоке?
Если пусто то вообще не выводит ни чего.
Если пусто-то ни чего и не выведется. Если правильно понял вопрос.
news.list внутри news детального просмотра
 
Цитата
Dmitriy Ivanov написал:
Проблема решилась добавлением в .htaccess
   RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-l
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_URI} ^(.*/[^/\.]+)$
  RewriteRule ^(.*)$  http://%{HTTP_HOST}/$1/  [R=301,L]  

Не стоит так делать. Запрещено вставлять вызов компонентов с кешированием, в template.php. Сделайте лучше правильно, через component_epilog.php этот файл, подключается (грубо говоря "пристыкуется") в конец template.php и в нем не работает кеш самого шаблона (само собой, работает кеш вызванного компонента).
news.list внутри news детального просмотра
 
Цитата
Dmitriy Ivanov написал:
Добрый день, подскажите что не правильно делаю, в news компонент, внутри детального просмотра, добавил компонент news.list, "читать так же" статьи выводятся, и при наведение url отображается правильный, но при переходе выкидывает на главную, а в строке url адрес статьи
Скорее всего, вставляете простой компонент, в шаблоне компонента- который, в составе комплесного.
Используйте или component_epilog.php или (что правильнее) вставляйте вызов простого компонента внутри комплексного.
Фильтрация пунктов меню
 
Если правильно понял вопрос: именно в $SECT_ID у вас не передается ID нужной секции.
Передайте ее в эту переменную
Скрыть свойства которых нет в наличии
 
Цитата
KROXIN1000@MAIL.RU написал:
Здравствуйте подскажите как скрыть свойства которых нет в наличии

Например есть майка у нее есть размеры  L; XL; XLL; и т.д. а в наличии только L
Это в штатных параметрах есть. Называется
"Недоступные торговые предложения" - скрывать, показывать, показывать в конце

Если не срабатывает, убедитесь что это передается в комплексном компоненте
"HIDE_NOT_AVAILABLE_OFFERS" => $arParams['HIDE_NOT_AVAILABLE_OFFERS'];
Детальная страница новостей - шапка
 
Цитата
Dmitriy Ivanov написал:
Добрый день, подскажите, как можно сделать, что бы в детальной странице "bitrix.news" шапка  сайта скрылась? и вместо нее добавить другую
Сходу приходит три варианта:

1) Через свойства страницы. Подробнее тут
https://dev.1c-bitrix.ru/learning/course/?COURSE_ID=35&LESSON_ID=1929

2) Создать отдельный шаблон сайта и в качестве параметра передать проверку на нахождение в детальной новости

3) Сделать шапку включаемой областью и подключать, на детальной новости, нужную область (с шапкой).

4) Самый хреновый: прятать шапку в display:none и выводить нужную шапку (их будет две) в display:block
Битрикс и modx evolution на одном диске, как поставить на одном диске битрикс и modx evolution?
 
Цитата
Сергей Брызгалов написал:
Здравствуйте,
есть собственный vps, на нем битрикс, старый "эксперт".
Теперь захотели поставить туда же modx evolution.
Подскажите, пожалуйста, можно так сделать?
На работе Битрикса не отразится?

Если есть какие-то обучающие материалы, скиньте пожалуйста:
- как поставить две разные cms на одном диске

Есть какие-то подводные камни?
Сам modx на битриксе сказаться не должен- если все правильно сделаете.
Но, заработает ли сам Modx на этом окружении- не подскажу.
Серия 5: Верстка пользовательских форм и доски объявлений #В режиме стрима
 
Цитата
dvb dvb написал:
Монстр получался интересный и красивый. Соцсеть с доской и магазином показала бы Битрикс во всей мощи... Очень важная попытка. На соцсети многие поломались. А свой компонент с добавлением пользователем объявления в инфоблок останется?
Да, компонент будет и скорее всего комплексный.
На соц. сети все "ломаются", скорее всего, от не понимания зачем ее делать. В рамках видео-обучалок тем более.  
INPUT type="file" Предпросмотр превью картинки до загрузки
 
INPUT type="file" Предпросмотр превью картинки до загрузки

Рассмотрим на примере компонента "Форма добавления-редактирования элементов инфоблока", как сделать ее более удобной для пользователя. Способ самодостаточный и будет работать с любой формой у которой есть input[type="file"]
Серия 5: Верстка пользовательских форм и доски объявлений #В режиме стрима
 
Цитата
dvb dvb написал:
Интересная серия уроков. Жаль, что долго нет продолжения.
Серия полностью перезапущена. Вместо попытки делать монстра: магазин + доска + социальная сеть
Делается просто, полноценная доска объявлений.
Выйдет примерно в середине сентября. Сразу все серии, решил не тянуть по одной серии, а запишу все сразу и вывалю на ютуб

Следить можно тут https://bxstore.ru ну или на ютуб канале
Установить цену товара из свойства инфоблока
 
Цитата
Сергей Петрухин написал:
Вместо
require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/header.php");

пишем
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");

И наслаждаемся
Да, если не нужно отображение шаблона- можно и так. Или для cron задания
Установить цену товара из свойства инфоблока
 
Установить цену товара из свойства инфоблока

На одном из проектов, нужно было единоразово заполнить цены товаров из свойства инфоблока. Сделать это можно через API, методами
CPrice::Update и CPrice::Add
Проверка на наличие элементов, текущего пользователя, в заданном инфоблоке.
 
Проверка на наличие элементов, текущего пользователя, в заданном инфоблоке.

Если стоит задача, определить наличие элементов созданных пользователем на сайте. Можно воспользоваться API: CUser и CIBlockElement
Хостинг панель BrainyCp: оптимизация под 1С-битрикс
 
Цитата
Александр Евгеньевич написал:
Михаил, подскажи пож. я вот панель установил на VDS но у меня не большая проблемка. Как правильно устанавливать DNS сервера от хостинга?
C этим моментом не разбирался как-то. Всегда использую DNS от Яндекса или reg.ru
Вывести минимальную цену торговых предложений в Битрикс
 
Цитата
Вячеслав пишет:
Михаил, насколько я понял ["SKU_PROPERTY_ID"] - это ID свойства привязки предложения к товару.
И соответственно выводится не минимальная цена СКУ, а цена у которого ID наименьший среди других. На моем примере это видно (см.скрин). https://yadi.sk/i/w1yKStmgcMKAUQ
Так как сделать сортировку именно по цене?
Вот это правило сортировки, должно вывести именно наименьшую цену
"PRICE"=>"ASC"
Часть 2: Установка типового магазина битрикс на сервере
 
Цитата
Алексей Чичикин написал:
Михаил, здравствуйте. А для каких целей вы покупаете виртуальную машину?
Почему бы просто не развернуть битрикс на локальном сервере и работать там, а потом выкинуть на нужный домен? Или я что то не понимаю?
Спасибо.
На виртуальном сервере управляемость более надежная.
Не на столько дорого они стоят, даже на момент записи видео.
В целом, так просто удобнее
Серия 7: Создание собственного компонента с нуля
 
Серия 7: Создание собственного компонента с нуля

Скоро |  создаем собственный компонент с нуля. Серия будет длинная и не сказать что простая. Результат будет приложен в архиве.
Не выводится скидка
 
Цитата
Макс Менцев написал:
Проблему нашли. Скидка не прописана в шаблоне компонента. в гугле не забанили, но там не можем найти этой информации( Как прописать возможность скидки (перечеркнутая цена) в настройках шаблона компонента.
Распечатайте массив $arResult в блоке [PRICE] найдете всю информацию о ценах и скидках. Включая процентрую разницу между ценами (со скидкой/без скидки) и сами цены- базовую и со скидкой.
Дальше, просто выводите, в нужных местах, по Вашему дизайну, нужные значения
Связанные элементы в карточке товара, с помощью catalog.section
 
Связанные элементы в карточке товара, с помощью catalog.section

Достаточно часто, при разработке магазинов на битрикс, требуется выводить связанные элементы внутри карточки товара.
Данный блок, может называться как угодно и преследовать различные маркетинговые цели. Например, для блоков: Рекомендуем посмотреть, Аналоги, похожие товары итд.
как вывести размер скидки в каталоге и карточке товара
 
Так как эта тема хорошо проиндексировалась поисковиками. Оставлю это здесь, возможно кому-то пригодится

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

https://camouf.ru/blog-note/7794/
Серия 5: Верстка пользовательских форм и доски объявлений #В режиме стрима
 
Цитата
Сергей Стефанович написал:
Михаил загулял))
Если бы  :D  Работой завалило, на видео пока времени нет.
Вывести все разделы в которых находится элемент инфоблока
 
Отмена с массивом. Там можно конечно, на будет глупо не воспользоваться самим методом GetElementGroups
У него есть работа с сортировкой, соотвественно:
Код
$ElementId = $arResult['ID'];
    $db_groups = CIBlockElement::GetElementGroups($ElementId, SORT=>"NAME");
    while($ar_group = $db_groups->Fetch()) {
        echo 'Все товары: <a href="/catalog/'. $ar_group["ID"] . '/">';
        echo $ar_group["NAME"];
        echo "</a>";
}
Вывести все разделы в которых находится элемент инфоблока
 
Цитата
Иван Чухрай написал:
Добрый день, Михаил! Отличное решение, Подскажите как вывести эти разделы в алфавитном порядке?
Наверное, самое просто и не монструозное решение:
Загнать названия, моим способом, в массив.
Потом этот массив отсортировать по алфавиту, способом
Код
sort($ВАШМАССИВ, SORT_STRING);
ну и вывести все foreach- ем
Серия 5: Верстка пользовательских форм и доски объявлений #В режиме стрима
 
Серия 5: Верстка пользовательских форм и доски объявлений #В режиме стрима

Скоро |  Наводим марафет в пользовательских формах: Регистрация, авторизация, восстановление пароля и в выводе доски объявлений. Проводиться будет в режиме прямой трансляции- с ответами на вопросы (если возникнут)
Сообщение приходит на почту пустым
 
Проверить это почтовое событие, может быть реально пустое.
Еще, был случай, письмо было не удачно сверстано- написано белым по белому
Перенос заказов с боевого на тестовый
 
Цитата
Димон Усатов написал:
Привет, Михаил можно ли сделать перенос заказов с боевого на тестовый, без переноса всей базы данных
Думаю, только механизмами обмена с 1С. В идеале, ею и обменяться- но можно и напрямую сайт-сайт, но придется осваивать модули импорта экспорта штатные.

Кроме заказов, нужно перенести и пользователей-покупателей.  
Многосайтовость битрикс на разных доменах
 
Цитата
Евген Ратников написал:
Михаил, добрый день!

Сложилась такая ситуация, есть 2 сайта, стоят они на 2-ух разных лицензиях (Одна "бизнес", а вторая "малый бизнес").
Заказчик хочет, чтобы сайт с редакции "малый бизнес" перенесли под одну админку к сайту с редакцией "бизнес", т.е. сделали многосайтовость. Оба сайта работают уже давно. Как это реализовать? Все мануалы и гайды, которые находили, рассчитаны либо на то, что всё создаётся с нуля, либо второй сайт создаётся новый в пару к рабочему. Подскажите, пожалуйста, что надо в такой ситуацие сделать и как нам быть?

P.S.
Сайты на разных доменах
Тут только в ручную переносить всю информации из одного в другой.
- Инфоблоки можно импортом экспортом.
- Пользователей через csv
- Заказы, попробовать черех xml (использовать модуль обмена с 1С)
- Файлы, просто в ручную.
bitrix bootstrap, bootstrap в 1С битрикс
 
Цитата
Dmitriy Naumenko написал:
Добрый день Михаил подскажите  Возможно-ли подключать bootstrap-4 только к определенным страницам?

Просто у меня острая необходимость работать на 4ом, а когда его подключаешь разлетается верстка проктически всех штатных компонентов  
Там, почти у всех компонентов вышли шаблоны под 4-ый бутстрап.

А так, подключать только на нужных можно так:
Код
В header.php

$curDir = $APPLICATION->GetCurDir();
if (($curDir == '/about/') || ($curDir == '/catalog/') ... И так далее ) {
    Asset::getInstance()->addCss(SITE_TEMPLATE_PATH . '/bootstrap-4.min.css');
}
Но способ так себе, в какой-то момент превратиться в неуправляемую хрень.
Лучше переверстать весь сайт на на 4-ый или остаться на 3-ем
Серия 2: Доска объявлений. Регистрация, авторизация, восстановление пароля пользователем
 
Серия 2: Доска объявлений. Регистрация, авторизация, восстановление пароля пользователем

Создаем доску объявлений внутри магазина. Реализуем основной функционал по регистрации, авторизации, восстановлению пароля и персональному разделу пользователя. Подготавливаем инфоблок для будущей доски объявлений.
Серия 1: Вступление
 
Цитата
Аркадий Белов написал:
Ребятушки, что то непонятно!
Установил по инструкции на  https://simplecloud.ru/

Но мои показатели далеки от протестированных в ролике:
Установил тариф за 200
1 ядро, 1 гиг и 5 гигов пямяти
Может там на симплКлауд уже и не используется ssd и проц попроще?
Разница впечатляет
1 гиг памяти маловато для веб окружения. Там рекомендуемое 2Гб при использовании редакций Малый Бизнес и Бизнес.
Memcached на сайте под управлением битрикс, при использовании Веб Окружения Битрикс
 
Memcached на сайте под управлением битрикс, при использовании Веб Окружения Битрикс

Если вам важна скорость отдачи сайта, у вашего сервера медленный диск для использования кеша на файлах, но зато быстрая оперативная память. Можно кешировать данные прямо в оперативную память с использование технологии memcahed. При условии использования веб окружения битрикс, включить этот режим достаточно легко. Расскажу как, так из Яндекса достаточно часто приходят на мой сайт с этим запросом (без понятия где Яндекс это нашел, все попадают на главную)- исправляю ситуацию
Серия 26: Развитие сайта и мобильного приложения
 
Цитата
Серега Кругов написал:
Михаил добрый день, подскажите пожалуйста каковы затраты были на сборку приложения ? Обязательно надо покупать  https://www.1c-bitrix.ru/products/mobile/#top  для того что бы приложение скомпилировали ?  
На сборку, только лицензия собственно.
Можете сделать самостоятельно на https://www.phonegap.com/getstarted/ но потребуются усилия и время.

PS Не учитываю затраты на учетки разработчика в Apple и Google - они, все таки, на год берутся. На любое количество приложений
Вопрос про готовые шаблоны и его перенос
 
Вообще, все также как и с чистым битриксом. Покупаете решение на определенный ключ и все.
Именно использование копий сайта, с этим решением, уже регламентируется лицензией битрикс.

В общем, не должно быть проблем со второй копией. Но ради чистоты эксперимента, уточните у разработчка решения. На всякий
Автоматическая загрузка каталогов из csv файлов в Битрикс
 
Автоматическая загрузка каталогов из csv файлов в Битрикс

Достаточно часто требуется настроить автоматический импорт каталогов из csv файлов, от поставщиков.
В 1С-Битрикс, уже  есть весь необходимый функционал. Требуется лишь настроить и обеспечить выполнение по расписанию.
Вывод Наименования товара с торговым предложением в корзине
 
Методом CCatalogSku::GetProductInfo - зная ID предложения, можно получить ID товара, к которому это SKU относится.
Ну а там, получить и название товара, зная его ID - методом CIBlockElement::GetByID

О методе CCatalogSku::GetProductInfo
https://dev.1c-bitrix.ru/api_help/catalog/classes/catalogsku/getproductinfo.php

О методе CIBlockElement::GetByID
https://dev.1c-bitrix.ru/api_help/iblock/classes/ciblockelement/getbyid.php
Умный фильтр на главной странице Битрикс
 
Цитата
Андрей Кременец написал:
А как сделать ajax фильтрацию на главной? Переход в каталог не нужен. Нужна сразу выдача по фильтру на главной странице.
Тут конечно по сложнее. Из быстрого, дабавьте catalog.section, под фильтр, не показывая сами товары (если не применен фильтр).
При применении фильтра, если параметр не пустой, показывайте товары.

Ну и все это, подружить с AJAX.
Информация о заказах и содержимое корзины текущего пользователя.
 
Цитата
Рустам Кулиев написал:
весь код отдает ошибку синтаксиса касательно


<?php if (!empty($arID)) {

Можете подсказать текст ошибки, на какой строчке, что ему не нравится? Сейчас проверить не где, а глазами вроде бы не вижу- куда могла закрасться
Если товар в корзине, поменять значение input на "В корзине"
 
В целом тоже самое.

Предположим есть ссылка:
Код
<a href="<?echo $arResult["ADD_URL"];?>" class="to_basket">В корзину</a>


Добавляем скрипт, который изменит содержимое ссылки по клику
Код
<script>
$(document).ready(function () {
    $('.to_basket').click(function () {
        $(this).addClass('in_basket'); //Добавляем class in_basket если хотим стилизовать
        $(this).text("В корзине");
    });
});
</script> 

Ну и проверка на наличие в корзине. Тут все также, через CSaleBasket::GetList.
Целиком примерно так
Код
<?
$dbBasketItems = CSaleBasket::GetList(
    array(
        "NAME" => "ASC",
        "ID" => "ASC"
    ),
    array(
        "FUSER_ID" => CSaleBasket::GetBasketUserID(),
        "LID" => SITE_ID,
        "PRODUCT_ID" => $arResult['ID'], //ID текущего товара
        "ORDER_ID" => "NULL",
        "DELAY" => "N" //Исключая отложенные
    ),
    false,
    false,
    array("PRODUCT_ID")
);
while ($arItemsBasket = $dbBasketItems->Fetch()) {
    $itInBasket = $arItemsBasket['PRODUCT_ID'];
}
?> 

<? if (isset($itInBasket)) { ?>
    <a href="<?echo $arResult["ADD_URL"];?>" class="to_basket in_basket">В корзине</a>
<?} else {?>
    <a href="<?echo $arResult["ADD_URL"];?>" class="to_basket">В корзину</a>
<?}?> 

<script>
$(document).ready(function () {
    $('.to_basket').click(function () {
        $(this).addClass('in_basket'); //Добавляем class in_basket если хотим стилизовать
        $(this).text("В корзине");
    });
});
</script> 
Информация о заказах и содержимое корзины текущего пользователя.
 
Информация о заказах и содержимое корзины текущего пользователя.

В процессе разработки сайта могут понадобиться рецепты приведенные ниже. Использовать можно как угодно и где угодно, я лишь привожу простые примеры. Применимость данных кусочков кода более обширна и зависит от вашей смекалки
Если товар в корзине, поменять значение input на "В корзине"
 
Если товар в корзине, поменять значение input на "В корзине"

Если Вам нужно поменять текст на кнопке, добавляющей товар в корзину, достаточно воспользоваться методом API "CSaleBasket::GetList - который возвращает результат выборки записей из корзины" и немножко js-а
Скрыть раздел, не деактивируя его на Битриксе
 
Цитата
Добрые Традиции написал:
Форум
Вот тут ответ
https://camouf.ru/forum/forum7/389-vyvod-razdelov-na-glanoy
Вам по сути, наоборот нужно сделать.
Серия 10: Добавление проекта в phpstorm, верстка основного скелета сайта
 
Цитата
Алексей Шарымов написал:
Здравствуйте Михаил.
Подскажите, пожалуйста, а как происходит работа над проектами битрикса к команде? Так же как у вас в видео через PHPStorm, или все же это как-то завязывается на системы контроля версий?
Заранее спасибо!
Тут уж, кто во что горазд. Но шторм поддерживает Git - думаю, большинство в нем и работают.
Серия 12: Вывод динамичной информации с помощью компонентов
 
Цитата
Алексей Шарымов написал:
Михаил, спасибо за Ваши труды, у Вас талант обучать!
Скажите, что содержится в папке local\components, копия из bitrix\components\bitrix? И соответственно, для чего нам local\components?
Заранее спасибо!
Да, туда можно складывать свои компоненты или доработанные битриксовые. Они не затронутся при обновлении
Серия 26: Развитие сайта и мобильного приложения
 
Цитата
Роман Нефедов написал:
Михаил, а заготовку "сайт-рыба" еще нигде не выкладывали? Вроде планировали на сайте или в маркетплейсе)
Пока нет, "сайт-рыба" в процессе доработок. Точнее сказать, проработки второй версии  :)
Первая, уже не выйдет в публичный доступ
Серия 4: Выводим доску объявлений на сайт
 
В видео, для получения свойств элемента (в форме и списке объявлений)
использую
CIBlockElement::GetList

Правильнее и оптимальнее, не проходиться по всем элементам. а использовать метод
CIBlockElement::GetProperty

C практической точки зрения, GetList проходится по всем объявлениям, всех пользователей- когда их станет очень много, могут начаться проблемы.
CIBlockElement::GetProperty - получает свойства четко указанного элемента.

PS: Издержки видеозаписи  :)  и параллельной попытки объяснять на пальцах.
Исправим (озвучу этот момент) в следующих видео
Серия 4: Выводим доску объявлений на сайт
 
Серия 4: Выводим доску объявлений на сайт

Рассматриваю самодельную форму добавления/редактирования объявления, на API Битрикс. Выводим объявления на сайт, в соотвествующий раздел. Базовые настройки ЧПУ и вывода инфоблока через комплексный компонент "каталог"
Выборочный вывод разделов на главной
 
Все таки опишу словами. С видео пока напряженка:
По сути, работа заключается в  использовании пользовательского поля для раздела инфоблока

- Создаем пользовательское поле раздела, типа список со значениями да/нет.
- Значение по умолчанию "нет"
- Пусть называется 'UF_MAIN_PAGE'


Вариант 1:
Выводим стандартный компонент section.list и в его параметрах указываем
Код
"SECTION_USER_FIELDS" => array(
    0 => "UF_MAIN_PAGE",
    1 => "",
),
В шаблоне выполняем проверку на значение этого поля (оно true/false (если да = 1, если нет пустое)) если указано да, выводим раздел с ссылкой
Код
<? if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) die();
$this->setFrameMode(true);
?>
<div class="main_page_links">
    <? foreach ($arResult["SECTIONS"] as $arSection) {
        if ($arSection['UF_MAIN_PAGE'] == true) {
            ?>
            <a href="<?= $arSection["SECTION_PAGE_URL"] ?>"><?= $arSection["NAME"] ?></a>
            <?
        }
    } ?>
</div>


Вариант 2:
Суть та же. Но через API - без использования компонента
Код
$arFilter = array(
    "IBLOCK_ID" => 9, // Сюда ID нужного инфоблока
    "UF_MAIN_PAGE" => true
);
$rsSect = CIBlockSection::GetList(array(),$arFilter,false,false);
while ($arSect = $rsSect->GetNext())
{
    echo $arSect['SECTION_PAGE_URL']; //ссылка
    echo $arSect['NAME']; //название раздела
}
Выборочный вывод разделов на главной
 
Словами это не описать, нудновато и не понятно получается.
Завтра сделаю видео, как раз есть такая же задачка на одном из проектов.
Выложу сюда.
Выборочный вывод разделов на главной
 
Цитата
Roman Selkin написал:
Михаил, день добрый. Подскажите пожалуйста, как можно вывести на главную страницу не все разделы каталога, а только выборочные? И как настроить свойство, какой раздел выводить на главной, а кокой не надо?
Просто создайте пользовательское свойства для раздела. Типа чекбокс.
Ну и на главной, просто через catalog.section.list или через API отфильтруйте их по этому признаку.

Что бы получить пользовательские поля, можно использовать фильтр:
Код
arSelect = Array("UF_WEBSITE", "UF_BOTTOM_TEXT")); //Выборочные свойства
или
Код
arSelect = Array("UF_*")); //Все свойства
Многосайтовость битрикс на разных доменах
 
Цитата
Vladislav Ralka написал:
Добрый день!

Благодарю за Ваши уроки.

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

Прочитал комментарии, в 2014 году Вы писали, что так должно быть в идеале. Но пошерстив интернет, не нашел подобного решения.

Как реализовать данную задумку? Как поставить битрикс без привязки к сайту, а отдельно? Или нужно создавать пустой шаблонный сайт, а потом его оттуда вычищать?

Буду рад любой полезной подсказке, спасибо!
Да, самое простое: Поставить пустой сайт, прямо на IP (или поддомен какой) и на него прилинковать все остальные сайты.
Что бы не чистить, можно вообще решение не ставить. Прямо оборвите установку на этапе выбора решения- само ядро, на этом шаге, уже встанет.

Блог-note разработчика

Авторизация

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