В проекте настроено кеширование через memcache. Можно ли в отдельном компоненте использовать кеш через файлы?
19.06.2017 11:53:26
Андрей Николаев, вот что пишет техподдержка
Проверил - убрал из кода
|
|||||
|
19.06.2017 11:33:33
UPD: после тестов с формированием кеша понял, что кеш удаляется не после приведенных методов, а после сброса кеша по тегу
тоесть $GLOBALS['CACHE_MANAGER']->ClearByTag("post_likes_".$elementForVoteID); сбрасываются все кеши с тегами post_likes_*, которые лежат в директории /tagged_post_likes |
|
|
19.06.2017 10:20:05
|
|||
|
19.06.2017 10:15:28
Подскажите пожалуйста, если я использую тегированный кеш, как мне можно отменить/запретить сброс кеша для всех элементов инфоблока при работе с методами
CIBlockElement::SetPropertyValuesEx CIBlockElement::Add CIBlockElement::Delete Тоесть, я создаю тегированный кеш для конкретного элемента инфоблока, а при использовании приведенных методов, сбрасывается кеш для всех элементов инфоблока делал один в один по примеру документации ( В публичной части проверяю количество запросов SQL в режиме Отладки. При всех трех методах (add/delete/SetPropertyValuesEx), изменяя один элемент инфоблока (на одной странице) сбрасывается кеш и на страницах других элементов |
|
|
20.01.2017 16:26:18
Здравствуйте, подскажите, как я могу использовать в публичной части функционал Битрикса, который есть в админке.
Интересует drag-n-drop загрузка изображений с последующей обрезкой, как на скриншотах Среди компонентов не нашел. Если нет компонента, может быть подскажете где хранятся классы, которые я мог бы использовать |
|
|
09.01.2017 11:36:37
Мне пришлось отказаться от обычного компонента поиска, потому что не получилось настроить фильтр по элементам инфоблока. Сам фильтр со сложной логикой работал корректно, но только по одному инфоблоку, где это свойство есть. По остальным инфоблокам поиск перестал работать.
В итоге перешел на GetList с фильтром по свойствам. И хотел бы как-то регистрировать поисковые запросы. Думал для этого есть api. |
|
|
09.01.2017 11:03:57
Каким образом можно добавить фразу в список поисковых запросов -
В документации не нашел метод |
|
|
28.11.2016 09:30:56
Подскажите, как пересчитать стоимость корзины/заказа при авторизации. Используем расширенные типы цен, еще и с группами пользователей. В корзине функционал, который считает оптовикам цены. Если же оптовик не авторизован, в корзине заказ будет посчитан по цене Розницы, и при переходе на оформление заказа, ему отображается форма авторизации. После успешной авторизации он переходит на второй шаг - заполнение реквизитов покупателя. Но заказ уже посчитан по рознице. Есть ли методы, для работы с заказом, чтобы можно было пересчитать его при успешной авторизации (onAfterUserAuthorize).
|
|
|
09.11.2016 18:07:53
Для теста обмена заказами с 1С необходимо удалить все заказы на тестовом домене.
Не могу удалить, потому что есть привязанные оплаты, а их не могу удалить, потому что есть привязанные отгрузки. Удалял вручную отгрузки, пока сервер не стал отвечать ошибкой [Bitrix\Main\LoaderException] Empty module name (0) /webforge/www/dev.olexdeco.ru/bitrix/modules/main/lib/loader.php:59 #0: Bitrix\Main\Loader::includeModule(string) /webforge/www/dev.olexdeco.ru/bitrix/modules/sale/lib/basketitembase.php:506 #1: Bitrix\Sale\BasketItemBase->getProvider() /webforge/www/dev.olexdeco.ru/bitrix/modules/sale/lib/providerbase.php:2070 #2: Bitrix\Sale\ProviderBase::tryReserveBasketItem(object, double) /webforge/www/dev.olexdeco.ru/bitrix/modules/sale/lib/providerbase.php:1996 #3: Bitrix\Sale\ProviderBase::tryUnreserveShipmentItem(object) /webforge/www/dev.olexdeco.ru/bitrix/modules/sale/lib/shipment.php:318 #4: Bitrix\Sale\Shipment->transferItem2SystemShipment(object, double) /webforge/www/dev.olexdeco.ru/bitrix/modules/sale/lib/shipment.php:413 #5: Bitrix\Sale\Shipment->onShipmentItemCollectionModify(string, object, string, string, integer) /webforge/www/dev.olexdeco.ru/bitrix/modules/sale/lib/shipmentitemcollection.php:270 #6: Bitrix\Sale\ShipmentItemCollection->onItemModify(object, string, string, integer) /webforge/www/dev.olexdeco.ru/bitrix/modules/sale/lib/internals/collectableentity.php:19 #7: Bitrix\Sale\Internals\CollectableEntity->onFieldModify(string, string, integer) /webforge/www/dev.olexdeco.ru/bitrix/modules/sale/lib/shipmentitem.php:496 #8: Bitrix\Sale\ShipmentItem->onFieldModify(string, string, integer) /webforge/www/dev.olexdeco.ru/bitrix/modules/sale/lib/internals/entity.php:162 #9: Bitrix\Sale\Internals\Entity->setField(string, integer) /webforge/www/dev.olexdeco.ru/bitrix/modules/sale/lib/shipmentitem.php:241 #10: Bitrix\Sale\ShipmentItem->setField(string, integer) /webforge/www/dev.olexdeco.ru/bitrix/modules/sale/lib/shipmentitem.php:163 #11: Bitrix\Sale\ShipmentItem->delete() /webforge/www/dev.olexdeco.ru/bitrix/modules/sale/lib/internals/entitycollection.php:85 #12: Bitrix\Sale\Internals\EntityCollection->clearCollection() /webforge/www/dev.olexdeco.ru/bitrix/modules/sale/lib/shipment.php:450 #13: Bitrix\Sale\Shipment->delete() /webforge/www/dev.olexdeco.ru/bitrix/modules/sale/admin/order_shipment.php:203 #14: require_once(string) /webforge/www/dev.olexdeco.ru/bitrix/admin/sale_order_shipment.php:2 Пробовал использовать вот этот метод |
|
|
09.11.2016 17:42:18
Периодически не выгружаются заказы в 1С. Помогает редактирование заказа и сохранение без изменений (Изменить>Сохранить). После этого при очередной выгрузке (каждые 500 секунд) заказ выгружается. Иногда заказ не выгружается и после этого, требуется 1-2 раза еще редактировать. Выгружать или не выгружать новый заказ при обмене с 1С сайт решает при сравнении времени последнего изменения заказа и времени последнего обмена с 1С (насколько я понял)
Со стороны 1С мониторим файл xml, который отдает сайт, там просто нет этого заказа, как будто новых заказов не создано. В настройках Интеграция 1С установлено - выгружать начиная со статуса [N]В обработке - это самый первый статус, с которым создаются заказы. Пробовал проверить время на хостинге и время на сервере 1С - время совпадает. Не пойму, в чем может быть проблема |
|
|
06.10.2016 10:34:23
Каким образом передать файл в почтовое сообщение пользователю, через макрос.
В init.php из полей заказа формируется один единственный макрос, который вставляется потом в почтовый шаблон ( #CLIENT_LETTER#). Ссылку на файл беру из свойства заказа типа Файл вставить могу, а вот прикрепить его как вложение, не получается. Получается и картинку вставить в тело письма и ссылкой подать. А как прикрепить его как вложение. |
|
|
12.09.2016 17:51:16
Проверка системы выдает ошибку:
Работа с сокетами Ошибка! Не работает", и другие ошибки связанные которые возникают изза этой. В журнале ошибок вот это
Не пойму, как исправить эту ошибку. Пробовал в файле /etc/hosts дописать домен и поддомен, но результата не дало. На основном домене сайта такой ошибки нет, только на поддомене |
|||
|
09.09.2016 23:03:50
Элион, на форуме уже решали подобную задачу - здесь
В шаблоне компонента найдите строчку
|
|||||||||
|
09.09.2016 15:31:47
В стандартном компоненте bitrix:iblock.element.add.form свойство типа справочник почему то выводится как строка.
Создал свойство типа Справочник и заполнил в нем 4 варианта с изображениями. В административном разделе в форме свойство при добавлении элемента выглядит как выпадающий список с 4 вариантами. А в публичной части, компонент bitrix:iblock.element.add.form дает пользователю возможность заполнить только строчку. Как настроить, чтобы можно было выбрать один из вариантов, выпадающим списком или изображениями, как например это делается в умном фильтре. |
|
|
08.09.2016 12:00:57
Отключенная настройка "Кешировать при установленном фильтре" bitrix:system.pagenavigation: 0.001 с bitrix:news.list: 0.0452 с; Запросов: 8 (0.0046 с); кеш: 38 КБ bitrix:news: 0.0474 с Включенная bitrix:system.pagenavigation: 0.0011 с bitrix:news.list: 0.0196 с; кеш: 46 КБ bitrix:news: 0.0218 с component_epilog.php отсутствует Антон, правильно ли я понимаю, что на каждый запрос ?years_from=XX будет сформирован свой кеш? |
|||
|
07.09.2016 17:40:11
В настройках компонента bitrix.news есть поле Настройки кеширования -> Кешировать при установленном фильтре
Если я использую фильтрацию перед вызовом компонента вроде такой
Результаты выборки с этими параметрами кешируются? Или поле отвечает только за кеш умного фильтра? Тестировал через Отладку, при включенном поле, страница делает 21-23 sql запроса При выключенном - 29 sql запросов. Как мне убедиться в том, что результат выборки закеширован. Или пойти совсем другим путем и кешировать результат всей страницы, где в get-параметрах передан $years_from? |
|||
|
06.09.2016 20:45:20
Как корректно решить задачу со свойством и умным фильтром. Надо дать возможность пользователю создать элемент инфоблока, заполнив два поля "значение_От" и "значение_До". И потом в умном фильтре фильтровать элементы через "Число от-до, с ползунком".
На данный момент вижу реализацию так: После создания пользователем элемента инфоблока, обработчик в init.php разбивает значения "От" и "До" и записывать их в третье свойство, недоступное для редактирования пользователю. Например пользователь вводит "От" = 3; "До" = 8 - обрабатываем и создаем множественное свойство с шагом 1. Получится элемент с заполненным множественным свойством со следующими значениями: 3,4,5,6,7,8. И уже в фильтре используем стандартный ползунок по этому свойству. У такой реализации есть проблемы. 1. Сейчас используется 2 таких свойства, первое - Возраст, второе - Время. Если в первом элемент с 5 значениями множественного свойства и во втором свойство еще с 7 значениями, то в базе создается 5*7=35 записей этого элемента. Если понадобится добавить еще один диапазон для пользователя, то количество записей растет в геометрической прогрессии 2. Если пользователь при создании заполняет только одно значение, например только "От", то нужно в том же init.php определять верхнюю границу, так как мы создаем значения по всему диапазону с шагом 1, нам нужны также значения "До". Если дать возможность значению свойства Возраст быть максимум до 99, то опять же, количество записей растет в геометрической прогрессии. |
|
|
18.08.2016 12:11:50
В настоящий момент присвоить пользователю группу сразу при регистрации можно через настройки в админке
вот здесь <ваш сайт>/bitrix/admin/settings.php?lang=ru&mid=main&mid_menu=1 Настройки -> Настройки продукта -> Настройки модулей -> Главный модуль в блоке "Регистрация новых пользователей" выберите группы Но этот способ подходит, если надо всех зарегистрированных пользователей включать в группу |
|
|
26.05.2016 09:10:07
Решено!
В параметрах компонента, в поле "E-mail, на который будет отправлено письмо", необходимо перечислить (у меня через запятую без пробелов) список email-адресов, на которые необходимо отправлять сообщения. Самое интересное, что если поле пустое, то отправка осуществляется на почту администратора сайта, если поле заполняешь, то администратору уже не приходит, а приходит только на адрес указанный в поле. Естественно, письма не дублируются на адреса, указанные в настройках главного модуля. В документации про поле компонента обратной связи это не написано. Описание к полю "E-mail, на который будет отправлено письмо" [EMAIL_TO] - "Задается E-mail, на который будет отправлено письмо (будет отображен в форме для отправки сообщений в поле Ваш E-mail)." Нужно внести правки в документацию, дописать, что поле может иметь множественное значение, массив адресов. Ну а текст в скобках мне вообще не понятен. |
|
|
25.05.2016 13:47:28
Нет, почта не привязана к домену. Пробовал mail.ru и yandex.ru, результат одинаковый - общая статистика сайта приходит всем, а сообщение из формы только админу Техподдержка хостинга говорит, что изменений влияющих на работу почты никаких не было. А проблемы с почтой могут возникать из-за изменений в политике почтового сервиса Mail.ru и связаны с DMARC. Рекомендуют использовать почтовые домены от сайта. Но почтовые события просто не дублируются на этапе формирования в CMS |
|||
|