Задать вопрос
  • Как исправить ошибки кода на Тильде?

    @anton99zel
    Если сайт сейчас управляется Тильдой, то смотреть на подключаемые компоненты, писать в ТП, а если сайт был сделан на Тильде, а потом сделан экспорт и загрузили на свой хостинг, то в таком коде, даже опытные верстальщики не будут работать. Это действительно мрак. Как вспомню, так вздрагиваю.
    Написано
  • Копия сайта на Битрикс на поддомене, Можно ли сделать копию сайта на поддомене?

    @anton99zel Куратор тега 1С-Битрикс
    Антон,
    Пробовал копировать БД и файлы, чёт не работает.

    Через restore надо делать, создав новую БД. А менять вообще ничего не обязательно, и так будет работать прекрасно, разве что не обновлять ничего.
    Написано
  • Как передать значение из компонента в result_modifier шаблона, где компонент вызывается?

    @anton99zel Куратор тега 1С-Битрикс
    Для передачи значения из компонента в result_modifier шаблона, где вызывается компонент, можно использовать следующий подход:

    В компоненте сохраните значение в сессии или в кеше с определенным ключом.
    В result_modifier получите значение из сессии или кеша по тому же ключу.

    Вот пример кода:
    В компоненте:
    $count_questions = count($processedQuestion);
    
    // Сохраняем значение в сессии
    $_SESSION['COUNT_QUESTIONS'] = $count_questions;

    В result_modifier.php:
    // Получаем значение из сессии
    $count_questions = isset($_SESSION['COUNT_QUESTIONS']) ? $_SESSION['COUNT_QUESTIONS'] : 0;
    
    // Добавляем вкладку с количеством вопросов
    $arResult['PROPERTIES']['TABS'][] = array(
        'CODE' => 'FAQ',
        'TITLE' => 'Вопросы о товаре ' . $count_questions,
        'VALUE' => 'FAQ_FORM'
    );

    Если вы хотите использовать кеш вместо сессии, то можно сделать так:
    В компоненте:
    $count_questions = count($processedQuestion);
    
    // Сохраняем значение в кеше
    $cache = \Bitrix\Main\Data\Cache::createInstance();
    $cacheTime = 3600; // Время жизни кеша (например, 1 час)
    $cacheId = 'count_questions_faq_product'; // Уникальный идентификатор кеша
    $cacheDir = '/form_faq_product/';
    
    $cache->startDataCache($cacheTime, $cacheId, $cacheDir);
    $cache->endDataCache(['COUNT_QUESTIONS' => $count_questions]);

    В result_modifier.php:
    // Получаем значение из кеша
    $cache = \Bitrix\Main\Data\Cache::createInstance();
    $cacheId = 'count_questions_faq_product'; // Используем тот же идентификатор кеша
    $cacheDir = '/form_faq_product/';
    
    if ($cache->initCache($cacheTime, $cacheId, $cacheDir)) {
        $cachedData = $cache->getVars();
        $count_questions = $cachedData['COUNT_QUESTIONS'];
    } else {
        $count_questions = 0; // Значение по умолчанию, если кеша нет
    }
    
    // Добавляем вкладку с количеством вопросов
    $arResult['PROPERTIES']['TABS'][] = array(
        'CODE' => 'FAQ',
        'TITLE' => 'Вопросы о товаре ' . $count_questions,
        'VALUE' => 'FAQ_FORM'
    );

    Выберите тот вариант, который лучше подходит для вашей ситуации - с использованием сессии или кеша.
    Написано
  • Почему при обмене картинки не добавляются в товар?

    @anton99zel Куратор тега 1С-Битрикс
    Может потому что Битрикс не использует оригиналы картинок? Посмотрите как в коде, где импортируется элемент происходит обработка картинок, по крайне мере что ожидает код от источника.
    Написано
  • Как вывести баннер товара в шапку сайта?

    @anton99zel Куратор тега 1С-Битрикс
    На js сделайте, если присутствует элемент в Dom с Id таким то, то в css применять такой то стиль.

    <!DOCTYPE html>
    <html>
    <head>
      <title>Пример проверки элемента в DOM и применения стиля</title>
      <style>
        .highlight {
          background-color: yellow;
          font-weight: bold;
        }
      </style>
    </head>
    <body>
      <div id="myElement">Это мой элемент</div>
    
      <script>
        // Проверяем наличие элемента с ID "myElement" в DOM
        var element = document.getElementById("myElement");
    
        // Если элемент найден, применяем к нему класс "highlight"
        if (element) {
          element.classList.add("highlight");
        }
      </script>
    </body>
    </html>
    Написано
  • Как в админке в составе заказа вывести названия свойств вместо id?

    @anton99zel Куратор тега 1С-Битрикс
    Вроде никак, потому что это привязанные элементы, да и зачем это в составе заказа для менеджера?
    Написано
  • Почему появляются наводки на микрофон?

    @anton99zel Автор вопроса
    Igor Karachentsev, он не жёлто-зелёный, а просто жёлтый, но согласен, что цвета рандомно использованы.
    Поскольку аномалий не замечал и током вроде ничего не бьётся, то думаю третий не соединённый провод и есть заземление, но я боюсь что либо проверять.
    Как бы не было, блоки питания не имеют третьего контакта всё равно.
    Написано
  • Почему появляются наводки на микрофон?

    @anton99zel Автор вопроса
    kalapanga, пробовал. И, в том числе, пробовал другие блоки питания, и даже другие ноутбуки.
    Написано
  • Как лучше спроектировать апи с большой нагрузкой?

    @anton99zel
    Сейчас делаю примерно такое же. Могли бы обменяться опытом, проговорив некоторые моменты. Если интересно, пишите на почту - созвонимся.
    Написано
  • Как включить подгрузку товаров при скролле в 1с Битрикс?

    @anton99zel Куратор тега 1С-Битрикс
    $APPLICATION->IncludeComponent(
        "bitrix:catalog",
        ".default",
        Array(
            // ...
            "AJAX_MODE" => "Y",
            "INSTANT_RELOAD" => "Y",
            // ...
        )
    Написано
  • Windows режет скорость интернета?

    @anton99zel
    Я тоже не давно озадачился подобным вопросом.
    Провайдер даёт 500 мегабит. Но эти 500 можно увидеть только при подключении к местным серверам. Естественно, что не все сервера имеют пропускной канал в 500 мегабит, а потому реально увидеть и 300 мегабит.

    Но дело в другом. Замеряю скорость на телефоне по wifi до Москвы - 300 мегабит, замеряю на ноутбуке - 80, выбрав тот же сервак. Почему? Не понятно. Если грешить на винду, то почему она режет только дальний трафик, а не весь, включая локальный.
    Написано
  • Почему конфигурация 1с не открывается в yandex Cloud?

    @anton99zel
    1. Как говорит Гилев, следует выполнить команду «Проверка конфигурации» с установленным флажком «Проверка логической целостности конфигурации».
    2. В Yandex Cloud, лично я, разочарован. Дорого и не производительно на фоне других облаков.
    3. Postgres (какой) или Microsoft SQL? Какой тюнинг делали?
    4. Вы из 1С на локальном компьютере подключаетесь к удаленному серверу на Yandex Cloud и это занимает вечность, но если открыть эту же копию-конфигурацию с компьютера, то запуск 2 минуты?
    5. Как обращаетесь к серверу - по домену или ip
    6. Как открывается сама 1С (не конфигуратор, а рабочее пространство), терминальный доступ или тонкий/толстый клиент?

    Мало вводных, как и не указаны характеристики сервера.
    Написано
  • Как сделать подсчет скорости нажатий на пробел?

    @anton99zel
    Vindicar, Да, согласен. Ошибся. Удалил комментарий.
    Написано
  • В Bootstrap 3 для вёртки для мобильных устройств можно было использовать .col-xs-1, а что использовать вместо этого в Bootstrap 5?

    @anton99zel
    <div class="container">
        <div class="row">
            <div class="col-1 col-sm-1 col-md-1">Колонка 1</div>
            <div class="col-9 col-sm-9 col-md-9">Колонка 2</div>
            <div class="col-2 col-sm-2 col-md-2">Колонка 3</div>
        </div>
    </div>

    по умолчанию все колонки ведут себя как xs
    Написано
  • Ошибка резервного копирования Битрикс, как исправить?

    @anton99zel Куратор тега 1С-Битрикс
    Методом исключений искать.
    Попробовать сделать резервную копию только БД.
    Потом делать с файлами поочерёдно исключая некоторые папки, например кеш, upload....
    Написано
  • Как добавить троеточие в первую строчку текста?

    @anton99zel
    zhenek_3,
    <script>
    $(document).ready(function() {
        let block = $('#rec779589211'),
            longText = block.find($('.t-text')),
            rowHeight = Math.round(parseInt(longText.css('line-height'),10)),
            collapsedHeight = rowHeight * 1,
            longTextClasses = longText.attr('class');
        
        longText.readmore({
            speed: 200,
            collapsedHeight: collapsedHeight,
            moreLink: '<a href="#read-more" class="' + longTextClasses + ' t-name read-more"><u>Подробнее</u></a>',
            lessLink: '<a href="#read-less" class="' + longTextClasses + ' t-name read-less"><u>Скрыть</u></a>',
            beforeToggle: function(trigger, element, expanded) {
                if (!expanded) { // Перед сворачиванием
                    element.css('height', '');
                    let text = element.text();
                    let truncated = text.slice(0, text.lastIndexOf(' ', element.height() / rowHeight * 50)); // Примерное количество символов
                    element.html(truncated + '<span class="ellipsis">...</span>');
                }
            },
            afterToggle: function(trigger, element, expanded) {
                if (expanded) { // После разворачивания
                    element.html(element.data('originalText'));
                }
            }
        });
        
        longText.data('originalText', longText.html());
        longText.readmore('toggle');
    });
    </script>

    <style>
    .read-more,
    .read-less {
        color: #342a23 !important;
        font-size: 24px;
        font-family: 'Lato', Arial, sans-serif;
        font-weight: 700;
    }
    
    #rec779589211 .t-text {
        margin-bottom: 10px;
        text-align: justify;
        position: relative;
        overflow: hidden;
    }
    
    .ellipsis {
        padding-left: 3px;
    }
    
    #rec779589211 .readmore-js-toggle {
        margin-top: 10px;
    }
    </style>
    Написано
  • Как добавить троеточие в первую строчку текста?

    @anton99zel
    <script src="https://cdnjs.cloudflare.com/ajax/libs/Readmore.js/2.2.1/readmore.js"></script>
    <script>
    $(document).ready(function() {
        let block = $('#rec779589211'),
            longText = block.find($('.t-text')),
            rowHeight = Math.round(parseInt(longText.css('line-height'),10)),
            collapsedHeight = rowHeight * 1,
            longTextClasses = longText.attr('class');
        
        longText.readmore({
            speed: 200,
            collapsedHeight: collapsedHeight,
            moreLink: '<a href="#read-more" class="' + longTextClasses + ' t-name read-more"><u>Подробнее</u></a>',
            lessLink: '<a href="#read-less" class="' + longTextClasses + ' t-name read-less"><u>Скрыть</u></a>',
            afterToggle: function(trigger, element, expanded) {
                if(expanded) {
                    element.removeClass('collapsed');
                } else {
                    element.addClass('collapsed');
                }
            }
        });
        
        // Добавляем класс collapsed изначально
        longText.addClass('collapsed');
    });
    </script>

    <style>
    .read-more,
    .read-less {
        color: #342a23 !important;
        font-size: 24px;
        font-family: 'Lato', Arial, sans-serif;
        font-weight: 700;
    }
    
    #rec779589211 .t-text {
        margin-bottom: 10px;
        text-align: justify;
    }
    
    #rec779589211 .t-text.collapsed {
        position: relative;
        overflow: hidden;
    }
    
    #rec779589211 .t-text.collapsed::after {
        content: '...';
        position: absolute;
        bottom: 0;
        right: 0;
        padding-left: 3px;
        background: white; /* Цвет фона, подберите под ваш дизайн */
    }
    </style>
    Написано
  • Как сгенерировать валидную ссылку на подтверждение почты?

    @anton99zel
    urajo, php bin/console cache:clear кеш не?
    чтобы исключить разницу во времени,
    # config/packages/verify_email.yaml
    symfonycasts_verify_email:
        lifetime: 360000 #

    добавьте логирование
    public function handleEmailConfirmation(Request $request, User $user): void
    {
        try {
            $this->verifyEmailHelper->validateEmailConfirmationFromRequest($request, (string) $user->getId(), $user->getEmail());
        } catch (VerifyEmailExceptionInterface $e) {
            // Логируем детали исключения
            $this->logger->error('Email verification failed: ' . $e->getReason(), [
                'request_uri' => $request->getUri(),
                'user_id' => $user->getId(),
                'user_email' => $user->getEmail(),
            ]);
            throw $e;
        }
    
        $user->setVerified(true);
        $this->entityManager->persist($user);
        $this->entityManager->flush();
    }

    убедитесь, что URL, на который ведет ссылка в email, совпадает с тем, который ожидает ваш сервер.
    Написано
  • Как решить проблему с установкой face-recognition через командную строку?

    @anton99zel
    для сборки зависимости dlib требуется наличие CMake и Visual Studio Build Tools
    Написано