• Как сделать редирект с https на http если заблокированы какие-то порты на хостинге?

    минимальный платный тариф у бегета - 390 рублей ( если брать сразу год, то ещё дешевле). Это меньше, чем за сотовую связь. Один раз поесть.
    Написано
  • Как сделать возможность добавления картинки товара, загружая её перед этим в БД?

    следующий вопрос, который возникает после запихивания картинки в бд - как её оттуда достать и показать? Если уж так хочется сохранить в бд что-нибудь, связанное с картинкой - храните путь до неё. А саму картинку держите на диске, как обычный файл.
    Написано
  • Можно ли сравнить большие массивы по частям?

    kategg, другими словами: так, как предлагает Сергей П - можно. Делать какой-нибудь array_slice() и пихать в array_diff() - нельзя
    Написано
  • Bitrix как создать компонент, к которому будет доступ по ссылке?

    Aleksandr Yurchenko, пересмотрел материал по ссылкам, так как смутила Ваша фраза:
    Но в них создание компонента подразумевало "создать и вывести",

    Компоненты - это не про "создать" вообще. Даже если это "iblock.element.add" - это про "вывести форму, обработать результат заполнения формы". То, что при этом создастся элемент инфоблока, второстепенно.

    Как Вашу задачу решают на практике:
    1) древний способ: в корне есть папка ajax ,в ней обработчики. Ссылки, конечно, будут другими, что-то вроде /ajax/network.php?name=vk&action=link . (Кстати, при ajax ссылки вообще необязательны.)
    Внутри файла-обработчика может быть простой императивный PHP код. Например, компания Аспро такое использует в своих решениях
    2) менее древний способ: файл ajax.php в шаблоне компонента. Ссылки опять получаются другими:
    в шаблоне
    <a href="<?=$this->GetFolder()?>/ajax.php?name=vk&action=link">...</a>

    В ajax.php - опять же, что угодно.
    3) ещё менее древний способ - такой же файл ajax.php , но уже в компоненте, а не его шаблоне. Пример из коробки: bitrix/components/bitrix/catalog.section/ajax.php

    Я привёл это для того, чтобы показать, что ЧПУ - не "родной" для Битрикса путь, они изначально мыслили GET-параметрами.

    4) Далее идёт комплексный компонент - по смыслу, это роутер, который разрулит Ваши ЧПУ "/network/link/", "/network/unlink/", "/network/update/" на файлы в своём шаблоне. А в файлах - опять же, что угодно. Вы с тем же успехом можете создать физические папки по этим своим ЧПУ, разницы почти не будет ( но в шаблон комплексного компонента приходят, как и в любой шаблон, $arParams и $arResult ).

    5) и, наконец, современный путь - через роутинг и контроллеры, который Вам показал Максим Ткачев , но которого лично я пока не видел "из коробки".
    Написано
  • Почему иногда не срабатывает событие?

    Код выглядит безумно. Вы вешаетесь на событие OnBeforeCrmCompanyAdd - то есть "до создания компании". Значит, на этом этапе ID не может существовать. Однако Вы его якобы передаёте в CCrmCompany::getList() .
    Далее: первый аргумент этого метода - массив для сортировки результата. Вы же туда пихаете то, что, по Вашим предположениям, должно быть числом ( а по факту получается null, как понимаю).
    Фильтр же пустой, так что метод просто вываливает вообще все компании, которые есть, хотя можно было бы отфильтровать по имени.

    Я бы советовал Вам сначала переписать на адекватный вариант, используя $arFilter и $nPageTop=1, а все случаи, когда выборка оказалась пустой - логировать.
    Тогда, при возникновении проблемы с дублем компанией, будет проще воспроизвести ситуацию.
    Может, хитрый пользователь создаёт компанию с одним именем, а потом переименовывает. Или там пробелы. Или ещё какая-то дичь.
    Написано
  • Зачем объявлять name в конструкторе?

    Сергей delphinpro, небязательно, но местами встречается максима "не должно быть возможности перевести объект в неконсистентное состояние". Может, поэтому
    Написано
  • Миграция с Виндовс на Арч. Какие могут быть проблемы?

    Adamos, у меня опыт противоположный Вашему. Надо было перейти с Jessie на Stretch (или с Wheezy на Jessie, не помню), я сделал apt-get dist-upgrade - и всё нафиг умерло. После этого я, конечно, прочёл в описании к релизу, что если не хотите проблем при обновлении - снесите все сторонние программы, а после перехода поставьте заново. ( источником проблемы был VirtualBox). Но впечатление было испорчено..
    С тех пор сижу на Арче ( точнее, посидел на нём и перешёл на Manjaro), и никаких проблем.
    Я, правда, редко ставлю новый софт - рабочие потребности закрыты, что-то запускаю в Docker. Что-то не получается ( например, не смог заставить работать Bluetooth гарнитуру как гарнитуру, только в режиме наушника), но систему это не ломает; поставил blue-z, потыкался, снёс blue-z.
    Написано
  • Как сделать обработку событий для всех элементов в таблицы?

    winser, тут нет "лучше" или "хуже". Если в Вашей ситуации решение Valeri Tsvetkov сработало без проблем - отлично, пользуйтесь.
    Когда столкнётесь с тем, что такой подход с чем-то конфликтует - вспомните, что можно и по-другому.
    Написано
  • Как сделать обработку событий для всех элементов в таблицы?

    winser, потому что вариант Valeri Tsvetkov опирается на всплытие события. Которое могут перехватить, например.
    И это всегда проблема выбора: обработчик на контейнере, который должен разобраться, что же там прилетело, или идентичные обработчики на пачке идентичных элементов.
    Написано
  • На каких сайтах не используются куки?

    maksam07, я в курсе. Я пытаюсь понять позицию топикстартера по этому вопросу. Мне трудно представить себе сайт без Метрики/Аналитики
    Написано
  • На каких сайтах не используются куки?

    был у меня сайт-визитка, но на нём стояла Метрика. Это не считается?
    Написано
  • Почему при скролле Yandex-браузер тупит?

    window.addEventListener('scroll', function ()...

    Разве не нужно обработчик в debounce обернуть?
    Написано
  • Почему не работают аннотации js?

    Вы бы написали, в какой IDE работаете. И разумнее было бы добавить в теги webpack и название IDE, а node.js убрать.
    Написано
  • Можно ли так доказывать правильность алгоритмов?

    floppa322, откуда Вы взяли это утверждение?
    Например, у Вас есть 10 прямоугольников: 1*10, 2*9 и так далее ( ширина всё время растёт, а высота всё время убывает ). Насколько я вижу, никакой последовательности тут не найти.
    Написано
  • Как преобразовать формулу "наборот"?

    Дмитрий, потому что даже в начальных формулах
    A3-A3*B3 эквивалентно A3*(1-B3)
    и так далее
    Написано
  • Как мне встроить Javascript в PHP-код?

    как только Вы разберетёсь, как и где работает PHP, и как и где работает Javascript, вопрос отпадёт сам собой
    Написано
  • Как снять черные шутки под кулером?

    Если речь про пластиковые штуки по углам, с пружинами, то с обратной стороны платы они должны выглядеть как гарпун /|\ . Надо аккуратно эти боковые лапки сжать и всунуть обратно в отверстие платы. Делать это нужно диагонально, а не по окружности, чтобы снизить неравномерность нагрузки на чип под радиатором.
    Если Вы хотите сделать это для очистки от пыли, то лучше не снимать, а почистить радиатор кисточкой для бритья или мягкой кистью для рисования ( главное, чтобы ворс был не синтетический)
    Написано
  • Redis спустя время теряет данные, с чем это связано и как исправить?

    gidwin, данные в RAM теряются скорее всего из-за рестарта контейнера. У Вас стоит "restart: always" , так что Вы и не замечаете.
    Написано
  • Как обновить корзину после добавления товара через событие?

    Алексей, а почему она должна перерисовываться? Страница у клиента, а добавляете товар Вы на бэкенде. Если Вы ожидали, что в Битриксе есть какая-то реактивность - ничего подобного.
    И даже если есть взаимодействие через ajax ( что я пытаюсь у Вас выяснить, но тщетно), то оно, я полагаю, происходит так:
    1. посетитель нажал "добавить товар"
    2. ajax запрос ушёл,
    3. бэкенд загрузил корзину этого посетителя,
    4. добавил товар - ошибок не произошло,
    5. отправил новую корзину посетителю.

    Вам бы надо, чтобы перед последним шагом происходило повторная загрузка корзины - но, полагаю, её нет.

    Самое простое костыльное решение - в ajax-обработчике посылать второй запрос чисто с получением корзины. Есть ли вариант получше - только отладка покажет.
    Написано