Задать вопрос
  • У кого-нибудь есть опыт интеграции Битрикса с Salesforce?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Интеграции? Очень интересный кейс т.к. продукты в какой-то степени конкуренты.
    Мы, например миграцию делали SF->Bitrix24... очень тяжко, но справились и наращиваем функциональность до сих пор.
    Ответ написан
    Комментировать
  • Memcache в php, кешировать только запросы?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Просто так сказать увы нельзя: все зависит от ситуации.
    Например, если запрос идет 10 секунд, рендеринг и обработка - 2 секунды, и эти данные, на протяжении как минимум минуты актуальны, то имеет смысл кешировать сразу верстку (быстрее будет).
    А вот если запрос протухает уже через 5 секунд, то и кешировать его не стоит.

    Если у Вас запрос быстро исполняется, и запрашивается ну очень часто, то кешировать его будет сама СУБД, в таком случае кеширование в приложении будет излишнем, однако если это сборная солянка из множества таблиц (например сбор отчета), который запрашивается относительно часто, но используется ограниченным кругом лиц (например советом директоров на совещании), то в таком случае можно его закешировать.
    Ответ написан
    Комментировать
  • Как подключить nuovo/spreadsheet-reader в composer json?

    gromdron
    @gromdron
    Работаю с Bitrix24
    А vendor подключен вообще?

    require_once(__DIR__.'/vendor/autoload.php');
    Ответ написан
    Комментировать
  • Выборка из базы данных?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Если я Вас правильно понял, то что-то типо:

    SELECT page_title 
    FROM table 
    WHERE 
        ( page_title LIKE '*.php' ) 
        OR ( page_title LIKE '*.html' ) 
        OR ( page_title LIKE '*/' ) 
        OR ( page_title LIKE '*.phtml' ) 
        OR ( page_title LIKE '*.html' )
    Ответ написан
    Комментировать
  • Как добавить скрытое поле в форму 1C Bitrix?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Все зависит от того как это реализовано.
    Может быть это обычная веб-форма, с дефолтным шаблоном (что можно из админки поправить) или веб-форма с темплейтом на html.
    Быть может это кастомная форма и запись в инфоблок.

    Сначала определитесь с какой формой Вам предстоит иметь дело.
    Ответ написан
  • Как рассчитать необходимую мощность сервера под проект?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Сам проект на yii2 уже написан или Вы подбираете сервер без проекта?
    Если написан - то можете провести нагрузочное тестирование (посмотреть на скольких пользователях умрет), оставить 80% посетителей (предположить, что серверные характеристики не меняются, а от пользователей оставить только 80%). Ну и догонять до 5к.
    Это при малой, при бОльшей нагрузке, понадобятся и танцы, вроде master-slave mysql и несколько application-серверов
    Ответ написан
    3 комментария
  • Пишет Class not found. Как правильно определить пространство имен?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Эээ... а что вы сделать то хотите ?

    Я вот о чем говорю: при использовании ООП в bitrix вы сталкиваетесь сразу с 2 большими стенами - применение ооп и битрикс. Прежде чем разбирать конкретный код хотелось бы немножко просветить вас в самой архитектуре битрикса.
    В терминологии Битрикса он использует концепцию MVC, но в рамках битрикса, а это означает что на любой странице где вы общаетесь с ним вы должны подключить пролог (хотя бы prolog_before) и эпилог (хотя бы epilog_after, ну в идеале). Именно "компонент" и является тем самым MVC (Вообще это скорее VC + row access, так как модели по сути нет). Есть класс CBitrixComponent (контроллер) и класс CBitrixComponentTemplate (который совместно с файлами шаблона и образует view).

    Вызов компонента происходит из глобальной переменной $APPLICATION путем метода IncludeComponent. До версии 14 (если мне не изменяет память) вообще не было такого понятия как class.php, где можно было отнаследоваться от CBitrixComponent и перекрыть какие-нибудь функции (шаблонизатор к примеру сменить), а после нового ядра d7 появилась возможность отнаследоваться от CBitrixComponent и в файле class.php разместить свой код (таким образом мы сохраняем и class.php с новыми функциями и component.php с логикой), а перекрывая метод executeComponent вы можете избавиться и от component.php.

    С точки зрения архитектуры (рекомендую изучить документацию, она очень обширна и познавательна) все компоненты должны лежать в так называемом пространстве имен, чем обычно служит ник-нейм или название компании (Естественно начинается не с цифры и содержит только латинские буквы), которые в свою очередь могут располагаться в /bitix/components/#пространство_имен#/#название_компонента#/

    Теперь построчно разберем Ваш вопрос:

    Вы положили свой класс сюда: /bitrix/templates/app/Pi/Test.php, что является неверным с точки зрения архитектуры, так как поместили класс отвечающий за контроллер в папку с шаблоном. Если вы не пишете свой модуль вы можете подключить его например в /local/php_interface/classes/ (пример надуманный, можете просто в /local/php_interface положить или сразу в init.php), однако для этого вы должны будете написать autoloader, так как у битрикса он работает только для модулей. Предположим вы в init.php напишете грубый require_once с файлом.

    Затем вы делаете следующее:

    Что является неверным, так как по сути вы обьявляете неймспейс для файла и это с точки зрения php выглядит вот так в конечном итоге:

    class app\Pi\test extends app\Pi\CBitrixComponent
    {
    // ...
    }

    А класса app\Pi\CBitrixComponent не существует. Так что вам нужно поправить пример хотя бы так:

    class test extends \CBitrixComponent

    Настоятельно рекомендую прочитать документацию или хотя бы посмотреть видео с академии битрикс. Сама система не подарок, а другой программист который увидит ваш код будет говорить что это битрикс виноват.
    Ответ написан
    Комментировать
  • При экспорте инфоблока как быть с картинками?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Жаль что с опозданием, но может другим поможет:

    При экспорте инфоблоков вы должны указать xml-файл экспорта (или csv). Например экспортировать инфоблок "Новости" из типа инфоблока "Новости" в файл news.xml, в таком случае будет создан/изменен существующий файл news.xml и будет создана папка news_export содержащая изображения из инфоблока (собственно их пути и будут прописаны в xml или csv)
    Ответ написан
    Комментировать
  • Максимальный индекс производительности Битрикс 1С?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Самый большой индекс что я видел это 75 попугаев, на собственном сервере

    А вообще индекс производительности это обратная от среднего времени отклика. Например, при среднем времени отклика 0.0216 секунд индекс производительности будет показывать где-то около 46.3.
    Ответ написан
    Комментировать
  • Как сделать в форме отправку прикрепленного файла в (bitrix)?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Если не хотите писать рутинные вещи, то для таких вещей в 1С-Битрикс есть Веб-формы. Один раз делаете "натяжку" дизайна на форму, а потом плодите сколько-хотите вопросов.

    А вообще у сервиса веб-форм есть свои плюсы и минусы:
    + Один раз настраивайте форму и "масштабируйте" (увеличивайте число полей) просто
    + Для форм есть своя логика и о валидации не надо думать, большая часть работы сделана за вас
    + В них заложена логика обмена с crm и права доступа
    - Работа модуля не совсем проста, придется покопать документацию
    - О валидации все-таки нужно думать, так как шаг влево и проще будет написать на голом php
    Ответ написан
    Комментировать
  • Как настроить обработку адресов в Битрикс?

    gromdron
    @gromdron
    Работаю с Bitrix24
    А с чем связан такой необычный кейс ? Может быть цель, которую вы преследуете, решается другими способами ?
    Ответ написан
    Комментировать
  • Избранные товары в Битрикс?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Давно не работал с интернет-магазинами на битриксе, но я предположу что вариантов 3:

    1) Он же наиболее правильный - прописать таблицу/инфоблок для таких товаров и разработать для них вьюху.
    2) Нещадный вариант - приспособить под это дело "отложенные товары". Механика вроде как одинаковая но вдобавок пару плюшек с уведомлениями
    3) Невероятный - в последних битриксах эта функциональность есть в коробке.
    Ответ написан
    Комментировать
  • Как верно отрабатывать ошибки для ответа API?

    gromdron
    @gromdron
    Работаю с Bitrix24
    А если используется rest, то можно возвращать просто текст и 400 ошибку.
    Ответ написан
    Комментировать
  • Почему PHP бросает ошибки в Windows-1251?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Если вручную поставить в браузере кодировку Кириллица (Windows), то текст нормально отображается.

    Именно. PHP и возвращяет вам ответ в UTF-8, однако ваш браузер читает и пытается отобразить его как windows-1251.

    А что касается кириллицы, то D:\��� �������\ - вы запускаете тестовый сервер на windows ? Для теста вы и так знаете где он лежит, а вот для production все-таки стоит перейти на linux и избавиться от кириллицы.
    Ответ написан
  • Как убрать лишние отступы?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Ну как минимум - тег footer - bottom: 0; height: auto;

    + перестаньте указывать bottom, top, left, right, пользуйтесь margin, padding, text-align
    Ответ написан
    Комментировать
  • Где взять уроки по SEO оптимизации?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Есть бесплатный центр в Москве, где можно не только посетить семинары, но и посмотреть записи предыдущих семинаров и т.п.

    CyberMarketing.ru
    Ответ написан
    Комментировать
  • Где пройти обучение базовым знаниям для не специалиста в области IT?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Если из Москвы, попробуйте пройтись по курсам CyberMarketing.ru.
    Или же обратиться к знакомым IT'шникам.
    Так же можно задавать вопросы тут.
    Ответ написан