Задать вопрос
  • Как создать таблицу с 2мя ключами?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Во-первых, не ясно почему в таблице встречаются дубли, да еще и на колонке id.
    Де-факто во всех проектах, что я видел, при наличии этого поля оно уникально (как минимум autoincement).

    Во-вторых, подобный вопрос легко ищется поисковиком. Например тут.
    Если хотите узнать больше, гуглите "Составной первичный ключ mysql"
    Ответ написан
  • Как добавить перенос строки к комментарию при генерации лида, используя rest api битрикс 24?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Пишу для будущих задающих вопросы.
    В различных частях системы работают различные способы переноса строки.
    Один из следующих вариантов точно поможет:
    • \n
    • <br>
    • [BR]
    Ответ написан
    Комментировать
  • Как выбрать сервер для битрикс24 (коробка)?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    У нас стартовая для виртуального сервера:
    - 4GB RAM
    - 2vCPU 2.4 (min)
    - 20GB SSD
    - KVM (не OpenVZ!)
    В год выходит около 12 тысяч.

    Дополнительно берем: Selectel (обачно хранилище).
    Туда КП сгружает все загруженные/сгенерированные пользователем данные. У нас там порядка 80ГБ уже, и в год все это счастье ест где-то 2-3 тыс.руб.

    Всего весь портал ест где-то 15 тыс. рублей в год.

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

    P.S. Если нужные собственные модули/разработки, то окупается во много раз
    Ответ написан
  • Как будет выглядеть функция на D7?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Немного официальной документации (беднее чем у mr.cappuccino, но зато в доке):
    Ответ написан
    Комментировать
  • Как сделать разные ядра битрикса на одном домене?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Нормально это не будет работать никак.

    Для того, чтобы это хоть как-то работало нужно соблюсти ряд условий и ограничений:
    1) Вы должны хорошо разбираться в nginx, чтобы развести root path в зависимости от адреса домена. Вы же не подумали, какая админка должна открываться по /bitrix/ ? Это уже не типовая конфигурация, которую Вам, к слову, еще и поддерживать.
    2) Вы забудете об авторизации, то есть пользователь одного сайта это не пользователь другого сайта и переходя между страницами Вы потеряете авторизацию, ровно как и часть действий будет недоступна (например с сайта 1 вы не сможете редактировать статью У если она не на сайте 1, а на сайте 2, соответственно сайт 1 не будет видеть статей сайта 2 и наоборот). То есть - вся динамическая информация (записи инфоблоков и т.п.) должна переносится сразу (а не по 1-2 элемента)
    3) Помимо этого еще и системные скрипты будут некорректно работать. Если на сайте нет авторизации, и только гости, то проблем вообще не будет, а если Вы таким образом захотите обновить интернет магазин, то займет это у Вас и времени и сил больше, чем написать с 0 новый и разработать скрипт миграции данных.

    ИМХО, Ваша затея имеет место быть но в оочень редком случае (меньше 0.01%), а неудобств и ограничений Вы получите существенно больше.
    Поверьте, я знаю о чем говорю - мы обслуживали 2 портала Битиркс24 (коробочная версия), на одном из которых Была 15 версия с CRM, а на другом 17 с остальной частью портала.
    Ответ написан
  • Как отправлять заказы с интернет-магазина на horoshop в Битрикс24?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Ну... все относительно просто.

    1) Изучаете API Хорошопа (на уровне "посмотреть что может")
    2) Изучаете API Битрикс24 (на уровне "посмотреть что может")
    3) Определяете что именно из Хорошопа должно уйти в Битрикс24 и что должно уходить из Б24 в Хорошоп.
    4) Покупаете сервер, к нему домен и ssl сертификат. Устаналиваете все что необходимо для работы (например nginx, php, mysql и т.п.).
    5) Пишете приложение обмена. Сначала в одну сторону (Хорошоп - Битрикс), потом если нужно - в другую.
    Ответ написан
    1 комментарий
  • Что я в итоге реализовал?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Эм... есть несколько вопросов по Вашему "чуду".
    Отбросив велосипедизм и костылестроение есть пара вопросов по логике работы.

    То что у Вас есть константа MAX_AGE_IN_YEARS (кстати почемы бы просто не спрашивать дату рождения?) это ок (смущает конечно _IN_YEARS, но да ладно), то что у Вас 3 пола это тоже допустимо (по крайней мере в нашей адекватной России), то что у Вас есть допустимый ростовой диапазон тоже, но во чего я точно не могу понять, так это блин STATUSES.

    Почему бы не сделать 2 "статуса" (на самом деле эт о скорее "признак жизни субьекта") - DEAD или ALIVE, то есть живой или не живой.
    child, adult, old и т.п. можно получить при помощи отдельного метода исходя из возраста обьекта (ведь они же зависят от возраста, а не от каких либо правил).
    "Статусы" buried и cremated это не статусы, а виды погребения.

    Велосипедизм вызван именно нежеланием разделять физические сущности на их логические составляющие.

    Почему бы не описать это при помощи сеттеров (т.е. в момент установки параметра, проверять его ошибки)? Почему бы не разделить это все на части и не хранить отдельно?
    Ответ написан
  • Bitrix своя цена для товара в корзине CUSTOM_PRICE?

    gromdron
    @gromdron
    Работаю с Bitrix24
    1) Проверьте настройки складского учета и что-то я не вижу класса провайдера при создании товара. Вы его передаете? Проверьте актуальные данные тут - https://dev.1c-bitrix.ru/community/blogs/vws/about...
    2) А в paymentCollection после изменения цены все норм?
    Ответ написан
    Комментировать
  • Как исправить проблему загрузки данных в файл PHP?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Проверьте директиву allow_url_fopen в php.ini.
    Ответ написан
    Комментировать
  • Как задать значения по умолчанию?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Подробнее тут.
    Если коротко:

    Если во всех случаях у вас не приводимое к false состоянию, то можно сделать так:
    var[0] = var[0] || 'default1';
    var[1] = var[1] || 'default2';
    var[2] = var[2] || 'default3';


    Ну или проверять на typeof var[0] == 'undefined'.
    Ответ написан
  • Что за ошибка mysqil?

    gromdron
    @gromdron
    Работаю с Bitrix24
    "(NULL, '$cart_id_product', '123', '44', '$cart_ip'


    А скобку кто закроет?
    Ответ написан
  • Как применить класс ко всем вложенным страницам?

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


    1) А не открывали ли Вы страницы ранее? Т.е. не закешировались ли предыдущие страницы? Пробовали сбрасывать кеш?
    2) Как именно вы подключаете свой стиль? Через inline, подключением файла или как-то по другому?
    3) Вы применяете к однотипным страницам? Или к разным?
    Ответ написан
    Комментировать
  • Как найти дубликат скрипта в bitrix?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Собственно битрикс к этому вопросу имеет весьма посредственное отношение и вопрос тут гораздо глубже: как вообще находить дублирование информации на сайте.
    Почитайте про grep
    Ответ написан
  • Как создать ajax фильтр по свойствам инфоблока bitrix?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Буду признателен за помощь, ибо сам попаду в этот фильтр :))


    1) Читаем про Ajax в прицнипе. (На форуме есть отдельный топик про Bitrix и Ajax)
    2) Читаем в Битриксе по $APPLICATION->RestartBuffer() (тут на форуме небольшой топик)
    3) Читаем по FILTER_NAME у компонента bitrix:news.list
    4) Делаем скрипт, который проверяет на странице что запрос пришел из Ajax - при помощи RestartBuffer сбрасывает все что было до него, подключает компонент и убивает выполнение страницы.

    В целом и сопутствующие статьи могут помочь. Например тут написано про ajax подгрузку новостей (технология та же)
    Ответ написан
    1 комментарий
  • Как вывести из БД картинки?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Добавляя к ответу Егор Скороходов, если уж очень не хочется работать с ManyToMany-моделями, есть более простой способ (как заплатка подойдет, но в перспективе будет хуже).
    В SQL есть такая штука - FIND_IN_SET и можете воспользоваться ею.
    Ответ написан
    Комментировать
  • Как сделать кнопку отправки вложения?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Загрузка файлов
    Для отправки почты использовать что-нибудь попроще: PHPMailer или Swift Mailer

    Неплохо было бы почитать по Чистый код на php и PHP: The Right Way
    Ответ написан
  • Как сервер аутентификации взаимодействует с другими серверами и устройством пользователя?

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

    Я мало где видел второй вариант, посколько использовать одну точку доступа и на ней же располагать СА куда проще и выгоднее (нет лишних запросов по сети и время ожидания меньше).
    Ответ написан
    Комментировать
  • В чём заключается опасность 410 ошибки?

    gromdron
    @gromdron
    Работаю с Bitrix24
    почему все не использую 410 ошибку вместо 404?


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

    P.S. Делать сайт нужно для людей
    Ответ написан
  • Возможно ли разделить информацию по филиалам в Bitrix?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Есть несколько вариантов решения данной ситуации:

    1) Если в дальнейшем с филиалами ничего не планируется делать (т.е. не будет своих страниц, привязок новостей к филиалам и т.п.), то лучше использовать разделы инфоблока. Для такой единичной группировки в конкретном месте это будет наиболее быстрый и простой способ.

    2) Если планируется создавать новости и отображать их в зависимости от филиала (или услуги), то лучше сделать отдельный инфоблок "Филиалы" с перечнем филиалов, а уже в инфоблоке "Специалисты" создать свойство инфоблока "Филиал" с типом - привязка к элементам инфоблока "Филиалы".

    3) Если планируется более глобальное разделение - т.е. у каких-то филиалов могут быть интернет-магазин, а других новости или блог, то следует создать отдельные файлы под филиалы. Но это уже больше к большим и крупным компаниям.
    Ответ написан
    Комментировать
  • Слетает контент при восстановлении битрикса?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Если у Вас Битрикс старше 16 версии:
    1) Проверьте новый сервер через bitrix_server_test.php
    2) Закройте публичную часть сайта
    3) Проверьте сайт на ошибки (проверка системы)
    4) Сделайте бекап проекта в в папку на сервере, а не в облако
    5) Скачайте бекап на локальный компьютер
    6) Загрузите архивы вместе с restore.php на новый сервер
    7) Восстановите сайт из загруженного архива

    Если младше 16 версии:
    1) Проверьте новый сервер через bitrix_server_test.php
    2) Закройте публичную часть сайта
    3) Вручную сделайте бекап файлов проекта (лучше всего походит tar)
    4) Вручную сделайте бекап базы данных
    5) Загрузите файлы и базу на новый сервер
    6) В /bitrix/.settings.php, /bitrix/.settings.extra.php и /bitrix/php_interface/dbconn.php поменяйте данные доступа
    7) На распакованном сайте в административном разделе правьте все отсылки к старому сайту

    В обоих случаях после восстановления очистить папки /bitrix/cache/, /bitrix/managed_cache/ и /bitrix/stack_cache/.
    Если каких либо папок нет, не переживать и продолжать дальше.
    Ответ написан
    Комментировать