Все сервисы Хабра

Сообщество IT-специалистов

Ответы на любые вопросы об IT

Профессиональное развитие в IT

Удаленная работа для IT-специалистов

Войти на сайт
  • Все вопросы
  • Все теги
  • Пользователи

Хабр Q&A — вопросы и ответы для IT-специалистов

Получайте ответы на вопросы по любой теме из области IT от специалистов в этой теме.

Узнать больше
другие проекты хабра
  • Хабр
  • Карьера
  • Фриланс
Задать вопрос
gromdron

Андрей Николаев

Работаю с Bitrix24
  • 471
    вклад
  • 3
    вопроса
  • 843
    ответа
  • 37%
    решений
Лайки
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Достижения
  • Как из родителя запустить метод в ребенке Vue?

    0xD34F
    0xD34F @0xD34F Куратор тега Vue.js
    через ref:

    <button @click="$refs.child.someMethod()">call child method</button>
    <child-component ref="child"></child-component>
    Ответ написан более трёх лет назад
    2 комментария
    2 комментария
  • Как простым языком объяснить человеку, зачем делать дизайн сайта в Figma, а не в Битрикс?

    RESURT @roman_vo
    Как объяснить человеку, что ездить на велосипеде удобнее, чем на велосипедном шлеме?
    Ответ написан 12 июл. 2022
    Комментировать
    Комментировать
  • Как объединить многомерные массивы?

    VlasenkoFedor
    Fedor Vlasenko @VlasenkoFedor
    Программист: php, js, go
    print_r(array_replace_recursive($array_1, $array_2, $array_3));
    Ответ написан более двух лет назад
    Комментировать
    Комментировать
  • Как сохранить значения из лога за последние два дня?

    Masas
    Никита Ермиличев @Masas
    grep "$(date -d "-2day" +"%b %d")\|$(date -d "-1day" +"%b %d")\|$(date -d +"%b %d")"  $ipfw/ipfw.log >> $ipfw/reject_log_2d
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Обязательно ли программисту работать в команде для развития?

    Masas
    Никита Ермиличев @Masas
    Прокачаться можно, тут дело времени и склада ума, но как по мне, лучше (уже имея некую базу) пойти работать джуниором в команду и чем жёстче будут наставники - тем лучше :)

    PS ничто не мешает найти единомышленников и организовать командную работу вне офиса.
    Главное желание! :)
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Можно ли вывести названия всех компонентов на странице и пути к ним?

    Masas
    Никита Ермиличев @Masas
    Попробуйте методы
    getCurrentIncludedComponent()
    getComponentStack()

    у CMain ($APPLICATION)

    Если не сработает, то всегда можете включить режим отладки, и все компоненты будут подсвечены

    5a38c9b4b0579361538558.png5a38caba06f60831337227.png5a38cac22c6ac892954309.png
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как определить что находишься на детальной странице каталога?

    Александр @idruweb
    в component_epilog записывайте в глобальную переменную или свойство страницы нужный флажок
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Как исправить ошибку [[2006] MySQL server has gone away]?

    2ord
    Román Mirilaczvili @2ord
    Если чисто сетевых проблем на уровне инфраструктуры нет, то тогда
    https://matomo.org/faq/troubleshooting/faq_183/
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Битрикс, как узнать адрес детальной страницы?

    Александр @idruweb
    смотрите
    1) настройки компонента news
    2) файл urlrewrite.php
    3) настройки инфоблока
    Ответ написан более трёх лет назад
    4 комментария
    4 комментария
  • Объединение 3х таблиц и выборка данных без дублирования?

    Rsa97
    Rsa97 @Rsa97
    Для правильного вопроса надо знать половину ответа
    SELECT `m`.`name`, `m`.`phone`, IFNULL(`t`.`cities`, '')
      FROM (
        SELECT `mc`.`manager_id` AS `manager_id`, 
               GROUP_CONCAT(`c`.`name`) AS `cities`
          FROM `manager_cities` AS `mc`
          JOIN `cities` AS `c` ON `c`.`kladr_id` = `mc`.`kladr_id`
          GROUP BY `mc`.`manager_id`
      ) AS `t`
      RIGHT JOIN `managers` AS `m` ON `m`.`manager_id` = `t`.`manager_id`
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Как запустить фоновый php?

    frost18
    Сергей @frost18
    Программист PHP
    1) Ваш вариант на аяксе, проблема в том что сессия заблокируется, и вы не перейдете на другие страницы пока скрипт не завершит выполнение, тут можно вызвать session_write_close(); но все же это костыльный вариант, но рабочий.
    2) Если у вас апач стоит, то вы можете сделать так:
    echo 'ok';
    
    set_time_limit(0);
    ignore_user_abort(true);
    header("Connection: close");
    ob_flush();
    flush();
    
    sleep(10);
    file_put_contents('test.txt', 'success');

    Но на хостинге у меня так не прокатило, т.к там apache+nginx, а он заголовок Connection не пропускает, ставит свой "keep-alive"
    3) Вариант который мне подошел. Мне нужно было при оформлении заказа делать тяжелые операции (рассылка почты, отправка в CRM, логи и .п), но при этом результат этих операции не важен.
    public function isWin(){
    	return strtoupper(substr(PHP_OS, 0, 3)) === 'WIN';
    }
    public function backgroundProcess($command){
    	if(!$this->isWin()){
    		$command = $command.' > /dev/null &';
    	}
    	$result = exec($command);
    	return $result;
    }

    Работает на linux, суть в том что к команде в конце добавляется "&" в конце, что запускает новый процесс.
    $obj->backgroundProcess('php /path../bg.php');

    P.S Вообще это все исключительные ситуации, PHP не должен работать в асинхронном режиме. Может вам лучше при каждом заходе на страницу делать записи в БД. А затем настроить планировщик задач CRON который будет выполнять ваш скрипт по этим записям.
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Почему не появляются данные в бд?

    Quark_rgb @Quark_rgb
    isset($_POST['submit']) Есть
    а в button нету name="submit"
    <button type="submit" name="submit" class="btn"></button>
    Ответ написан более трёх лет назад
    2 комментария
    2 комментария
  • Как получить путь указанный в хлебной крошке?

    Rema1ns
    Никита @Rema1ns
    и так сойдет
    В битриксе нет понятия основная категория или не основная, есть уровни вложенности.

    Если цепочка сформирована то можно получить массив элементов из $APPLICATION->arAdditionalChain
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Что нужно сделать, чтобы после обновлений в битриксе не слетал шаблон?

    sabramovskikh
    Сергей @sabramovskikh
    Научиться пользоваться битриксом на дилетантском уровне
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как менять SEO - данные в зависимости от города?

    Rema1ns
    Никита @Rema1ns
    и так сойдет
    Скорее всего через отложенную функцию получают значение тайтла, возможно в хедере или футере, далее в строке ищут ##CITY_NAME## и заменяют на текущий город. Примерно так реализовано.
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Почему не выводятся картинки из папки?

    stk
    Кирилл @stk
    1. Права доступа к папке проверели?
    2. URL у вас получается "upload/...", то есть относительно текущего УРЛа страницы с картинками.
    То есть если это страница "www.example.com/gallery", то картинки будут "www.example.com/gallery/upload/...".
    Добавьте слэш $src = "/upload/...". Тогда сорс картинок будет "www.example.com/upload/...".
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Какое количество людей может быть одновременно на сайте Битрикс, чтобы он не упал?

    floydman-89
    Илья Савельев @floydman-89
    В постоянном изучении...
    Во-первых, это зависит от сервера (хостинга) и его настроек. Вы можете хоститься на бесплатном, а можете на платном хостинге. Очевидные причины в этом случае, думаю, объяснять не стоит.

    Берем платный хостинг. Вы можете приобрести виртуальный хостинг, где, допустим, нагрузка зависит от выбранного тарифа. Обычно чем выше тариф, тем больше допустимой нагрузки. Причем это нагрузка определяется не в человеках, от количества которых упадет сайт, а в нагрузке на CPU и БД. Потом вы можете приобрести VPS/VDS хостинг, который админите сами и тут тоже все зависит от выбранного тарифа (чем выше тариф - тем больше ресурсов вам выделяется). Потом вы можете приобрести выделенный сервер - тут с нагрузкой все еще лучше, но еще больше ресурсов необходимо для его поднятия, настройки и поддержки.

    Во-вторых, это зависит от настройки самого битрикса, использование автокеширования, CDN, композита и т.д., короче говоря от произведенных настроек самой CMS.

    В-третьих, это зависит от качества верстки и кода, а также правильной интеграции c CMS. Можно, к примеру, элементарно в компоненте отображения новостей на сайте так начудить с запросами к БД, что сайт просто будет висеть по 15-20 секунд.

    Поэтому никто не ответит четкими цифрами на ваш вопрос, надо исследовать, изучать ваш случай и делать выводы.
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Есть ли возможность в битриксе создать свой тип свойства заказа?

    serginhold
    serginhold @serginhold
    Гугл отключили?
    https://dev.1c-bitrix.ru/learning/course/index.php...
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Почему не работает return?

    twobomb
    twobomb @twobomb
    У вас что вывода ошибок нет?
    function encrypt($text, $n) {	
    $str1 = $str2 = "";
    for($i = 0; $i < strlen($text); $i++)
    	if($i%2 == 0)
    		$str2 .= $text[$i];
    	else
    		$str1 .= $text[$i];
    if($n > 0 )
    	$text = encrypt($str1.$str2, $n - 1);	
    return $text;
    }
    echo encrypt('This is a test!', 2);
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Как усовершенствовать функцию?

    SerafimArts
    Кирилл Несмеянов @SerafimArts
    Junior HTML Developer
    return \collect((array)$requestTags)->map(function($tag): int {
        return \is_numeric($tag) ? (int)$tag : Tag::upsert(['name' => $tag])->id;
    });
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
Оценили как «Нравится»
  • 1
  • 2
  • 3
  • Следующие →
Самые активные сегодня
  • puzaka
    • 10 ответов
    • 0 вопросов
  • freeExec
    freeExec
    • 8 ответов
    • 0 вопросов
  • firedragon
    Владимир Коротенко
    • 8 ответов
    • 0 вопросов
  • mayton2019
    • 7 ответов
    • 1 вопрос
  • Vindicar
    Vindicar
    • 7 ответов
    • 0 вопросов
  • vabka
    Василий Банников
    • 7 ответов
    • 0 вопросов
  • © Habr
  • О сервисе
  • Правила
  • Обратная связь
  • Блог

Войдите на сайт

Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации