Михаил Базаров- создание сайтов на битрикс

Живая лента

Данное сообщество не является официальным и не преследует ни каких целей. Владелец сайта оставляет за собой право удалять сообщения по своему усмотрению. Рекламные темы и сообщения только с согласия администратора.

ВходРегистрация
Быстрый вход / регистрация, через социальную сеть
Регистрируясь на сайте, Вы безоговорочно принимаете условия политики конфеденциальности и обработки персональных данных
Михаил Базаров -> Всем
29 мая 10:27
Если нужно что-то сделать при появлении клавиатуры в мобильном приложении на Битрикс.

При вызове клавиатуры, внутри приложения страница сжимается по высоте. То есть, клавиатура накладывается не поверх контент, а именно уменьшает высоту контента, на свою высоту.

Кстати, это актуально и для обычных сайтов, в мобильном браузере

Частный случай:
- В приложении имеется закрепленная снизу панель, с быстрыми ссылками.
- При вызове клавиатуры (например написать комментарий) эта панель также поднимается над клавиатурой, перекрывая пол экрана.
- На iOS еще и ведет себя не адекватно, оказываясь в центре и ломая верстку
- Решение: прятать эту панель в display:none при появлении клавиатуры

Для этого блока добавляем id="keyborad_show", понятное дело, id можно любой.
<div id="keyborad_show" class="bottom_fixed">
       <a href="/mobileapp/dynamic/audio"><span class="fa fa-file-audio-o"></span> Аудио</a>
       <a href="/mobileapp/dynamic/video/"><span class="fa fa-file-video-o"></span> Видео</a>
       <a href="/mobileapp/dynamic/trand/"><span class="fa fa-fire"></span> Тренд</a>
</div>

Дальше все просто.
Включаем слежение за клавиатурой
BXMobileApp.UI.Page.captureKeyboardEvents(true);

На событие ее появления, просто добавляем класс к нужному элементу
var keyboard = document.getElementById('keyborad_show');
BX.addCustomEvent("onKeyboardDidShow", function(){ // Событие появления клавиатуры
       $(keyboard).addClass('dn_bf');
});
Ну и в css добавляем
.dn_bf {
      display: none;
}


Анатолий Теорский -> Всем
7 мая 8:34
А можно как нибудь в оформлении заказа принудительно всегда ( не зависимо от профиля покупателя ) выбирать способ оплаты и службу доставки которые мы поставим ? Проблема заключается в открытии всех блоков, так как у некоторых платежных систем и служб доставки есть ограничения, то когда грузится оформление заказа, может загрузиться одновременно две не совместимые комбинации ( платежка + служба доставки ) и тогда служба доставки не отображается. Либо может есть способ корректно всегда открыть все блоки в оформлении заказа? ( метод который описал Михаил - не работает ), а другие которые описаны на форумах - приводят к неотображению способов доставки ( если есть ограничения )
Михаил Базаров
Тут, только делать свою форму оформления.
Если правильно понял вопрос, нужно принудительно выбирать и службы оплаты/доставки.
Надо скидывать, все ранее выбранные пользователем (что не позволит штатный компонент) и выбирать заранее "утвержденные".
Михаил Базаров -> Всем
4 мая 10:18
Где MAMP Хранит базы данных на macOS

MAMP Pro до версии 5: Хранит базы данных в директории своей установки
/Applications/MAMP/db

MAMP Pro версии 5: Хранит базы в
/Libraries/Application Support/appsolute/MAMP PRO/db
Михаил Базаров -> Всем
17 февраля 2018 12:13
Разные свойства у разделов одного инфоблока  в Битрикс
Как создать разные свойства, в форме создания элемента, внутри одного инфоблока битрикс.

битрикс, свойства битрикс, элементы битрикс, разделы битрикс

https://www.youtube.com/watch?v=1KP1cWM26tU
Разные свойства у разделов одного инфоблока в Битрикс
Как создать разные свойства, в форме создания элемента, внутри одного инфоблока битрикс.
<Без имени>
Для небольшого ассортимента это хорошее решение. А если выгрузка из 1С и тысячи позиций и тысячи свойств, есть ли варианты автоматизировать процесс?
Михаил Базаров -> Всем
20 марта 10:57
bitrix.sale.order.ajax раскрыть блоки доставки и оплаты.

Если в компоненте одношагового оформления заказа, нужно раскрыть блоки доставки и оплаты:
В самый низ template.php добавляем
$(window).on('ready', function(event){
    BX.Sale.OrderAjaxComponent.editDeliveryBlock(true);
    BX.Sale.OrderAjaxComponent.editPaySystemBlock(true);
});
Для блоков оплаты и доставки добавляем селектор bx-selected

Тоже самое, можно делать со всеми блоками:
BX.Sale.OrderAjaxComponent.editActiveBasketBlock(true);
BX.Sale.OrderAjaxComponent.editActiveRegionBlock(true);
BX.Sale.OrderAjaxComponent.this.editActiveDeliveryBlock(true);
BX.Sale.OrderAjaxComponent.editActivePaySystemBlock(true);
BX.Sale.OrderAjaxComponent.editActivePickUpBlock(true);
BX.Sale.OrderAjaxComponent.editActivePropsBlock(true);

И можно убрать кнопки "Далее - Назад" в файле order_ajax.js

Для доставки: найти и закомментировать
this.getBlockFooter(deliveryContent);
Для оплаты:
this.getBlockFooter(paySystemContent);

Вячеслав
Сделал все по инструкции, но не сработало...
Файлы:
0 Б
Михаил Базаров -> Всем
8 февраля 16:38
Заготовка для разработки сайта на битрикс.
В архиве:
- Папка local с базовым шаблоном и необходимыми файлами (инклюды, аяксы итд)
- Структура персонального раздела
- Структура типовых статичных страниц

Использовано в видео:
https://www.youtube.com/watch?v=vn1OJG...e=youtu.be
Файлы:
fish_site.zip (3.69 МБ)
2) Разработка простого сайта с магазином на #Битрикс / В режиме стримов
Мой сайт: https://camouf.ru Стрим #2: Чистим битрикс и готовим структуру сайта Что будем делать и как будут проходить трансляции. Заготовка шаблонов и структ...
<Без имени>
Вот это прям громадное, спасибо.
Михаил Базаров -> Всем
25 марта 10:50
Форма авторизации с использованием vue js для Битрикс

Готовый шаблон всплывающей формы авторизации.
Просто распаковываем в шаблон своего сайта и выводим в нужной части сайта компонент
system.auth.form и применить этот шаблон (auth)

В основном шаблоне сайта, подключите vue из ядра
\Bitrix\Main\UI\Extension::load("ui.vue");

На его месте появится кнопка, вызывающая шаблон авторизации.
Стилей по минимуму, подгоняйте под себя.

Так же внутри файл для отправки формы (index.php)- результат успешного или не успешного входа.
Этот файл обязательно удалите, или переместите в папку /personal/ он просто для примера (или любую другую папку - в форме подправьте путь)



Фото:
Файлы:
auth.zip (5.19 КБ)
Михаил Базаров -> Всем
21 марта 18:08
Старый-новый шаблон оформления заказа.
Там немножко не аккуратно внутри, делал по быстрому, но думаю кому надо причешете.
Основан на старом шаблоне, верстается легко.
Фото:
Файлы:
older.zip (135.99 КБ)
Михаил Базаров -> Всем
20 марта 21:09
Figma заготовки для мобильного приложения

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

https://www.figma.com/file/CoWZtnT9VlW...le-screens
Михаил Базаров -> Всем
17 марта 13:13
Если файлы php скачиваются вместо выполнения в Битрикс веб окружении

Если у вас Битрикс веб окружение, и сайт вроде бы нормально работает но некоторые php файлы скачиваются вместо выполнения.
Убедитесь что эти файлы не начинаются с "upload*.php" - то есть, нельзя в именах папок и файлов использовать это слово (даже если uploadpict.php).
Они заблокированы от исполнения на уровне httpd в Битрикс Окружении


Михаил Базаров -> Всем
27 февраля 14:55
Принудительно перезаписать ядро Битрикс, если оно модифицировано.

Если вам достался проект, на котором, предыдущие горе разработчики внесли модификации в ядро Битрикс.
Можно запустить принудительную перезаливку ядра (только файлов)

Просто переходим на страницу
ВАШ_САЙТ/bitrix/admin/update_system.php?BX_SUPPORT_MODE=Y

Само собой, перед запуском, сделайте полную резервную копию.

Ирина Краснова Всем
9 февраля 23:13
Добавила 1 фото в альбом: Новый альбом
Михаил Базаров -> Всем
9 февраля 14:06
Компонент который умеет выводить разделы инфоблока с элементами.
Черновик, сделал за часок. Настройки и шаблон немного не гибкие, будет дорабатываться.

Выводит:
- название и ссылку на раздел,
- название и ссылку на элемент,
- картинку анонса элемента,
- описание анонса элемента
- цену элемента (если установлен торговый каталог)

Пока плохо выводит свойства. В принципе выводит и дает их выбрать в параметрах. Но в шаблон нужно добавлять вручную.
Что бы работали ссылки, они должны быть обязательно указаны в настройках инфоблока (прописывание в ручную будет позже).
Дает указать количество выводимых элементов.

ВАЖНО! работает с версии Битрикс 18.5 (ниже нет)

Размещать в своем пространстве имен
Будет доступен в Контент=>Каталог




Фото:
Файлы:
Михаил Базаров -> Всем
27 января 14:57
Передать контактные данные покупателя в почтовое событие "Новый заказ"

Если нужно добавить свои поля в почтовое событие "Новый заказ", например ФИО, адрес и телефон покупателя
Добавляем в init.php
AddEventHandler("sale", "OnOrderNewSendEmail", "bxModifySaleMails");
function bxModifySaleMails($orderID, &$eventName, &$arFields)
{
 $arOrder = CSaleOrder::GetByID($orderID);
 $order_props = CSaleOrderPropsValue::GetOrderProps($orderID);
 $fio = "";
 $phone="";
 $address = "";
 while ($arProps = $order_props->Fetch())
 {
   if ($arProps["CODE"] == "FIO")
   {
     $fio = $arProps["VALUE"];
   }
   if ($arProps["CODE"] == "PHONE")
   {
      $phone = $arProps["VALUE"];
   }
   if ($arProps["CODE"] == "ADDRESS")
   {
     $address = $arProps["VALUE"];
   }
 }
 $arFields["FIO"] = $fio;
 $arFields["PHONE"] =  $phone;
 $arFields["ADRESS"] =  $address;
}

После этого, в почтовом шаблоне будут доступны маркеры
#FIO# #PHONE# #ADRESS# с нужными данными

Добавляя блоки
if ($arProps["CODE"] == "ADDRESS")
{
 $address = $arProps["VALUE"];
}
Можно передать любые свойства заказа, по их коду
Михаил Базаров -> Всем
4 января 21:25
Сделать перенаправление на 80-ый порт внутри докер контейнеров, если их больше одного.
Перенаправление доменов на IP контейнера на порт 80 каждого

Если у вас два (или больше) докер контейнера, к которым нужен доступ на 80-ый порт извне.
Можно разрулить на хост машине, с помощью
HAProxy и nginx

Исходные данные:
- Хост машина с Docker-ом- Ubuntu 18
- Внутри запущено два контейнера с битрикс веб окружением.
- Нужно, в зависимости от запрошенного адреса (домена), направить на 80-ый порт соотвествующего контейнера
- Контейнер 1: сделан форватинг порта хост машины 9380 на порт 80 контейнера (домен site1.ru)
- Контейнер 2: сделан форватинг порта хост машины 9480 на порт 80 контейнера (домен site2.ru)

На хост машину ставим HAProxy
# apt-get update
# apt-get -y install haproxy

На хост машину ставим nginx
# apt-get -y install nginx

В конфиг виртуального хоста nginx добавляем
# первый контейнер
server {
    listen 80;
    server_name site1.ru;
        location / {
             proxy_set_header HOST $host;
             proxy_set_header X-Forwarded-Proto $scheme;
             proxy_set_header X-Real-IP $remote_addr;
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
             proxy_pass http://0.0.0.0:9380/;
        }
}

# второй контейнер
server {
    listen 80;
    server_name site2.ru;
        location / {
             proxy_set_header HOST $host;
             proxy_set_header X-Forwarded-Proto $scheme;
             proxy_set_header X-Real-IP $remote_addr;
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
             proxy_pass http://0.0.0.0:9480/;
        }
}

Перезапускаем nginx
     

/etc/init.d/nginx restart


PS: Можно для каждого сайта сделать свой конфиг- что бы было аккуратнее
nano /etc/nginx/sites-enabled/site1.ru


Михаил Базаров
Еще аккуратнее.
Сделать докер контейнер с nginx, дабы ни чего не ставить на хост машину (кроме докера естессно)
Михаил Базаров -> Всем
11 января 2017 14:43
Кто просил старый шаблон оформления заказа битрикс sale.order.ajax? Вот он

PS Добавлено позже, Там оказывается вообще весь компонент изменился на D7
В архиве целиком старый компонент, вместе со старым шаблоном



Файлы:
sale.order.ajax.zip (104.48 КБ)
<Без имени>
Спасибо большое. Ту ересь, что написана в новом шаблоне, кастомизировать нереально.
Михаил Базаров -> Всем
11 декабря 2018 23:38
Использование Vue.JS в Битрикс. Мини инструкция, развернутая будет позже, в блоге

Подключение vue библиотеки из ядра битрикс:
Доступна с версии ui 18.5.1
\Bitrix\Main\UI\Extentions::Load("ui.vue");

Подключение vuex:
Доступна с версии ui 18.5.1
\Bitrix\Main\UI\Extentions::Load("ui.vue.vuex");

Подключение дебаг информации от vue
Добавить в init.php - подключение версии для разработки
define('VUEJS_DEBAG', true)

Для использования функций vue в битрикс, нужно использовать не Vue.xxx
а BX.Vue.xxx - где xxx нужная функция
Исключение. Для создания экземпляра писать не
new Vue(...)
а
BX.Vue.create(...)

Для использования функций vuex правила теже
а BX.Vuex.xxx - где xxx нужная функция
Vuex.Store(...) заменить на BX.Vuex.store(...)
Михаил Базаров -> Всем
14 мая 2018 9:03
Установить вебсервер на Ubuntu 18 LTS, оптимизированный под битрикс.

Выполняем обновление:
apt-get update
apt-get upgrade

Перезагружаем сервак: reboot

Данный вебсервер использую только для локальной разработки. Собственно, запущен на моем рабочем ноутбуке
под Кubuntu 18LTS. Что бы работать с разрабатываемыми сайтами быстро и в отсутствии интернета.
Для продакшена, нужно настраивать более тонко, хотя и так заработает.

Ставим апач:
sudo apt-get install apache2

Добавляем апач в автозагрузку:
sudo systemctl enable apache2

Ставим PHP 7.2.5:
sudo apt-get install php7.2-cli

Проверяем что он встал:
php -v (покажет версию php)

Перезапускаем апач:
sudo systemctl restart apache2

Ставим базу данных (Mysql 5.7):
sudo apt install mysql-server
Сконфигурировать Mysql, все команды выполняем поочереди
sudo mkdir /var/run/mysqld; sudo chown mysql /var/run/mysqld
sudo mysqld_safe --skip-grant-tables&
sudo mysql --user=root mysql

Устанавливаем пароль пользователя root базы данных
mysql> update user set authentication_string=PASSWORD('PASSWORD') where user='root';
flush privileges;

Установка phpmyadmin
sudo apt-get install phpmyadmin php-mbstring php-gettext
В процессе попросит выбрать сервер (apache2) и пароль root базы данных

Все, базовый сервер готов. Можете поднастроить конфигурацию php
в файле /etc/php/7.2/cli/php.ini
Но я передпочитаю доводить под конкретный сайт, в файле виртуального хоста.


И конфигурацию базы данных
в файле /etc/mysql/mysql.conf.d/mysqld.cnf
Свой, заточенный под битрикс, приложу в архиве. Но очень внимательно, зависит от объема
оперативной памяти на сервере. Должен нормально запуститься если больше 4-х.
Если меньше, подкрутите этот конфиг (параметры выедающие память) под себя.


СОЗДАНИЕ ВИРТУАЛЬНОГО ХОСТА

Создать папку для сайта
mkdir /var/www/site.ru/public_html

Создать запись виртуального хоста
nano /etc/apache2/sites-available/site.ru.conf
с содержимым (повторюсь, конфиг php подгоняю под конкретный сайт.
В php.ini у меня все по умолчанию). Данное содержимое под Битрикс Бизнес
<VirtualHost *:80>
ServerName site.ru
ServerAlias site.ru
ServerAdmin webmaster@localhost
DocumentRoot /var/www/site.ru/public_html/

<Directory /var/www/site.ru/public_html/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
DirectoryIndex index.php index.html index.htm

php_admin_value short_open_tag On
php_admin_value mbstring.func_overload 2
php_admin_value mbstring.internal_encoding UTF-8
php_admin_value date.timezone Europe/Moscow
php_admin_value opcache.revalidate_freq 0
php_admin_value opcache.max_accelerated_files 100000
php_admin_value display_errors On
php_admin_value max_input_vars 10000
php_admin_value upload_max_filesize 8M
Require all granted
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Добавить сайт (включить)
sudo a2ensite site.ru

Перезагрузить апач (любая из трех, рекомендуется последняя команда)
sudo systemctl restart apache2

Создаем пользователя базы данных с полными привелегиями (так как root заблокирован и пусть таким остается). Команды выполняем поочереди
sudo mysql --user=root mysql
CREATE USER 'USER_NAME'@'localhost' IDENTIFIED BY 'PASSWORD';
GRANT ALL PRIVILEGES ON * . * TO 'USER_NAME'@'localhost';
FLUSH PRIVILEGES;

Все. Простой веб сервер готов. Использую на локальном компьютере для разработки.
Для продакшена нужно настраивать параметры более тонко, особенно в плане
безопасности (директории для хранения сессий итд запреты/разрешения).
Плюс есть резон установить nginx и memcache (если позволяет оперативка)

Но об этом позже.

Видео инструкция, по данной заметке
https://www.youtube.com/watch?v=W-2mXox4ukU
Фото:
Файлы:
mysqld.cnf (3.16 КБ)
Локальный вебсервер в подсистеме Linux в Windows 10
Делается по заметке https://camouf.ru/club/user/1/blog/144/ Настраиваем локальный веб-сервер, для разработки сайтов. Осваиваем подсистему Linux в Windows 10 ...
Сергей Стефанович
Михаил Базаров, воу-воу-воу, крутая тема. сейчас затестирую  
Сергей Стефанович
Михаил Базаров,
Михаил, расскажи пожалуйста какие парметры нужно выставить в php.ini и my.cnf
установил Brainy. но производительность на битрикс вообще так себе
Игорь -> Всем
17 октября 2018 19:41

Необходимо произвести полную переиндексацию сайта для корректной работы поиска.

Подскажите куда нужно зайти?в какую то социальную сеть,весь интернет перерыл не могу найти
Игорь
вот
Файлы:
0 Б
<Без имени>
Игорь, после переиндексации в админке, надо сделать переиндексацию модуля социальная сеть.
Лайвхак - заходи в ДИСК и кнопка появится
Файлы:
0 Б
<Без имени>
Игорь, а вообще - вот прямая ссылка
https://адрес_твоего_портала/company/personal/user_reindex.php
Roman L -> Всем
22 октября 2018 9:44
Великий и могучий Битрикс иногда видит такие дубли как

www.nazvaniesaita.ru/catalog/category1/product1
www.nazvaniesaita.ru/catalog/category1/podkategory1/product1
(Используется компонент каталог)

И говорит, у тебя дубль страницы, что же делать ?

Как поставить каноническую ссылку на нужный тебе путь, и где он ставится ?
Михаил Базаров
В настройках компонента каталог, поставить галку "Использовать канонический url"
В настройках самого инфоблока, прям на первой странице (там, где название инфоблока и пути для ЧПУ) вписать правила генерации канонических URL
Киря -> Всем
12 октября 2018 15:44
Добрый вечер.

Как создать дополнительное описание в каталоге битрикс?

Или как лучше реализовать поиск по тэгам в разделе каталога.
Для облегчения поиска по разделу каталога надо сделать тэги. Как их создавать и выводить в битрикс?
Примерно вот что я хочу.

http://brownsugar.by/shokolad,-glazur...ra,-kakao/

Кликаешь по тэгу и тебе аяксом товары подтягивает. Как что то подобное реализовать в Битрикс?

Шоколад, глазури, пудра, какао / Ингредиенты - Интернет-магазин для кондитера brownsugar.by
Кондитерский шоколад, пудра, глазури, какао для настоящих профессионалов на Brownsugar.by! Мы привозим только качественные ингредиенты по всей Беларуси. Заходите и заказывайте!
Михаил Базаров
Можно умный фильтр под это дело адаптировать. Теги это свойства товаров, ну и просто вывести их в умный фильтр и использовать AJAX режим штатный.
Киря
Я как бы так и хотел сделать... Другой вопрос как сделать сео описание в конце каталога а "тэги" в верху.
Михаил Базаров
Если на каждый тег, должно быть свое описание-то, лучше их сделать разделами и подгружать Аяксом. А описания просто описания раздела.
Для поисковиков, можно сделать карту сайта, что бы могли увидеть каждый тег (его наполнение)
Dsadirin@gmail.com -> Всем
8 октября 2018 23:44
Добрый вечер!

Помогите пожалуйста человеку который начинает изучать Битрикс:)
Есть сайт на битрикс, а точнее интернет магазин, есть стандартный каталог товаров.
В списке товаров при наведении на товар появляется поле выбора количества, и кнопка "в корзину"
Как сделать чтобы все это было видно сразу без наведения на товар?
Подозреваю что все это меняется в стилях, но где конкретно так и не смог найти


Михаил Базаров
Это находится в стилях) Просто изучите шаблоны вывода карточки. Если память не изменяет, в новых версиях они в компоненте
catalog.iblock.element/card
teh.box.mail@gmail.com -> Всем
11 октября 2018 11:06
Добрый день!
Как можно реализовать второй сайт битрикс по одной лицензии не используя "многосайтовость" и с отдельной админ панелью?
Заранее спасибо.
Михаил Базаров
Ни как, запрещено лицензионным договором.
Можно выкрутиться, установив битрикс дважды, но используя единую базу данных- но это чит и на врядли будет в рамках лицензионного соглашения. Плюс, возможны поломки, если начнете ставить обновления на одном из сайтов
Михаил Базаров -> Всем
7 октября 2018 14:35
Шаблон горизонтального меню с фиксацией при прокрутке
Все стили и скрипты в комплекте. В script.js поменяйте высоту шапки на свою

Пример меню, на этом сайте
Файлы:
horizontal_multi.7z (3.12 КБ)
evgenyforever2012@yandex.ru -> Всем
18 сентября 2018 10:14
Добрый день! Подскажите Михаил, а подойдёт установка Memcached на виртуальном сервере (VPS) из статьи https://camouf.ru/blog-note/587/?sphra...e_id=30921 или для этой установки нужен полноценный (выделенный) сервер?
Михаил Базаров
Привет. На виртуальном сервере, как по мне, смысла нет. Там же и оперативка виртуальная: не получите преимуществ перед хранением кеша в файлах на диске.
Но, технически, инструкция подойдет.
evgenyforever2012@yandex.ru
Спасибо! Столкнулся ещё с одной проблемой, не запускается модуль "Управление масштабированием". Сайт установлен на VPS-сервере (Managament pool of server не создавал). Перехожу в панель управления, далее в настройки --> управление масштабированием --> ошибка 404 Not Found.

The requested URL /bitrix/admin/scale_panel.php was not found on this server.
Apache/2.4.6 (CentOS) Server at bearmart.ru Port 9887

Подскажите пожалуйста, как можно исправить?
evgenyforever2012@yandex.ru -> Всем
9 сентября 2018 22:22
Здравствуйте, Михаил! Подскажите пожалуйста, как подключить виртуальную машину к зарегистрированному домену. Может быть есть видео-урок на эту тему?
Для ёмкого интернет-магазина достаточно ли использовать виртуальную машину или все же заказать сервер, например, у компании Simple Cloud c ежемесячной оплатой?
Михаил Базаров
У Simple Cloud тоже виртуальные машины. "Емкий" магазин понятие, конечно растяжимое. Но можете взять у Simple Cloud по тарифу за 1000 рублей, а при необходимости сделаете переход на более производительный сервер/тариф
dobrickiy89@gmail.com -> Всем
30 августа 2018 1:40
Доброго времени суток. Такой вопрос. Нужно реализовать на одной странице вывод трех типов контента в виде вкладок, это "Новости(текст)", "Статьи(текст)", "Обзоры(видео)". Какой лучше компонент использовать, и лучше ли их разделить на разные инфоблоки, либо реализовать разделами в одном инфоблоке? Заранее спасибо за ответ.
Михаил Базаров
У Вас так дубликаты не наплодятся? С точки зрения СЕО как-то странно. Поисковик-то увидет все это сразу
Лучше уж JS ом переставляйте местами. Что бы, с точки зрения исходного кода, не было повторений в таких масштабах
dobrickiy89@gmail.com
Спасибо за ответ.
Так дело в том, что дизайн блоков (как они расположены) должен сохраняться, а меняться только контент.
Подскажите, можно ли как нибудь менять в компоненте IBLOCK_ID (id инфоблока) с помощью ajax?
Допустим на странице будет три компонента news.list, и у них по клику на табы менять IBLOCK_ID.
Вообще это реально сделать или нет?  
Михаил Базаров
Я бы менял css а не ID блоков. Просто сделайте 3 css файла, подключенные последовательно и работаещие с нужным блоком. А на JS просто менйте местами содержимое этих блоков, не меняя контейнер (от которого будет унаследовано оформление для трех блоков)
Просто
#block_container_1 #block_container_2 #block_container_3
Dmitriy Ivanov -> Всем
27 августа 2018 17:14
Добрый день, подскажите, как можно через инфоблок выводить на карту точки.

То есть создал инфоблок "координаты" в нем создаем элементы с координатами и что бы они добавляли на карту.
Михаил Базаров
Можно вывести яндекс карту, это прямо компонент среди штатных.
В его параметры передавать точки на карте. Эти точки, просто свойство инфоблока, получите из через API, до вывода компоненты карты и соберите в массив.
Александр Листьев -> Всем
25 августа 2018 0:24
Добрый день

Есть идея, в связи с ФЗ-152 захотелось встроить чекбокс согласия пользователя с обработкой персональной информацией в форму почтовой рассылки (компонент subscribe.form, не sender.subscribe), и в форму регистрации пользователей на сайте, если кто-то уже сталкивался с похожей задачей, коллеги прошу Вас поделиться советом, как реализовать задуманное?

Использую main.userconsent.request для достижения цели.

p.s. По такому запросу в Интернете, найдены несколько сайтов с одинаковой подсказкой, но только для компонента sender.subscribe, пробовал адаптировать её под компонент subscribe.form, делал все по описанной схеме, но увы галочка не выводится.
Соглашение создано, ID соглашения - прописан
в компоненте вывода main.userconsent.request. Код вызова компонента вывожу перед кнопкой отправки, но не показывается.

Опишу по шагам мои действия:

1. В директории компонента subscribe.form в файле .parameters прописал в самом верху следующий код:
<?
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();
$arComponentParameters = array(
   "GROUPS" => array(
   ),
   "PARAMETERS" => array(
       "AJAX_MODE" => array(),
       "USER_CONSENT" => array(),
   )
);
2. Далее в шаблоне компонента subscribe.form, прописываю код вызова компонента main.userconsent.request с указанным ID пользовательского соглашения
<?$APPLICATION->IncludeComponent(
   "bitrix:main.userconsent.request", "",
   array(
       "ID" => "1",
Михаил Базаров
Точно в правильном месте вставляете вызов компонента?
Там несколько условий для вывода, быть может за рамками нужного if-а dytckb tuj
Скиньте шаблон компонента целиком- посмотрим
Александр Листьев
Благодарю, за отклик

В административном разделе сайта по пути: /bitrix/components/bitrix/subscribe.form
В файле параметров .parameters.php для компонента subscribe.form
объявляю параметр "USER_CONSENT" => array() следующим образом:

Файл .parameters.php (файл параметров компонента)
<?
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();
$arComponentParameters = array(
   "GROUPS" => array(
   ),
   "PARAMETERS" => array(
    "AJAX_MODE" => array(),
    "USER_CONSENT" => array(),
   )
);

Далее код вызова компонента (для запроса согласия пользователя с соглашением на обработку персональной информации) - main.userconsent.request, вставляю в файл template.php, компонента subscribe.form

Файл template.php (шаблон компонента)
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>

<div class="widget subscribe-widget">

<form class="subscribe-form" action="<?=$arResult["FORM_ACTION"]?>">

<h1>Подписаться на новостную рассылку</h1>

<!-- Форма для ввода e-mail адреса -->

<input type="text" name="sf_EMAIL" id="subscribe" placeholder="Email" value="<?=$arResult["EMAIL"]?>"/>

<!-- Кнопка подтверждение -->

<button name="OK" id="submit-subscribe" value="<?=GetMessage("subscr_form_button")?>">
   <i class="fa fa-arrow-circle-right"></i>
</button>

<!-- Начало вызова компонента -->

<?if ($arParams['USER_CONSENT'] == 'Y'):?>

<?$APPLICATION->IncludeComponent(
"bitrix:main.userconsent.request", "",
array(
   "ID" => "1",