Ответы пользователя по тегу 1С-Битрикс
  • Кто подключал онлайн-кассу в битрикс? Можно ли это сделать без обновления?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Можно ли подключить онлайн кассы для старого Битрикса?
    Да, можно.

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

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

    gromdron
    @gromdron
    Работаю с Bitrix24
    Впринципе не сложно.

    Для начала Вы подписываетесь на событие OnAdminListDisplay модуля Main.
    Именно оно отвечает за действие ДО вывода любого списка элементов в административной панели (за исключением под-листов у инфоблоков и модуля производительности).
    На вход оно принимает лишь 1 параметр - экзепляр класса CAdminList (см. /bitrix/modules/main/interface/admin_list.php)

    Чтобы обрабатывать нужную таблицу, нужно ограничить выборку. Т.е. Ваш обработчик будет выглядеть как-то так:

    <?php
    AddEventHandler("main", "OnAdminListDisplay", "MyOnAdminContextMenuShow");
    function MyOnAdminContextMenuShow(&$oAdminList)
    {
        /**
         * $type - тип кода инфоблока, например news, events и т.д.
         * $iblock - идентификатор инфоблока
         * 
         * Если интересует каталог, то вместо tbl_iblock_list_ нужно использовать tbl_product_list_
         */
        if ( $oAdminList->table_id == "tbl_iblock_list_".md5($type.".".$iblock) )
        {
            // полезные действия
        }
    }
    ?>


    Собственно так, мы получаем возможность работать с выводом.
    Для более подробного пояснения лучше прочитать про заказные элементы в административной панели в документации: https://dev.1c-bitrix.ru/api_help/main/general/adm...

    Собственно добавим нужные нам данные для работы. Предположим, я хочу логгировать выделенные элементы на странице, тогда мой код будет выглядеть так:
    AddEventHandler("main", "OnAdminListDisplay", "MyOnAdminContextMenuShow");
    function MyOnAdminContextMenuShow(&$oAdminList)
    {
        /**
         * $type - тип кода инфоблока, например news, events и т.д.
         * $iblock - идентификатор инфоблока
         * 
         * Если интересует каталог, то вместо tbl_iblock_list_ нужно использовать tbl_product_list_
         */
        if ( $oAdminList->table_id == "tbl_iblock_list_".md5("structure.4") )
        {
        	$arActions = $oAdminList->arActions;
    
        	$arActions['alert'] = 'Ругаться!';
    
        	$oAdminList->AddGroupActionTable($arActions);
        }
    }
    
    AddEventHandler("main", "OnAfterEpilog", "iblockAlert");
    
    function iblockAlert()
    {
    	$oRequest = \Bitrix\Main\Application::getInstance()->getContext()->getRequest();
    
    	// Проверяем, что работает только в админке
    	if ( $oRequest->isAdminSection() )
    	{
    		if (
    			// Интересуют только интерактивные запросы
    			$oRequest->get('mode')=='frame'
    			// Где передана переменна IBLOCK_ID
    			&& $oRequest->get('IBLOCK_ID')==4
    			// Соответствующие нашему action
    			&& $oRequest->get('action')=='alert'
    			)
    		{
    			/**
    			 * Вот тут можно сделать что угодно
    			 * Можно получить выделенные ID
    			 * через $oRequest->get('ID')
    			 * Если он пуст, значит действие на всех элементах инфоблока
    			 */
    		}
    	}
    }


    На самом деле параметров гораздо больше - есть еще custom области, которые можно выводить, но суть та же. Если захотите добавить свое поле (я добавлял простой action), то лучше глянуть в исходники и там уже по аналогии разрбраться
    Ответ написан
    3 комментария
  • Как грамотней добавить лендинг на страницу 1с bitrix?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Есть пряморукое, но сомнительное решение: поработать через urlrewriter

    Если, как было выяснено в комментариях,

    /akcii/ - базовая страница компонента
    /akcii/skidka/ - страница, где выводится список элементов из инфоблока с кодом "skidka"
    /akcii/nacenka/ - страница, где выводится список элементов из инфоблока с кодом "nacenka"

    Тогда в urlrewrite.php можно внести правило:

    array(
    "CONDITION" => "#^/akcii/skidka/\\?#",
    "RULE" => "",
    "ID" => "",
    "PATH" => "/beginners/skidka/index.php",
    ),

    И проконтролировать, чтобы оно было выше обработчика самого /akcii/
    Тогда должно сработать и по адресу /akcii/skidka/ показывать директорию лендинга
    Ответ написан
    Комментировать
  • Как настроить права доступа на группу пользователей?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Предположим, что обе группы имеют доступ в административную панель.
    Проблем с группой 2 быть не должно, все настраивается в рамках стандартных прав.

    А вот с группой 1 будет интересный вопрос: Вам на событиях придется отлавливать добавление и изменение элемента инфоблока (я бы посоветовал принудительно ставить флаг активности в N состояние).

    Или у Вас проблемы с непосредственным написанием кода?
    Ответ написан
  • Как правильно начинать новый проект на битрикс?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Если Вы работаете с 1С-Битрикс и вы делаете "шаблонки", то бОльшая часть всего уже есть.
    Вообще вопрос сильно отличается от содержания и не очень понятно что изначально вы имеете ввиду.
    Вы хотите узнать можно ли решить данный кейс без написания собственного кода (т.е. без написания компонентов, а только правками шаблона)? Да можно.
    Можно ли сделать какие-либо сложные вещи без написания кода? Зависит от того что именно. Многие решения уже сделаны, а реализация других потребует сильного или значительного изменения кода.

    Можете уточнить вопрос?
    Ответ написан
  • Есть php скрипт, надо записать его в крон. как сделать?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Для начала, ознакомьтесь с имеющийся документацией: https://dev.1c-bitrix.ru/learning/course/?COURSE_I...
    Внизу странице (по ссылке выше) есть код агента, исполняющегося под cron. Он подойдет.

    Первое на что нужно обратить внимание: константа SITE_ID. Если предполагается работа из админ панели, то это константа языка, иначе - константа сайта (лучше задать вручную)
    Второе: проверьте $_SERVER["DOCUMENT_ROOT"] (если у Вас bitrix vm то это скорее всего тот же путь)
    И третье - вместо echo в cli режиме лучше использовать: fwrite( STDOUT, 'Строка' );
    Ответ написан
    Комментировать
  • Что нужно сделать чтобы убрать дублирование h1 тайтла?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Во-первых, в данный момент title и h1 у Вас различаются. Т.е. скорее всего Вы либо решили вопрос, либо "зашили" его в код страницы.
    Во-вторых, согласно документации и примечаниям, в месте вывода h1 вы можете прописать: $APPLICATION->ShowTitle(), а в title: $APPLICATION->ShowTitle(false)
    Тогда у Вас получить отложенный механизм и стандартный. (можете поменять местами как Вам нужно)
    Ответ написан
    Комментировать
  • Что лучше выбрать для интеграции интернет-магазина на 1С Битрикс с Amocrm и c Roistat?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Прежде всего давайте разберемся зачем Вам это нужно и что это такое.

    Что такое '1С-Битрикс Управление сайтом (ред. "Малый Бизнес")' - это интернет магазин. Витрина товаров с их оформлением.
    Пользователь создает заказ, видит его в кабинете, оплачивает и ждет доставку. Может ознакомиться с ассортиментом и т.п.
    По факту в Вашем случае это поставщик данных для CRM.

    AmoCRM - это CRM система для ведения клиентской базы, отслеживания заказов, бонусных программ и прочего.

    Roistat - это система аналитики для бизнеса. Работает она на основе полученных из других источников данных.

    Соответственно, для корректной и полной работы Вам нужно сделать следующее:

    1) Интеграция Битрикса -> AmoCRM. Передавать данные маркера (см ниже), сделках, клиентах. (можно двухстороннюю)
    2) Интеграция AmoCRM -> Roistat (передача маркера, данных сделки, статусов и т.п.)
    3) Интеграция Битрикса -> Roistat (передача маркеров, отслеживание событий и аналитики)

    Только при такой интеграции у вас получиться:
    1) Полная картина в Roistat (вы сможете отследить покупателя от момента захода на сайт, до финальных покупок)
    2) Получить необходимые данные в CRM системе
    3) Не нарушить стандартных механизмов работы системы.
    Ответ написан
    Комментировать
  • Где посмотреть файл XML, который импортировался c 1С (УТ11) в Битрикс?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Если Вы выгружали пачкой сразу на сайт и больше выгрузок не делали, то смотрите в /upload/1c_exchange/ там будут и xml и картинки и все что нужно.
    Но только с последней выгрузки.
    Ответ написан
    Комментировать
  • Как найти фрагмент кода в Битрикс?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Универсальный алгоритм поиска:

    1) Открываем urlrewrite.php, смотрим есть ли правило для данной страницы. Если есть - открываем страницу из правила, если нет - ищем физическую страницу
    2) Смотрим наличие кода компонентов на данной странице, проверяем включаемые области. Если проект тестовый, то можно по одному убирать компоненты, пока не найдете.
    Если убрали все компоненты, а надпись выводится, то идем дальше
    3) Открываем настройки сайта и смотрим какой шаблон выводится на данной странице. Открываем его по ssh (как header.php так и footer.php) смотрим компоненты, включаемые области, области с отложенными функциями (ShowViewContent)
    4) Если надпись все еще не выводится, смотрим события страницы

    Делая все 3 шага Вы сможете найти что угодно в Битриксе.
    Как пример, данная область может быть:
    1) Физическим тестом на странице
    2) Включаемой обастью подключаемой на странице
    3) Результатом работы компонента
    4) Отложенным результатом компонента
    5) Физическим текстом в шаблоне
    6) Результатом работы компонента в шаблоне
    7) Результатом работы отложенной функции в footer.php
    8) Результатом работы отложенной функции на событиях страницы
    Ответ написан
    2 комментария
  • Google PageSpeed показывает низкий коэффициент на оптимизированный сайт почему?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Все просто: открываем https://developers.google.com/speed/pagespeed/insi...
    И смотрим.

    Навскидку:
    1) Переместить JS+CSS вниз страницы (есть опция)
    2) Оптимизировать изображения (фотошоп в помощь)
    3) Объединять css в один файл
    4) Поработайте с версткой, чтобы она проходила легче (может кое-где подчистить стоит, от лишних узлов)
    Ответ написан
  • Арендуем сервер, на нем стоит VM Bitrix, как можно найти и скачать резервные копии БД?

    gromdron
    @gromdron
    Работаю с Bitrix24
    В BitrixVM по-умолчанию не создаются резервные копии.
    Т.е. чтобы они были, нужно настроить автоматическое создание.
    Резеврная копия штатно создается двумя способами:
    1) Средствами bitrixVM
    2) Средствами битрикса (бекапится то что в настройках).

    Сделать резервную копию можно зайдя по пути: Настройки -> Настройки сайта -> Резервное копирование

    На всякий случай:
    https://dev.1c-bitrix.ru/learning/course/?COURSE_I...
    https://dev.1c-bitrix.ru/learning/course/?COURSE_I...
    Ответ написан
    Комментировать
  • Как правильно настроить индексацию товаров в интернет магазине Bitrix + sphinx?

    gromdron
    @gromdron
    Работаю с Bitrix24
    *htm (как это сделано в админке битрикса),


    Вы можете настроить маски включения именно тех файлов, которые хотите индексировать.
    Кстати, после изменения списка форматов и файлов нужно сделать полную переиндексацию.
    Ответ написан
    Комментировать
  • Импорт товаров битрикс из 1с, совет?

    gromdron
    @gromdron
    Работаю с Bitrix24
    может у битрикса есть какие стандартные инструменты по импорту или может вы знаете адекватные бесплатные модули.


    Есть, стандартные средства, но насколько я помню, минимальная редакция "Малый Бизнес" (сам модуль называется "Интернет-магазин").
    Алгоритмы и форматы описаны в документации: https://dev.1c-bitrix.ru/api_help/sale/algorithms/...
    Кстати, там можно получить сведения о форматах, содержимом файлов и вообще много интересно. Учитывая что сам модуль для 1С бесплатный, то вы всегда можете реализовать свою реализацию по данному алгоритму

    Либо писать свой парсер, тогда какой - csv или xml?
    Подскажите, как лучше поступить?


    Лучше - используйте штатные механизмы.
    Потому что:
    1) Всегда можно обратиться в ТП за решением проблемы
    2) Проще найти специалиста и диагностировать проблему
    3) Если поддерживать все в актуальном состоянии и не сильно усердствовать с кастомизациями - получается лучшее решение практически без вложений
    Ответ написан
    Комментировать
  • Битрикс и Wordpress на одном хостинге?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Вы можете разделить на httpd в VirtualHost необходимые параметры. По факту, единственное что различается это mbstring
    Ответ написан
    Комментировать
  • Как восстановить кодировку в 1c Bitrix?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Во-первых, неплохо было бы показать скриншот, где показаны корикозябры
    Во-вторых, необходимо проверить в какой кодировке у Вас сайт - UTF-8 или windows-1251 и не переключалась ли она
    В-третьих, необходимо проверить в какой кодировке БД и в какой кодировке Вы читаете файлы
    Ответ написан
    Комментировать
  • Как добавить в компонент main.feedback select?

    gromdron
    @gromdron
    Работаю с Bitrix24
    1) Копировать компонент в свое пространство
    2) Кастомизировать компонент:
    2.1) В component.php сделать получение select полей
    2.2) В component.php сделать отправку select-поля
    2.3) В template.php сделать вывод select поля
    3) Кастомизировать шаблон
    3.1) Копировать почтовый шаблон
    3.2) Изменить почтовый шаблон для отправления select-значения
    3.3) Изменить component.php для отправки своего шаблона
    4) Разместить на странице копированный компонент компонент
    Ответ написан
    Комментировать
  • Битрикс CRM Коробка. Как добавить пользовательское поле в форму импорта лидов из файла?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Чтобы это поле появилось при импорте, нужно чтобы оно существовало у лида.
    Для этого нужно создать пользовательское поле у лида. А сделать это можно двумя способами:
    1) Через публичные настройки CRM: Настройки -> Настройки форм отчетов -> Пользовательские поля -> Лид: Добавить поле
    2) Через административную панель: Настройки -> Настройки сайтов -> Пользовательские поля -> Добавить.
    В таком случае Вы должны сначала выбрать тип поля, а потом уже объект, который в случае лида будет (как вы верно указали) - CRM_LEAD (насколько я помню, в идеальном случае оно должно не множественным)
    Ответ написан
    4 комментария
  • Из-за чего может быть ошибка в базе?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Добрый день,

    У Вас типовая проблема переноса - MySQLi -> MySQL.
    Проверьте, что драйвер mysql подключен или переведите на mysqli.
    Ответ написан
    Комментировать
  • Не срабатывает кнопка "В корзину" на карточке товара 1C Bitrix?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Компонент "новость детально" (bitrix:news.detail) не предназначен для вывода товаров.
    Для вывода товара, Вам необходимо воспользоваться возможностями компонента bitrix:catalog.element

    По ходу текста не очень понятно, как это Вы находясь в корзине хотите добавить его в корзину? У Вас popup окно? А скрипты подключаете и передаете?
    Ответ написан