скорее всего как выше писали проблема с кодировкой, сайт в одной кодировке, а созданная страница в другой. например, страницу создали через фтп-клиента с кодировкой СР1251, а сайт в utf-8, а потом через эрмитаж сайта решили поправить, вот и результат. Еще в таких случаях бывает что нажимаешь првить параметры компонента, а открывается пустое окно. через тот же фтп-клиент(в редакторе файла) проверьте кодировку, совпадает с сайтом или нет
Как продлить сессию для админа, Ваш сеанс работы с сайтом завершен из-за отсутствия активности в течение 24 мин. Введенные на странице данные не будут сохранены. Скопируйте их перед тем, как закроете или обновите страницу.
по первому пункту - Нам обновляли сервер когда, то мы просили сразу внести правки, я не вносил, вот её время нам и увеличили, поищите как и где у вас на сервере оно меняется, по идее в настройках PHP должны быть основные нужные параметры это session.cookie_lifetime session.gc_maxlifetime
по второму пункту - это настройки групп, что тут расписывать открываете настройки группы, например админов /bitrix/admin/group_edit.php?lang=ru&ID=1 , и во вкладке Безопастность в поле Время жизни сессии указываете сколько нужно, если не будет превышать maxlifetime на сервере, то должно работать
на вскидку несколько вариантов: - налог у какого-то товара - не стоит галочка "НДС включен в цену" - изменилась цена какого-то товара(скидка/наценка), а пересчет не отработал корректно - из 1С пришла информация, что общая сумма заказа одна, а товары на сайте с другой суммой остались
Зачем так сложно. Бегай по всему сайту, меняй страницы. Все уже давно придумано до нас, как говорится. Просто создаете шаблон сайта для авторизации на базе того, что у вас в /auth/index.php и в настройках шаблонов сайта прописываете применять по "выражению PHP" => условие пользователь не авторизован
В битриксе нет такого функционала, поэтому вам придется самому решать в каком виде их выгружать на сайт(в виде справочников или номенклатуры или вообще отдельно как-то) и как дальше их использовать.
А перестает работать ваш вариант с умным фильтром из-за того что вы его переопределяете global $arrFilter; $arrFilter = array(); такой вариант удаляет все что попало в $arrFilter после применения умного фильтра и назначает свое, в моем варианте, вы просто дописываете в него дополнительные данные
Если вы это используете в комплексном компоненте, то тогда перед ним пропишите этот код, изменив arrFilter на что-то другое, например arrPreFilter а в сам компонент bitrix:catalog.smart.filter передавайте еще один параметр "PREFILTER_NAME"=>"arrPreFilter",
Никак, потому как до сих пор в большинстве случаев это является более оптимальным решением. Но если вы принципиально хотите использовать новое ядро, то никто вам не мешает использовать что-то типа \Bitrix\Iblock\Elements\ElementСatalogTable::getList или подобное, просто вы должны знать связи между таблицами и для решения ваших задач эти связи использовать
На уровне sale.order.ajax я сомневаюсь что есть хоть какой-то вариант решения вашей задачи, потому что применится или нет, решается на уровне правил скидок. Задача "купон-скидка на первый заказ пользователя" насколько мне известно решается только 2 способами: 1. через добавление/удаление в группу для которой применяется скидка 2. написание своего условия для правил корзины
Но минус обоих решений - для проверки требуется авторизация, чтобы получить заказы(если они есть), так как заказ всегда привязан к какому-то пользователю
Была уже такая тема, поищите, там предлагалось решение чего-то в ядре подправить, но это подходит только если не планируете обновляться, иначе не выйдет. Не предусмотрено такого.
Почему перестали поддерживать не скажу(конкретно мне это не особо и нужно было, на проектах давно не ставил, так что не считаю это как потерю, меньше весить будет), так решили и всё. Ничем не заменили, возвращать не планируют.
Как продлить сессию для админа, Ваш сеанс работы с сайтом завершен из-за отсутствия активности в течение 24 мин. Введенные на странице данные не будут сохранены. Скопируйте их перед тем, как закроете или обновите страницу.
Тоже сталкивался с этой проблемой. Но основа кроется в настройках сервера. Не в самом битриксе, тут техподдержка не поможет, увы, типа это к битриксу не относится. Если на сервере установлено по умолчанию, то это максимум 24 минуты.
А есть еще кеш, который отрабатывает без запросов к БД, что тоже как простой походу считается(во всяком случае у меня подозрение такое).
Нам обновляли сервер когда, то мы просили сразу внести правки, чтобы не менее суток стояло, а дальше уже можно и в админке сколько нужно выставить. теперь для админов у нас в админке 180 минут, для группы менеджеров 25200. Работает.
Добавил проверку такую же как в Manager::getById чтобы не вызывалось, правда минус такой что информации о доставке в письме в этом случае может не быть, но это лучше чем ловить исключение и крики клиентов "Аааа, оно сломалось"
Я по похожему принципу Подарочные сертификаты делал. Ну а в целом - как вариант, если нет особых условий для применения. Потому что если на сайте постоянно используются по несколько скидок, то такой способ будет очень неудобен. Простой пример: скидка применяется если не применилась другая скидка(т.е. скидки ограничены на текущем уровне применимости) и получается вам нужно получить все скидки, вычислить и в случае когда не нужно отменить действия каких-то из них. И еще нужно учитывать что в 1С передается цена со скидкой, а у вас скидка идет как часть оплаты и соотвественно в 1С эта информация не идет. В 1С вообще только одна оплата передается, нужно допиливать еще передачу что есть вторая оплата и в 1С на основании этого допиливать скидку чтобы пробить чек. В общем не все так просто с вашим решением.
Но как и сказал если что-то простое на сайте, то вариант рабочий.
Перед этим шагом сохраняю в файл значение DELIVERY_ID и вижу в нем цифру, но при этом выводится ошибка. Делаю повторно создание заказа с теми же товарами, с той же доставкой - нет ошибки.
в Manager::getById есть проверка
Код
$id = intval($deliveryId);
if($id <= 0)
throw new SystemException("deliveryId");
По существу подсказать не могу, давно было, да и не долго с этим разбирался, но когда-то сталкивался с похожей реализацией, там ставили редис и через него делали фильтр и соответсвенно структуру каталога. Т.е. инфоблок товаров как был так и был, но структура в нем была тоже плоская. А отдельно шел справочник, настройки где формировали, что хотим увидеть такую-то структуру разделов и условия вывода товаров в таком разделе, так же отдельный справочник на вывод фильтра. Первоначальная настройка конечно была долгая, но каталог летал. Ну и если что-то нужно было допиливать, приходилось делать отдельные запросы в редис По времени у того прогера который это делал заняло около 4 месяцев все это настроить и допилить дополнительные правки в компонентах.
А разве не проще будет на событие отправки писем завязаться, например на OnBeforeEventSend, ведь в b_event попадают только события отправляемые через ::send.
И тот и другой вариант плох. Да и вообще если вы пришли к задаче такой как у вас где нужно или 10000 правил или внутри 100000 товаров, значит вы не правильно сформулировали задачу. В документации даже приведен пример что если нужно перечислить много товаров, то это делается другим путем - заводится свойство у товаров и в скидке не перечисляются все товары, а указывается что данное свойство должно равняться/не равняться/... и тогда вам не придется 10000 товаров в условие впихивать.
Ну и т.д. вплоть до того что создать нужное свое кастомное условие скидок.
Переданный нам от клиента архив содержит в себе полную копию сайта (и ядро, и публичную часть). Мы развернули сайт из архива на нашем хостинге, привязали наш домен
а так же
Цитата
Архив был нам передан как новому агенству, которое будет заниматься сайтом.
Очень странно как-то. Зачем-то вы свой новый домен привязали к существующему сайту. Ну да ладно. Обычно если меняется агенство для поддержки проекта передаются доступы к админке, к хостингу. После того как получены доступы они меняются на новые. В этом случае уже старое агенство не получит полный контроль, ну конечно если не осталось дыр/шелов. То что битрикс ломаный, опасно, но тут вопрос кто, как и для каких целей его ломал. Самый распространенный способ это грубо говоря заморозка срока, никаких вирусов, и тут опасность в том что любое обновление сделает его нерабочим. Запросить архив чтобы он не был взломанным у вас не выйдет. Чтобы это исправить ставите чистую установку с новой лицензией и также отдельно (можно локально, можно на отдельном домене) разворачиваете что вам дали и переносите шаблоны, информацию из БД через внутренние инструменты. Так вы избавитесь от всякого возможного мусора и получите чистый продукт, но это долгая задача, так как что там накручено это тот еще может быть квест.
по поводу многосайтовости почитайте https://dev.1c-bitrix.ru/learning/course/?COURSE_ID=103&LESSON_ID=281&LESSON_PATH=8799.281 а если вкратце, то смысл такой что у одного ядра должна быть одна лицензия, а все дополнительные сайты должны подключать это ядро в виде ссылок на него и подключить его можно только в пределах одного хоста. Из-за того что одно ядро = одна лицензия, нельзя создавать 2 домена и на каждый ставить отдельно ядро с тем же ключом(исключение если отметить что это версия для разработки).
Цитата
3. И если я разворачиваю один сайт из уже существующего битрикс архива + хочу создать новый сайт на битриксе - как мне убедиться что я буду использовать одну копию программного продукта «1С-Битрикс: Управления сайтом»?
ну тут самое простое это - из админки вы будете видеть все файлы всех сайтов если правильно все настроили.