Задать вопрос
  • Почему не работает ЧПУ и как его починить?

    cyber-jet
    @cyber-jet
    NikWither, оно так и должно быть, .htaccess может быть в любой директории, и будет действовать на неё и вложенные поддиректории, и переопределяет правила, которые были в .htaccess выше по структуре. И как писал выше, .htaccess должен быть в корне любого сайта.
    Написано
  • Как можно упростить код?

    cyber-jet
    @cyber-jet
    Вот не лень было человеку этот код писать, чтобы потом спросить как упростить? А где, простите, азарт? Решить эту задачу чисто удовлетворить собственное эго? Решение то тут элементарное, написать класс, обёртку наследующую CFile, без конструктора, обычный статик, который на выходе будет генерить строку , и можно даже это положить в кэш при желании, использовать например стандартный тегированный битрикс кэш.
    Написано
  • Почему не работает ЧПУ и как его починить?

    cyber-jet
    @cyber-jet
    NikWither, и ещё в вашем случае нужно проверить правильность настройки многосайтовости, такая ошибка может возникать если сервер не может найти файл /bitrix/urlrewrite.php
    Написано
  • Почему не работает ЧПУ и как его починить?

    cyber-jet
    @cyber-jet
    NikWither, потому что без ЧПУ нет ни какой маршрутизации, компонент для отображения обрабатывает параметры get-запроса. И если ЧПУ не работает, первое на что нужно обратить внимание это на наличие в корне сайта "правильного" .htaccess

    С точки зрения безопасности разницы нет, ЧПУ лишь обеспечивает паттерн SEF URL
    Написано
  • Вычисления datetime if()?

    cyber-jet
    @cyber-jet
    Ипатьев, так нет-же, я предложил решение, оно рабочее, как один из вариантов, тем более если речь идёт о "вычислениях", а про девиации это вы начали, вместо того чтобы жевать. И продолжаете разводить бодягу, которая тут ни кому не нужна.
    Написано
  • Вычисления datetime if()?

    cyber-jet
    @cyber-jet
    Ипатьев, я соглашусь с тем что более наглядно иметь читаемую дату время в колонке базы данных, соглашусь с тем что для тех кто умеет работать с этим форматом нет ни каких проблем, в прямом сравнении срок всё будет работать как надо. Но мне для моих задач проще работать с Timestamp даже потому что код получается проще, проще работать с числами, потому что можно производить арифметические операции, а значит утверждение, что это "совершенно бессмысленный" не является правдой.
    Написано
  • Как динамически изменять название текущей страницы в хлебных крошках bitrix:breadcrumb?

    cyber-jet
    @cyber-jet
    lizzzaFox, bitrix:news.detail что выводит, накладную, или товар? Откуда в навигации появилось "Накладная на товар"?
    Написано
  • Как динамически изменять название текущей страницы в хлебных крошках bitrix:breadcrumb?

    cyber-jet
    @cyber-jet
    Хлебные крошки где? Какой компонент выводит саму накладную? Т.е. надо сначала определиться с тем какой компонент добавляет эту строку в навигационную последовательность. Прочитать код этого компонента и тогда уже будет понятно как с этим работать.
    Написано
  • Дополнительное поле для элементов инфоблока в Битрикс?

    cyber-jet
    @cyber-jet
    Я думаю что лучше всё-же завести свойство, и очень страшно слышать что это будет костыль, потому что какое-то другое решение будет костылём, и будет выбираться отдельным запросом, а свойства элементов выбираются одним запросом с выборкой элементов, таблица свойств присоединяется в запросе.

    Вариант сделать HL-блок и в нем создать два поля, связь с элементом, и строка. Но это довольно сложно будет администрировать без кастомной формы редактирования элементов инфоблока.
    Написано
  • Дополнительное поле для элементов инфоблока в Битрикс?

    cyber-jet
    @cyber-jet
    1. Почему не нужно трогать свойства?
    2. Возможно есть стандартное поле с нужным типом, которое не используется.
    Написано
  • Где может находится canonical?

    cyber-jet
    @cyber-jet
    Надо кеш чистить после таких изменений.
    Написано
  • Как удалить из массива?

    cyber-jet
    @cyber-jet
    Dmitrue888,
    $arr[1]['one'] = "1";
    $arr[1]['two'] = "2";
    
    echo '<pre>';
    print_r($arr);
    echo '</pre>';
    
    // Array
    // (
    //     [1] => Array
    //         (
    //             [one] => 1
    //             [two] => 2
    //         )
    // )
    
    echo '<form method="POST">';
    foreach ($arr as $key => $val) {
    	foreach ($val as $k => $v) {
    		echo "<button name='del[$key]' value='$k'/>удалить $v</button>";
    	}
    }
    echo "</form>";
    
    if ($_POST && $_POST['del'] && is_array($_POST['del'])) {
    	foreach ($_POST['del'] as $k => $v) {
    		unset($arr[$k][$v]);
    	}
    }
    
    echo '<pre>';
    print_r($arr);
    echo '</pre>';
    
    // Array
    // (
    //     [1] => Array
    //         (
    //             [two] => 2
    //         )
    // )
    Написано
  • Как удалить из массива?

    cyber-jet
    @cyber-jet
    Adamos, из практики пример, когда при обмене с внешним источником нужно сделать преобразование, разбить данные по таблицам, сравнить с тем что есть в массиве из базе в цикле, если нет такого в массиве из базе - add, если есть - update и unset из массива базы, после чего в массиве базы остаются элементы, которых не было в источнике, и их нужно удалить из базы или деактивировать.
    Написано
  • Как удалить из массива?

    cyber-jet
    @cyber-jet
    Adamos, в данном случае разницы нет, вернее этот вариант даже более громоздкий и запутанный, чем двойная вложенность foreach().
    Написано
  • Как удалить из массива?

    cyber-jet
    @cyber-jet
    Adamos, как передать в функцию то что в пределах блока? Как например в JS можно передать функции весь контекст через this.
    Написано
  • Как удалить из массива?

    cyber-jet
    @cyber-jet
    Adamos, это понятно, но array_filter использует колбэк функцию, которая замыкает область видимости на себя, циклы же видят переменные выше себя в пределах блока. Автор вопроса выше в камментах написал про цикл, и до конца не ясно что он вообще хочет, по этому в цикле можно сделать вот так например:
    $arr[1]['one']="1";
    $arr[1]['two']="2";
    $foo = 1;
    $bar = 'one';
    
    foreach( $arr as $k => $sub_arr ) {
        foreach( $sub_arr as $sub_k => $sub_v ) {
            if( $k === $foo && $sub_k === $bar)
                unset($arr[$k][$sub_k]);
        }
    }
    Написано
  • Почему не работает forEach?

    cyber-jet
    @cyber-jet
    Lahma, потому что там синхронный код:
    for (let i = 0; i < 80; i++)
      database.value.push({ id: i, name: `user ${i}` })

    Нужно переделать в асинхронный
    Написано
  • Аспро Ошибка запроса error Некорректный id инфоблока избранных товаров как исправить?

    cyber-jet
    @cyber-jet
    pletnyova1207, для того чтобы настроить "проще" всего прочитать код, но это я говорю про себя. В интернете вы навряд-ли что-то найдёте, потому что это студийные компоненты Аспро, которые не распространены и по ним мало опыта. Мой совет, посмотрите что дешевле, возможно стоит купить лицензию и обратится в техподдержку Аспро, но я вижу что тут задача не сильно сложная.
    Написано
  • Почему не работает forEach?

    cyber-jet
    @cyber-jet
    Lahma, до конца не могу понять смысл задуманного, но если вам нужно асинхронно получать посты и отображать есть два пути:
    1. Показать пустой список, потом грузить посты.
    2. Сделать это в beforeMount.

    PS: posts.value.forEach() перед явно асинхронной функцией выглядит странно.
    Написано
  • Почему не работает forEach?

    cyber-jet
    @cyber-jet
    Lahma, если не работает выведете в консоль эту переменную, посмотрите может ли она быть iterable.
    Написано