• Как подключиться из PHP к memcached с использованием socket?

    попробуйте так:
    <?php
    $memcache_obj = new Memcache;
    $memcache_obj->addServer('unix:///tmp/memcached.sock', 0);

    У меня на Bitrix VA пример из документации работает именно так ( только надо real на float заменить )
    Ответ написан
  • Почему не работает проверка NAN?

    В Javascript NaN != NaN . Довольно логичный выбор: если undefined - это состояние, то NaN - признак отсутствия характеристики. Я - NaN , Вы - NaN , но Вы - не я.
    Ответ написан
    Комментировать
  • Инструмент для сохранения всех вариантов сочетаний по заданной маске?

    да - ищите "rainbow table generator". И можно прямо готовые радужные таблицы скачать
    Ответ написан
    Комментировать
  • Почему эффект применяется только к одной кнопке из трёх?

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

    И я заметил, что у нижней кнопки круг всё же мелькает, но по нижнему краю. А когда увеличил радиус до 40px, такое же мелькание заметил и у правого края правой кнопки.
    Ответ написан
    Комментировать
  • Шаблон типовой страницы в Битрикс?

    На ум в первую очередь приходят инфоблоки. Если структура страниц плоская - то это элементы инфоблока. "Из коробки" в элементе есть h1 и метатеги, картинка и текст для анонса, картинка и текст для детального просмотра. Если нужно много картинок - добавляете в инфоблок множественное свойство. Вот с подписями беда. Вариантов "из коробки" есть три:
    1) два независимых свойства, под картинку и под подпись. Интерфейс админки будет не для людей, но некоторые так живут;
    2) свойство типа "справочник". Там в нагрузку идёт ещё всякие ненужные поля, и когда картинок будет много, вы задолбаетесь. Но зато подпись и картинка будут объединены;
    3) кастомное свойство ( не для новичков ).

    Если структура иерархическая, то вместо элементов - разделы инфоблока, а вместо свойств - пользовательские поля. Но достаточно похоже на первый вариант.
    Ответ написан
    Комментировать
  • Как правильно подменить код в Javascript-файле, упакованном WebPack?

    Mausglov
    @Mausglov Автор вопроса
    минимально рабочий вариант оказался таким:
    "2ef0": function(t, e, n) {
    	(function(t, r) {
    		t._ = window._;
    		r.exports = window._;
    	}).call(this, n("c8ba"), n("62e4")(t))
    }

    Исходники всё же нашлись, практически случайно, но это совсем другая история...
    Ответ написан
    Комментировать
  • Какую должность я занимаю?

    Первый вопрос к вам: а Вы знаете, сколько зарабатывают Ваши коллеги ( неважно, что они заняты чем-то другим)? Если информация по з/п закрытая, то единственный путь - это искать вакансии, которые можете потянуть, и собеседоваться. Если вакансий достаточно - очень желательно не останавливаться на первом успешном оффере, а просить время "подумать".
    Далее, у Вас 2 пути:
    1) хороший и правильный: на старом месте сказать "всех люблю, но хочу попробовать силы на новом месте", подробности не разглашать, спокойно уволиться.
    2) сказать начальнику "мне в другом месте предложили на N денег больше". Допустим, начальник согласился поднять вам плату. Но в его голове всё равно останется "я платил X, а теперь за ту же работу плачу Y". То, что в процессе навалили ещё обязанностей, у него проходит мимо сознания.

    Вообще, приходя в любую компанию с закрытой сеткой окладов, сразу отмечайте в голове, что либо вы тут растёте по должностям ( а для этого лучше бросить IT и идти в начальники, работать с людьми, а не техникой), либо увольняетесь через пару лет. Другого цивилизованного пути сейчас просто нет.
    Ответ написан
    Комментировать
  • Отслеживание таблицы в бд?

    через крон - вполне нормальное решение. Только:
    1) стандартный крон запускается не чаще раза в минуту, а не секунду
    2) замерьте, сколько времени занимает запуск аукциона, чтобы не было наложения.

    Решение проблемы второго пункта - очереди сообщений ( RabbitMQ и прочие варианты). У Вас висит воркер, который мониторит некоторую очередь непрерывно. А в кроне стоит скрипт-публикатор , который проверяет, какие аукционы надо запустить, публикует в очередь задание по запуску каждого аукциона, а у самого аукциона помечает, что задание поставлено.
    Таким образом, неважно, сколько времени занимает старт одного аукциона, к тому же воркеров может быть несколько. А публикация задания - существенно более простая задача, делается за секунду.
    Ответ написан
    Комментировать
  • Как найти от куда вызывается модальное окно браузера?

    подход "в лоб":
    1) в Chrome открываете страницу
    2) когда окно с авторизацией появилось - правой кнопкой на нём тыкаете, выбираете Inspect
    3) находите родительский узел для попапа авторизации
    4) тоже кликаете правой кнопкой, выбираете Break on - subtree modifications
    5) не закрывая DevTools, обновляете страницу

    В момент появления попапа авторизации должен сработать брекпойнт, и там будет стек вызовов, и всё остальное
    Ответ написан
  • Failed to load resource: the server responded with a status of 404 (Not Found)?

    Откройте файлы стилей ( можно прямо по ссылкам в правой части первого скриншота кликать) и посмотрите на первую строчку - там что-нибудь импортируется, или шрифт объявлен.
    Вероятно, дело в том, что в вёрстке ресурсы лежали в корне, а теперь переехали в тему ( то есть в папку /wp-content/themes/имя_темы )
    Ответ написан
    Комментировать
  • Почему возникает ошибка Maximum execution time exceeded?

    Минут через 10-15 работы останавливается скрипт (но никак не через 120 секунд, как указано в логах)

    Посмотрите примечание в мануале, там всё описано. Несколько неудобно, что это примечание не продублировано в описании max_execution_time , но уж как есть
    Ответ написан
    Комментировать
  • Как минифицировать код MODx?

    Не знаю modx, но идея, как видно, в замене множественных пробелов на единичный. Составлено правильно, но неэффективно.
    Первая эволюция - это замена на такое: $output = preg_replace('|\s{2,}|', ' ', $output);
    , чтобы не менять одиночный пробел на одиночный пробел.
    Вторая эволюция - это использование once-only subpattern , посмотрите в документации.
    Ответ написан
    Комментировать
  • Как избежать дублирования товара при наличии нескольких родителей?

    насчет фильтрации по складам - не понял вопроса, а вот в публичной части проблемы наверняка будут. Потому что у вас второй инфоблок по сути будет без элементов.
    Привязать элемент к двум инфоблокам нельзя, потому что это "зашито" в структуре БД.
    Если взять идею tgarl и довести до логического предела, то получится так:
    Допустим, у нас 5 корневых разделов , то есть 5 инфоблоков. Делаем шестой инфоблок без разделов, сваливаем туда все элементы. А у первых пяти добавляем в раздел множественное UF-поле с привязкой к элементам шестого инфоблока.
    Я глубоко убеждён, что в публичной части штатный фильтр каталога работать не сможет.
    Ответ написан
    Комментировать
  • Как изменить шаблон сайта на 1C Битрикс: Управление сайтом без потери информации (или способы ее восстановления)?

    Имхо, это гиблое дело. Обратите внимание - это не "шаблон", как было популярно несколько лет назад, это "решение". При установке оно создаст свои типы инфоблоков, в них свои инфоблоки и наполнит их тестовыми данными. Структура сайта тоже будет заполнена по-новому; если в решении есть файл с тем же путём, как у Вас ( /index.php отличный пример ), он будет перезаписан решением.
    Потратить какое-то время и сделать структуру максимально близкой к старому сайту - возможно. Перелить данные из старых инфоблоков в новые - тоже возможно. А вот верстку заново натянуть - это уже сомнительно. Изрядные куски разметки - не в шаблоне, а в модуле ( например - блок с кнопкой "купить" в карточке товара).
    Зачем вообще Вам покупать решение, если по факту Вы не собираетесь его использовать?
    Ответ написан
    1 комментарий
  • Как пофиксить баг с дублированием текста в почтовом мейле битркс?

    А Вы знаете, как вообще устроены письма с HTML содержимым? Если нет, почитайте документацию на MIME.
    У меня 2 гипотезы:
    1) или в Вашем почтовом сервисе отрублен показ HTML писем,
    2) или где-то что-то ломается в процессе.

    То, что Вы показали, выглядит как нормальное multipart письмо, "---------alt44865c6755" - это boundary для разделения частей. Подробностей стандарта, увы, сейчас не помню.
    Ответ написан
  • Как вытащить только одну строку из json?

    у Вас JSON невалидный. Если предположить, что правильный JSON такой:
    {
      "128.3.3.1:1231":
        {"name":"NAME SERVER 1","gamemode":"mods","url":"https://url.ru","lang":"ru","players":412,"peak":521,"maxplayers":3333},
      "127.0.0.1:1234":
        {"name":"NAME SERVER","gamemode":"mods","url":"https://url.ru","lang":"ru","players":598,"peak":609,"maxplayers":3000}
    }

    то нужная часть извлекается элементарно:
    $json= "https://jsonurl";
    $data = json_decode(file_get_contents($json),true);
    
    $ip = "127.0.0.1:1234";
    $item = $data[$ip];
    Ответ написан
    1 комментарий
  • Как вывести в меню список новостей раздела?

    Если обязательно делать через меню, то для этого служат *_ext* файлы . То есть, допустим, Вы вводите новый тип меню prod , создаёте пустой .prod.menu.php и к нему рядом .prod.menu_ext.php . Какой в нём php код писать - посмотрите где-нибудь по аналогии.
    при выборе определенной новости, пункт из списка не становится активным.

    Так это в шаблоне дело, скорее всего. Поправьте шаблон.
    Ответ написан
    Комментировать
  • Кто должен делать отправку формы на сайте?

    Нужна бд или нет - это зависит от хотелок заказчика. Вы пишете:
    мне посоветовали не заниматься этим, типо нужна будет База данных

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

    Во-первых, определять какие-либо глобальные переменные в header.php шаблона сайта - дурная практика. Есть обработчики событий (типа OnProlog), делайте это там.
    Во-вторых, сильно подозреваю, что у Вас не значение переменной где-то кешируется и кешированным попадает в компонент (у Вас же этот компонент исполняется после header.php , верно?), а кешируется вывод компонента, то бишь его шаблон. Сделайте вывод этой глобальной переменной в component_epilog.php шаблона компонента, это должно прояснить ситуацию.
    Кстати, использовать глобальные переменные для примитивов (строка, число) нежелательно, используйте свойства страницы - это те же глобальные переменные, но "по фэншую".
    Ответ написан
    Комментировать
  • Как можно у элемента highload блока посмотреть историю в журнале событий при создании и редактировании элемента?

    Как можно посмотреть события с элементами highload блока?

    "Из коробки" - никак, не предусмотрено это. Пишите обработчики событий самостоятельно.
    Ответ написан
    Комментировать