Задать вопрос
  • Вывод массива php по 15?

    из задачи непонятно, что такое ряд. Как я предполагаю, есть ещё один оборачивающий контейнер, который топикстартер не показал. Тогда задача была почти решена:
    <?php
    $sliders = array_chunk($popBrand, 15);
    foreach ($sliders as $slider) {
        ?><div class="slider"><?
            foreach ($slider as $item) {
                ?>
                <div class="slide">
                    <a href="#" class="brand-item"><img src="/template/images/brand/<?=$item['brandLogo']?>" alt=""></a>
                </div>
                <?
            }
        ?></div> <?php
    }
    Ответ написан
    Комментировать
  • Как в Битрикс сформировать динамические мета инфоблока в разделе SEO, используя код в настройках инфоблока?

    Код какой-то ужасный. Его что, ИИ писал?
    Вам надо поменять тайтл на детальной странице товара.
    Значит надо найти шаблон детальной страницы товара, добавить (если нужно) туда файл component_epilog.php с таким содержимым:
    <?php
    use Bitrix\Main\EventManager;
    
    /**
     * @var array $arParams
     * @var array $arResult
     */
    
    Bitrix\Main\Loader::includeModule('iblock'); // уверен, что эта строчка не нужна, даже если сработал кэш
    
    $priceMod = $arResult["PROPERTIES"]['PRICE_MOD']['VALUE'];
    if ( $priceMod ) {
        $title = "{$arResult['NAME']} — $priceMod руб.";
        $eventManager = EventManager::getInstance();
        $eventManager->addEventHandler('main', 'OnEpilog', function() use ($title){
            global $APPLICATION;
            $APPLICATION->SetPageProperty('title', $title);
        }, false, 1000);
    }
    Ответ написан
  • Почему array_count_values возвращает пустой массив?

    Какой-то странный код, смотрите сами:
    $value = 'townhouse';
    - это следует из сообщения об ошибке (кстати, нафига вы сообщение об ошибке вклеили картинкой? Чтобы красным подчеркнуть? Это не несёт никакой пользы).
    Значит, $object_types - это массив, элементы которого - тоже массивы с ключом 'townhouse', либо объекты со свойством 'townhouse' (не значением свойства).
    array_column($object_types, $value) вернёт список значений по этому ключу.
    А array_count_values() сгруппирует одинаковые значения и посчитает.
    Очень странно выглядит, если в элементах $object_types ключ 'townhouse' содержит значение 'townhouse'.

    Покажите, что выводит код:
    $count = array_count_values(array_column($object_types, $value));
    var_dump($object_types, $value, $count);

    Если только там не простыня в километр..
    Ответ написан
  • Какие у битрикса требования к серверу?

    Дисковое место: сам Битрикс в редакции Бизнес жрёт меньше 1.5 Гб . Остальное зависит от того, сколько у вас картинок и какого они размера.
    Памяти как-то мало. Полгига надо отдать под мемкеш или редис, потому что файловый кэш проблемный. Битрикс хочет 384 Мб оперативки на процесс PHP - считайте сами, сколько получится запустить параллельно.
    Ещё MySQL отожрёт гига два.
    По ядрам:
    одно - под MySQL,
    одно - под nginx ( ладно, системные процессы сюда же),
    и ... ничего не осталось..

    10к уников - для простоты можно считать, что они ходят только в рабочее время, то есть 10 часов. То есть 1к уников в час, 1 уник в 3.5 секунды. У Битрикса "эталон" задан как генерация страницы за 0.3 сек - в реальности, конечно больше ( если кто-то станет Вам говорить про автокеширование - плюньте ему в лицо), но вроде вписываетесь.
    Сейчас ещё надо учитывать паразитный трафик от нейросетей и всяких парсеров, он может быть очень значительным, но можно его зафильтровать.

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

    В моём понимании то, что Вы перечислили, делается один раз на старте. А доработки - это git push на рабочей копии, git pull на боевом. Хотя и сказано, что git - это не инструмент для деплоя, но для простых проектов этого хватает ( если исключить из рассмотрения минифицированные css и js файлы )

    Поэтому неясно, о какой половине пунктов Вы говорите
    Ответ написан
  • Почему не работает yuicompressor В PHP Storm?

    Насколько я вижу из того, что yuicompressor написал Вам, аргументы заданы неверно.
    Должно быть
    -o $FileNameWithoutExtension$.min.css $FileName$
    Ответ написан
    Комментировать
  • Как правильно расположить блоки через grid-area?

    Ответ написан
    Комментировать
  • (фото) что если на материнке погнулось это?

    По-моему, это для плашки с аудиоразъёмами на передней части корпуса. Если у Вас такой плашки нет, то некритично.
    Рядом погнут штекер для подключения плашки с LPT портом - там то же самое.

    Если чем-то не пользуетесь, то главное, чтобы штекеры друг друга не касались, напрямую или через корпус.
    Ответ написан
    3 комментария
  • Не понимаю какой php.ini загружается?

    Вы зачем-то расположение ini-файлов посмотрели через cli , а значения нужной директивы смотрите через веб.

    Посмотрите расположение ini-файлов тоже через веб - аналогичная таблица была наверху страницы, со строкой "Loaded Configuration File" и прочим
    Ответ написан
    Комментировать
  • Как сделать на сайте цитаты, как в Telegram?

    взять тег <blockquote> и стилизовать.
    Ответ написан
    Комментировать
  • Как сделать сортировку по кастомному полю в Битрикс cms?

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

    Я предполагаю, что это проблема XY, и задача изначально ставилась примерно так:
    в публичной части в разделе /catalog/ добавить подраздел /catalog/instock/ , в котором вывести товары только в наличии, и отсортированные по другому полю/свойству. Подразделы в /catalog/instock/ не нужны, только список товаров.
    При этом в /catalog/index.php - комплексный компонент каталога, настроен на ЧПУ.

    Не все знают , что можно создать страницу /catalog/instock/index.php , кинуть туда компонент "Элементы раздела" со своими настройками, своим фильтром - и оно будет работать, и не мешать остальной части каталога.
    Ответ написан
    2 комментария
  • Как с помощью .htaccess сократить URL?

    я сомневаюсь, что Вы понимаете, как работает сервис сокращения ссылок. Работает он так:
    1) где-то внутри сервиса задаются сопоставления, вроде такого: uLczL -> https://habr.com/ru/articles/893646/
    2) когда на сервис заходят по ссылке g0o.ru/uLczL , он находит это сопоставление и делает редирект на целевую ссылку. Если не находит - показывает 404.

    Соответственно, сервис должен принимать любую ссылку на одну точку входа, это делается так:
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /url.php [L]

    А в url.php Вы делаете разбор $_SERVER['REQUEST_URI'] .
    Ответ написан
    4 комментария
  • Как отправить добавить выполнение стороннего js скрипта в стандартную отправку форму Битрикс AJAX?

    вижу два варианта:
    1) или Вы подменяете битриксовый обработчик формы на свой; сначала исполняете свой скрипт, а потом отправляете форму так, как было раньше
    2) или наоборот - в коробочном коде засовываете вызов своего кода в обработчик результата отправки формы
    Ответ написан
  • Как склеить для вывода и для фильтра несколько товаров с торговыми предложениями?

    я думаю, Вы выстрелили себе в ногу, разделив карточки. Допустим, в бизнесе заказчика это имеет особый смысл, и в 1С останется как есть. Тогда надо переработать импорт, чтобы на сайте это была одна карточка.
    Штатные компоненты на такой случай не рассчитаны. А допиливать их в Вашем случае - куча головной боли. Даже выборки по API нормально работать не будут.
    Ответ написан
    2 комментария
  • Как мне решить ошибку mysql querry error table sitemanager.b_ai_engine does not exist в битрикс?

    Сначала независимо ( через adminer, PHPMyAdmin, mysql client или другой инструмент) убедитесь, что таблицы нет.
    Потом поищите определение и начальное наполнение для этой таблицы в bitrix/modules/ai/install/db , выполните эти запросы вручную
    Ответ написан
    Комментировать
  • Можно ли использовать раздел bitrix/tools для хранения моих ajax файлов?

    При установке Ваш модуль будет что-то размещать что-то в /bitrix/tools? Модули из Маркетплейса так и делают.
    Ответ написан
  • Какой параметр php модуля отключает тему формы с сайта?

    Вангую, что письма Вы отправляете через Яндекс.Почту ( или получаете на неё). У Яндекс.Почты, похоже, раньше была такая фишка: они принимали темы письма в нестандартных кодировках. Но недавно это отвалилось.
    Кодируйте тему письма по стандарту, и будет Вам счастье.
    ( PHPMailer, например, умеет кодировать - можете подсмотреть в нём, как надо)
    Ответ написан
    Комментировать
  • Как изменить CSS в карточке товара?

    Если есть только строковое поле ввода, и html теги там недопустимы (или будут экранированы), то я не знаю, как такое можно реализовать. Это просто текст в контейнере, .слова перетекают с одной строчки на другую. То, что Вы, как человек, видите, как эти слова надо разбить по строчкам, для машины совершенно непонятно.
    А если система доступна для доработки, то я бы ввёл дополнительные поля "Пояснение" и "Упаковка".
    Ответ написан
    Комментировать
  • Можно ли как-то откатить локальный репозиторий до локального коммита?

    если надо временно спрятать изменения (например, забыли сделать pull с боевого), то есть есть stash:
    stash add - прячет только изменения по отслеживаемым файлам
    stash add -u прячет в том числе и неотслеживаемые файлы. Тут нужно, чтобы игнор был нормально настроен, чтобы в stash не улетел какой-нибудь каталог с фото/видео.

    А если уже сделали коммиты - то создайте новую ветку. Тогда, даже если придётся в исходной ветке откатиться на несколько коммитов, они будут доступны в новой ветке
    Ответ написан
    Комментировать
  • Как подставить ссылку на источник при копировании текста?

    Вы неправильно осмыслили задачу, и получился франкенштейн. Одна задача - это вставка ссылки при событии oncopy. Это делается на чистом Javascript, абсолютно не требует PHP, и никакого отношения к WordPress не имеет. Можете эту часть спросить отдельно в хабе Javscript - хотя я подозреваю, что в интернете уже выложена куча решений.
    А вторая задача у Вас уже решена; я только использую хук на другое событие:
    add_action( 'wp_enqueue_scripts', function () {
        if ( !current_user_can( 'manage_options' ) ) {
            wp_enqueue_script('oncopy_addlink', '/path/to/script.js');
        }
    });
    Ответ написан
    5 комментариев