Задать вопрос
  • Как сортировать по дату?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Код в читаемом виде
    $sql = "SELECT
    			p.product_id,
    			(
    				SELECT AVG(rating) AS total 
    				FROM " . DB_PREFIX . "review r1 
    				WHERE r1.product_id = p.product_id AND r1.status = '1' 
    				GROUP BY r1.product_id
    			) AS rating,
    			(
    				SELECT price 
    				FROM " . DB_PREFIX . "product_discount pd2 
    				WHERE 
    					pd2.product_id = p.product_id 
    					AND pd2.customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' 
    					AND pd2.quantity = '1' 
    					AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW())) 
    				ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1
    			) AS discount,
    			(
    				SELECT price 
    				FROM " . DB_PREFIX . "product_special ps 
    				WHERE 
    					ps.product_id = p.product_id 
    					AND ps.customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' 
    					AND (
    						(ps.date_start = '0000-00-00' OR ps.date_start < NOW()) 
    						AND 
    						(ps.date_end = '0000-00-00' OR ps.date_end > NOW())
    					)
    				ORDER BY ps.priority ASC, ps.price ASC LIMIT 1
    			) AS special";


    И встает вопрос: а что такое дата продукта?
    Предположим, у вас в таблице p (или как она у вас, главное что p - таблица или alias), есть поле "created_at", которая и хранит ту самую "дату продукта"
    Тогда после запроса можно добавить:

    ORDER BY p.created_at DESC

    И тогда он будет выдавать те же данные, но сортированные по убыванию "даты продукта"
    Ответ написан
    Комментировать
  • Как найти фрагмент кода в Битрикс?

    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...
    Ответ написан
    Комментировать
  • Почему не отправляется сообщение на почту из формы заявки???

    gromdron
    @gromdron
    Работаю с Bitrix24
    Только сегодня уже отвечал на подобный вопрос
    Ответ написан
    Комментировать
  • Как правильно настроить индексацию товаров в интернет магазине 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) Если поддерживать все в актуальном состоянии и не сильно усердствовать с кастомизациями - получается лучшее решение практически без вложений
    Ответ написан
    Комментировать
  • Как отправить данные с формы по mail()?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Как я понял, дело тут не в безопасности, а в самой работе данной функции.
    PHP-функция mail на самом деле не отправляет письмо как таковое, а лишь передает его к MTA, а тот в свою очередь уже отправяет письмо.
    Причем чтобы данная передача состоялась, php должен знать куда передавать (см. sendmail_path в ini файле / php -i / phpinfo() ).

    Так, если sendmail_path директива не задана, то и отправки почтовой не будет.

    Существуюет несколько способов решить данную проблему:
    1) Сконфигурировать MTA и подключить его к php, если у Вас VDS (Например подойдет статья или можно задать аналогичный вопрос на тостере)
    2) Подключить внешнюю библиотеку ( например Swift Mailer или PHPMailer) и использовать ее
    Ответ написан
  • Как сказать браузеру не кешировать часть страницы(Last-Modified)?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Если уж говорить на чистоту, то при успешной авторизации Вы не имеете право отдавать тот же Last-Modified, так как страница изменилась. Вообще, если у Вас не новостной блог, то я бы наверное не рекомендовал Вам сильно заморачиваться с этим заголовком - проблем будет больше чем профита. Уж лучше оптимизируйте.
    Ответ написан
    Комментировать
  • Есть ли такой календарь в open-source?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Не думаю, что прям именно такой опенсоурс, но подобные, например есть: https://dhtmlx.com/docs/products/demoApps/room-res...
    Ответ написан
  • Как скачать с сервера файл в формате xlsm?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Передавайте правильно, а не используйте file_get_contents.
    См. 3 подход (в крайнем случае 2)
    Ответ написан
    Комментировать
  • Как правильно экранировать строку?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Если: $date и $path это у Вас пользовательские данные, то помимо данного аргумента я бы еще проверял бы:
    1) $date - существующий архив, в котором только простые типы (необходимые для выполнения работы, желательно только текстовые)
    2) $path - задавал бы сам из названия архива, а не из (например в вашем случае "../tmp" в полной строке соответствует "/home/ranger/../tmp", что соответствует '/home/tmp'), ну и соответственно ругался бы на две точки подряд
    3) Папка /home/ranger/$path НЕ выполняет обработку скриптов, а только отдает данные.

    P.S. На аргументах escapeshellarg, а escapeshellcmd на всю комманду
    Ответ написан
    Комментировать
  • Как добавить фильтр в модуль техподдрежки в Битрикс24?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Насколько я помню, фильтрация по ответственному менеджеру там есть из коробки.
    Фильтрация по теме и по сообщению идут слитно.
    Есть только одна фильтрация, которой в коробке нет - по автору, т.е. он ищет, но только при условии что автор - пользователь портала.
    Ответ написан
    Комментировать
  • Битрикс и 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) Разместить на странице копированный компонент компонент
    Ответ написан
    Комментировать
  • Как зачеркнуть текст в gitlab (markdown)?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Используйте 2 тильды

    ~~зачеркнутый~~
    Ответ написан
    Комментировать
  • Как автоматически распознать название товара?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Задача довольно интересная, но четкого решения придумать не могу.
    Вообще, там должен быть артикул, но если уж его нет, то думаю целесообранее будет решение через составление полноценной единой базы.
    Можно сделать несколькими сопосбами:
    1) К существующей БД добавить таблицу с соответствиями "Название в прайсе" -> "id товара" (думаю наиболее простой и наиболее точный вариант, но довольно трудоемкий т.е. при появлении новой шины, нужно будет дополнять таблицу)
    2) Парсинг строки (например регулярками) и поиск в БД по частям + поиск по сокращению (трудоемкий вариант, но тут возможны коллизии при автоматическом составлении сокращений)

    Можно ли получить кусочек БД для тестов? Может чего придумаем.
    Ответ написан
    1 комментарий
  • Каким образом открытые линии в Битрикс24 собирают лиды со всех источников?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Давайте для начала немного фактов:
    1) Модуль существует и он работает, но обширной документации нет
    2) Он уже больше года не развивается
    3) Даже 1С-Битрикс не использует данный модуль

    Насколько я знаю, решения для интеграции ТП с ОЛ нет (2 независимых модуля) и учитывая п.2 - ждать ее не стоит (ИМХО).
    Что касается распределения тикетов по сотрудникам - для этого можно использовать подписку на событие: OnBeforeTicketAdd и уже там менять ответственного исходя из Ваших нужд.

    Наиболее адекватный вариант - писать свою прослойку для email и ОЛ, благо современный битрикс в коробке позволяет множество кастомизаций (спасибо rest api bitrix24). Так что, если хотите построить техподдержку на базе битрикса, все придется писать с 0.
    Ответ написан