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

    gromdron
    @gromdron
    Работаю с Bitrix24
    А у Вас таблица в MyISAM или InnoDB ?
    Ответ написан
  • Какой язык учить после PHP?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Иван, у Вас неверная постановка вопроса.
    Во-первых, ценится не знания языка, а опыт.
    Во-вторых, у меня сложилось субъективное впечатление, что Вы не знаете чего хотите.

    Если Вы хотите быть востребованным специалистом - смотрите на тенденции. Сейчас это анализ данных, DL, машинное обучение. Языковой стек в основном это Python.
    Если Вы хотите разрабатывать игры - C++/C, Java
    Мобильная разработка: Swift, ObjectiveC и т.д.
    Web-разработка: Node.JS, Ruby, PHP
    Из (субъективно для меня) экзотического - Erlang, Rust.
    Ответ написан
    7 комментариев
  • Как написать не равно на php чтобы работало?

    gromdron
    @gromdron
    Работаю с Bitrix24
    А можете прописать перед условием:

    echo "<pre>";
    var_dump($row['MOId'],$cid,$row['Title'], $ctitle);
    echo "</pre>";


    И выложить сюда то, что он выведет. Ну и непомешал бы пример данных, где он не срабатывает (а должен) и срабатывает (а не должен).

    Просто с точки зрения конструкции все логично, может быть у вас там htmlentities есть?
    Ответ написан
    Комментировать
  • Как учиться писать не говнокод?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Мне кажется это бессмысленное занятие - говнокод слишком субъективное и ситуационное явление. Иногда архитектура решения позволяющая изменять бизнес-логику приложения под ежедневно меняющиеся требования бизнеса является говнокодом, несмотря на то что она реализует все требования ( а вот слаженная и четкая архитектура не позволяющая быстро и относительно безболезненную смену бизнес-логики не является говнокодом).
    Насчет последнего (про архитектуру), я конечно мог бы преувеличить, однако я еще не встречал продукта с идеальным кодом или архитектурой. Посмотрите с highload доклад Аксенова (надеюсь правильно фамилию написал) - Снесите это немедленно. Он там достаточно подробно и доступно излагает.
    Ответ написан
    Комментировать
  • PDO Mysql, возник вопрос?

    gromdron
    @gromdron
    Работаю с Bitrix24
    А откуда вы берете $language и $page ?
    Если вы их задаете сами и они не зависят напрямую от пользовательского ввода - пожалуйста!

    Что значит зависят или не зависят напрямую:
    // $page зависит напрямую $_REQUEST['page']
    $page = $_REQUEST['page'];
    
    // $page не зависит напрямую от $_REQUEST['page']
    $page = 'index';
    if ( $_REQUEST['text']=='detail' ) {
    	$page = 'detail';
    }
    Ответ написан
    1 комментарий
  • Nginx: код 503 в конфиге по факту оказывается 302. Почему?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Может это внутреннее? Как-бы 503 - это Service Unaviable, а вы вместо отдачи на /maintrance.html отправляете.
    А он уже 200 отдает.

    Попробуйте удалить:
    location = /maintrance.html {
    return 200;
    }


    Будет ли подобный результат ?
    Ответ написан
  • Почему не создает и не возвращает ошибку при создании свойства в Битрикс?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Если он вернул false, ошибку вы можете получить функцией:
    $error = $APPLICATION->GetException();
    Ответ написан
    Комментировать
  • Почему нет пункта меню "Приложения"?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    1) Обновите 1С-Битрикс
    2) Проверьте установлен и активирован ли модуль REST
    Ответ написан
    Комментировать
  • У кого-нибудь есть опыт интеграции Битрикса с 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) Невероятный - в последних битриксах эта функциональность есть в коробке.
    Ответ написан
    Комментировать