Задать вопрос
  • Что я в итоге реализовал?

    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/.
    Если каких либо папок нет, не переживать и продолжать дальше.
    Ответ написан
    Комментировать
  • Как вывести свойства товаров в корзине?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Это можно сделать при помощи API в result_modifer.php.
    Конкретных кусков кода не подскажу, тут сильно много вариантов есть.
    Ответ написан
    6 комментариев
  • Как снять ограничения на кол-во символов в Bitrix?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Создайте свое собственное свойство, наследуя CIBlockPropertyHTML и переопределяя соответствующий метод. Альтернативных вариантов, чтобы и работало все и проблем не было, я не вижу.
    Ответ написан
    1 комментарий
  • Как сделать вывод связанных highload блоков?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Я Вам уже на форуме Битрикса отвечал, но попробую и тут дать ответ.

    Все дело в том, что Вы не понимаете как Битрикс это хранит и интерпретирует.
    По факту он не обрабатывает, а просто достает это из базы данных как есть.
    Можно достать связанные поля, но по правилам реляции ORM (а highloadblock это по факту ORM), при наличии Вашего кейса Вам вернется не 1 элемент с 3 вложенными структурами, а 3 элемента, каждый из которых будет содержать по 1 элементу.

    Логика повторяющая поведение "Инфоблоки 1.0".
    Ответ написан
  • На чем делать простую CRM?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Прежде всего стоит задать вопрос: насколько это актуально для 2х человек? Насколько именно все это им нужно.

    Возможно, именно для Вас подошел бы Битрикс24.

    1) Базу клиентов можно импортировать через веб-хук, тогда все будет отображаться и храниться в crm-сущностях и Вы сможете даже свои бизнес-процессы выстраивать (если понадобится). При этом, в этом году выйдет формирование документов по шаблону, так что тут он закроет Ваши потребности штатным механизмом.. в прицнипе даже загрузку можно через штатные инструменты сделать (csv он понимает)

    2) Есть мобильное приложение и для iOS и для Android, причем к ним можно на javascript разрабатывать приложения. Получается что Вы можете открыть приложение в приложении и уже оно найдет Ваши координаты и может сопоставить их с хранимыми. Без разработки приложения увы не обойтись.

    По-поводу стека технологий для Битрикс24: html, css, javascript (все остальное сделает сам б24).
    При этом можно пользоваться облачной версией (и хз насчет прайста, возможно даже бесплатный вариант может подойти)
    Ответ написан
  • Почему не снимается галочка активности для второго сайта на Битрикс?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Нужно проверять по очереди:
    - Кеширование
    - Обработчики события
    - Баги (на не обновленном сайте такое возможно или при установке бета-версий)

    Причин может быть много (от лишнего вывода на своих событиях до багов платформы) и если не хотите разбираться - обратитесь в бесплатную техническую поддержку (ну или к частным специалистам).
    Ответ написан
  • Как отобразить меню при многосайтовости Битрикс?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Файлы сайтов лежат в директориях s1 и s2.
    При обращении к site.ru

    Это очень плохая многосайтовость - сделана криво.

    Нужно сделать как минимум так:
    /home/bitrix/www/.top.menu.php
    /home/bitrix/www/about/index.php
    /home/bitrix/www/s2/.top.menu.php
    /home/bitrix/www/s2/about/index.php

    И тогда первый сайт открывайте по site.ru (SITRE_DIR = /)
    А в old.site.ru сделайте SITE_DIR = /s2/

    Либо вообще по разным папкам разнесите:
    /home/bitrix/www/* - первый сайт
    /home/bitrix/ext_www/s2/* - второй сайт

    То что Вы сделали, может быть для dev'а подойдет, но никак не для production - вам сеошники палками в темную забьют
    Ответ написан
    Комментировать