Меню

Bitrix ошибка описания модуля

 

Пользователь 63237

Заглянувший

Сообщений: 13
Авторитет:

0

Рейтинг пользователя:

0

Регистрация: 11.05.2010

Битрикс пишет ошибку в разделе обновлений:
[Ux11] Ошибка описания модуля «modulename»
Где modulename самостоятельно написанный модуль.

Нельзя не обновить, не произвести регистрацию продукта.
Как решить эту проблему?

 

Пользователь 63237

Заглянувший

Сообщений: 13
Авторитет:

0

Рейтинг пользователя:

0

Регистрация: 11.05.2010

Тема UP
Что ни у кого не было подобной проблемы? Никто свои модули не добавлял?

 

Пользователь 63237

Заглянувший

Сообщений: 13
Авторитет:

0

Рейтинг пользователя:

0

Регистрация: 11.05.2010

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

 

Пользователь 91395

Заглянувший

Сообщений: 3
Авторитет:

0

Рейтинг пользователя:

0

Регистрация: 19.05.2011

 

Пользователь 40230

Заглянувший

Сообщений: 3
Авторитет:

0

Рейтинг пользователя:

0

Регистрация: 30.03.2009

Вам нужно проверить чтобы класс модуля, находящийся в install/index.php, возвращал версию про обращении $module_example_class->MODULE_VERSION. У меня была проблема в том, что версия возвращалась только для первого экземпляра на странице (использовался include_once(‘version.php’) для файла версии).

 

Пользователь 13856

Постоянный посетитель

Сообщений: 123
Баллов: 18
Авторитет:

1

Рейтинг пользователя:

2

Регистрация: 17.07.2007

#6

0

17.06.2011 11:30:28

Аналогичная проблема. Переменная должна возвращаться правильно:

Код
class irkutsk350ru extends CModule {
  public $MODULE_ID = 'irkutsk350ru';

  public $MODULE_VERSION = '1.0';
  public $MODULE_VERSION_DATE = '2011-09-06';
  ...
}

Техдиректор — оперативная служба технической поддержки сайтов на Битриксе

 

Пользователь 45913

Заглянувший

Сообщений: 12
Авторитет:

0

Рейтинг пользователя:

0

Регистрация: 21.07.2009

#7

0

24.06.2011 16:56:10

Проблема решается следующим образом:

Код
Class modulename extends CModule {

    var $MODULE_ID = "modulename";
    var $MODULE_NAME;
    var $MODULE_DESCRIPTION;
    var $MODULE_VERSION;
    var $MODULE_VERSION_DATE;

    function modulename() {
        $arModuleVersion = array();

        $path = str_replace("\", "/", __FILE__);
        $path = substr($path, 0, strlen($path) - strlen("/index.php"));
        include($path . "/version.php");

        if (is_array($arModuleVersion) && array_key_exists("VERSION", $arModuleVersion)) {
            $this->MODULE_VERSION = $arModuleVersion["VERSION"];
            $this->MODULE_VERSION_DATE = $arModuleVersion["VERSION_DATE"];
            $this->MODULE_NAME = $arModuleVersion["MODULE_NAME"];
            $this->MODULE_DESCRIPTION = $arModuleVersion["MODULE_DESCRIPTION"];
        } else {
            //укажите собственные значения
            $this->MODULE_VERSION = 0;
            $this->MODULE_VERSION_DATE = 0;
            $this->MODULE_NAME = 0;
            $this->MODULE_DESCRIPTION = 0;
        }
    }
...

Содержимое файла version.php:

Код
<?
$arModuleVersion = array(
   "VERSION" => "1.0.0",
   "VERSION_DATE" => "2011-01-01 00:00:00",
        "MODULE_NAME" => "Название модуля",
        "MODULE_DESCRIPTION" => "Описание модуля"
);
?>
 

Пользователь 63237

Заглянувший

Сообщений: 13
Авторитет:

0

Рейтинг пользователя:

0

Регистрация: 11.05.2010

Нет, проблема решается после присваивания модулю своего именного пространства. То бишь:
название модуля должно иметь вид

my_namespace.modulename

.

Тогда никаких проблем не будет.

 

Администратор

Сообщений: 137
Баллов: 36
Авторитет:

1

Рейтинг пользователя:

2

Регистрация: 30.07.2009

ошибка с Ux11 связана с тем, что система обновлений не может получить версию модуля. Причем, ошибка может быть в 2х местах — на странице обычных обновлений и на странице партнерских обновлений. В первом случае необходим корректный файл install/version.php, во втором, чтобы название класса модуля совпадало с названием самого модуля и в конструкторе класса были определены свойства класса MODULE_VERSION и MODULE_VERSION_DATE

Руководитель службы технической поддержки

 

Пользователь 6749

Заглянувший

Сообщений: 7
Авторитет:

0

Рейтинг пользователя:

0

Регистрация: 30.10.2006

#10

0

06.12.2011 01:04:42

Диалог с саппортом на эту тему ниже. По-моему исчерпывающее обсуждение.
Как я понимаю, большого желания дорабатывать документацию или исправлять ошибки в коде у ответственных за движок Bitrix нет.

Цитата
Время: 24.11.2011 18:52:26
От кого: [6749] (zy_tais) Юрий Захарин

Управление сайтом (PHP версия) > Установка обновлений, техническая проблема

Текст ошибки или описание проблемы
В системе установлены файлы самостоятельно написанного модуля.

При переходе на страницу обновлений ошибка:

Ошибка
[Ux11] Ошибка описания модуля «ibe».
Не установлено соединение с сервером обновлений. [Ux11] Ошибка описания модуля «ibe».

Следующая замена в файле bitrixmodulesmainclassesgeneralupdate_client.php позволяет решить проблему:
return array( ___1050547590(1953) => $_439811003->_766344616, ___1050547590(1954) => $_439811003->_62193985,);
заменяем на
return array( ___1050547590(1953) => $_439811003->MODULE_VERSION, ___1050547590(1954) => $_439811003->MODULE_VERSION_DATE,);

По-видимому нет ничего, что бы позволило PHP (5.2.5) подставить «MODULE_VERSION» вместо «_766344616».

Стандартные модули работают, т.к. объявляют $arModuleVersion в /install/version.php, поэтому вываливаются из функции раньше.
Согласно документации (

http://dev.1c-bitrix.ru/api_help/main/general/modules/description.php), объявлять $arModuleVersion не обязательно.

Есть обсуждение в форуме (

http://dev.1c-bitrix.ru/community/forums/forum6/topic33553/), но там об этом ничего нет.

Время: 25.11.2011 13:44:23 От кого: [46357] (mrLEFF) Lev Shestopalov

Добрый день!

Юрий, воспользуйтесь, пожалуйста, документацией по созданию своих модулей и опишите версию модуля так, как указано в документации —

http://dev.1c-bitrix.ru/download/files/manuals/ru/partners_module_guide.doc
Время: 25.11.2011 20:14:02 От кого: [6749] (zy_tais) Юрий Захарин

Здравствуйте, Лев.

Версия модуля описана согласно документации, т.е. объект модуля содержит поля MODULE_VERSION и MODULE_VERSION_DATE.

В документации, на которую вы ссылаетесь, нет требований к структуре файла version.php . Но при этом без правильно сформированного файла version.php обновление перестает работать. Подробности, почему так происходит, я уже написал в обращении.
Время: 28.11.2011 11:57:33 От кого: [17138] (lampotrias) Михаил Митрофанов

Добрый день!

Цитата
Согласно документации (http://dev.1c-bitrix.ru/api_help/main/general/modules/description.php), объявлять $arModuleVersion не обязательно.

Не находим этой фразы в документации.

У Вас есть файл /install/version.php с содержимым вида:

Цитата
<?
$arModuleVersion = array(
    «VERSION» => «11.0.4»,
    «VERSION_DATE» => «2011-11-17 14:00:00»
);
?>

если такого файла нет, то создайте его.

 

Пользователь 106456

Заглянувший

Сообщений: 23
Баллов: 2
Авторитет:

0

Рейтинг пользователя:

0

Регистрация: 17.11.2011

#11

1

10.08.2013 23:30:59

Встретился с подобной проблемой. Поискав код, который выдает эту проблему, определил, что я неправильно назвал класс в index.php. Попробуйте проверить правильность названия этого класса. Правильно: class partner_moduleid {}.

 

Пользователь 178181

Постоянный посетитель

Сообщений: 115
Баллов: 15
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 03.04.2013

#12

4

24.10.2013 16:32:03

Если прочитать инструкцию по сборке модуля то там все правила наименования есть, но повторим для закрепления:
Папка в которой лежит модуль: vendor.modulename
в /install/index.php:
Class vendor_modulename extends CModule
{
var $MODULE_ID = ‘vendor.modulename‘;

     function vendor_modulename(){ … }
}

Если у вас все также но ошибка не пропадает — заварите кружку чая и проверьте на орфографическое соответствие vendor и modulename.

Мальчик был настолько ленив, что специально вставал пораньше — чтобы подольше ничего не делать! (с)

 

Пользователь 176001

Заглянувший

Сообщений: 4
Баллов: 1
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 27.03.2013

#13

6

09.07.2014 23:08:37

В конструкторе класса установочного файла при подключении version.php используйте функцию include без суффикса _once, иначе информация о модуле не будет подгружаться в разделе «Обновление решений», что вызовет ошибку с кодом Ux11.

 

Пользователь 247571

Заглянувший

Сообщений: 1
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 13.03.2014

#14

0

29.10.2014 11:47:42

 

Пользователь 105345

Посетитель

Сообщений: 81
Баллов: 6
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 30.10.2011

#15

0

05.11.2015 10:36:15

Цитата
Илья Абросимов написал:
Если прочитать инструкцию по сборке модуля то там все правила наименования есть, но повторим для закрепления:
Папка в которой лежит модуль:  vendor . modulename
в /install/index.php:
Class  vendor _ modulename  extends CModule
{
var $MODULE_ID = ‘ vendor . modulename ‘;

     function  vendor _ modulename (){ … }
}

Если у вас все также но ошибка не пропадает — заварите кружку чая и проверьте на орфографическое соответствие  vendor  и  modulename .

А так же в названии класса и в названии функции не должно быть заглавных букв. Тоже 15 минут мучился ((. Учим мат.часть товарисчи.

 

Пользователь 289846

Заглянувший

Сообщений: 1
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 16.06.2015

#16

0

03.12.2015 20:18:21

У меня проблема была из-за использования конструктора __construct вместо имени модуля в /install/index.php

 

Пользователь 1377657

Посетитель

Сообщений: 84
Баллов: 6
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 03.09.2017

#17

0

21.05.2018 14:00:10

Все та же ошибка:

Код
Ошибка
[Ux11] Ошибка описания модуля ".last_version". 
Не установлено соединение с сервером обновлений. [Ux11] Ошибка описания модуля ".last_version".

Что я проверил?

  • использования конструктора __construct вместо имени модуля в /install/index.php — ДА
  • Соответствие vendor модуль name, как указано тут Ильей — ДА
  • include без суффикса once в install.php — ДА
  • замена в файле bitrixmodulesmainclassesgeneralupdate_client.php — ДА, инструкция устарела, новые версии Битрикса включают данный фикс
  •   var $MODULE_ID = «modulename»; — ДА
  •   var $MODULE_NAME; — ДА
  •   var $MODULE_DESCRIPTION; — ДА
  •   var $MODULE_VERSION; — ДА
  •   var $MODULE_VERSION_DATE; —ДА

У меня совсем не осталось идей куда купать. Разве есть лаг в последующих загрузках .last_version.tar.gz в партнерском кабинете?

 

Пользователь 1377657

Посетитель

Сообщений: 84
Баллов: 6
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 03.09.2017

#18

1

27.05.2018 16:39:52

У кого похожая проблема со мной — нужно удалить директорию .last_version из папки модуля, тогда ошибка [Ux11] Ошибка описания модуля «.last_version». исчезнет. Возможно разработчикам Битрикса будет полезно добавить одно условие в код для проверки наличия существующей папки .last_version и предлагать выбор (удалитьзаменить итд), нежели выводить бесполезное сообщение об описании модуля.

 

Пользователь 396250

Постоянный посетитель

Сообщений: 78
Баллов: 12
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 15.10.2015

#19

0

28.03.2019 09:39:49

костыльное решение есть.
1. Убираем партнерское пространство имен модуля.  Модуль становиться из partner.module — просто module.
2. Во всех файлах убираем упоминание партнера. $MODULE_ID   = ‘module’;
3. В папке lib , к-я инклудиться автолоадом, заменяем namespace партнера на Bitrix, будет namespace BitrixModule; вместо PartnerModule.

 

Пользователь 139711

Заглянувший

Сообщений: 4
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 18.09.2012

#20

0

14.05.2019 10:29:01

Цитата
Никита Самохвалов написал:
В конструкторе класса установочного файла при подключении  version.php  используйте функцию  include  без суффикса  _once , иначе информация о модуле не будет подгружаться в разделе «Обновление решений», что вызовет ошибку с кодом Ux11.

Помогло!

 

Пользователь 115282

Заглянувший

Сообщений: 1
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 19.08.2016

#21

0

22.08.2019 10:26:30

Цитата
Omar Khazamov написал:
MODULE_ID

Помогло!

 

Пользователь 5438932

Заглянувший

Сообщений: 2
Авторитет:

0

Рейтинг пользователя:

0

Регистрация: 08.10.2021

#22

0

08.10.2021 22:05:50

подобная ошибка появляется в модуле bitrix.sitecorporate
что там может быть не так?

 

Пользователь 5438932

Заглянувший

Сообщений: 2
Авторитет:

0

Рейтинг пользователя:

0

Регистрация: 08.10.2021

#23

0

08.10.2021 22:23:29

хочу установить другое решение (Факел)
мешает вдруг ошибка
[Ux11] Ошибка описания модуля «bitrix.sitecorporate».
Не установлено соединение с сервером обновлений. [Ux11] Ошибка описания модуля «bitrix.sitecorporate».
в файлах пытался смотреть, но не понятна причина

 

Пользователь 130024

Заглянувший

Сообщений: 1
Баллов: 1
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 06.06.2012

#24

1

11.11.2021 11:14:00

поменяйте название конструктора на __construct

 

Пользователь 236897

Заглянувший

Сообщений: 2
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 17.01.2014

#25

0

01.07.2022 14:51:32

Цитата
Владимир Арапов написал:
поменяйте название конструктора на __construct

сработало

1С-Битрикс и PHP 8: исправляем ошибки [Ux11] и non-static method

При обновлении PHP до 8 версии в работе сторонних модулей 1С-Битрикс могут возникнуть ряд ошибок. Рассмотрим как их исправить:

Ошибка №1

[Ux11] Ошибка описания модуля "название.модуля".
Не установлено соединение с сервером обновлений. [Ux11] Ошибка описания модуля "название.модуля"

При возникновении данной ошибки нужно либо обновить модуль до последней версии, либо в файле /bitrix/modules/название.модуля/install/index.php заменить название функции function название_модуля() на function __construct() После этого ошибка должна уйти

Ошибка №2

Для исправления ошибки:


call_user_func_array(): Argument #1 ($function) must be a valid callback, non-static method НазваниеМодуля::МетодКласса() cannot be called statically (0)

Необходимо найти код данного модуля по следующему пути (/bitrix/modules/название.модуля), определиться с классом в котором возникает данная ошибка и к данному классу приписать служебное слово static, примерно так:


static function МетодКласса()

2021.10.14

При загрузке решения возникает «[Ux11] Ошибка описания модуля», что делать?

Если вы столкнулись с такой ошибкой при загрузке модуля:

[Ux11] Ошибка описания модуля «intec.core».  

Попробуйте выполнить следующие действия:

  • Удалите и сотрите все наши модули.
  • Затем установите на хостинге версию phph 7.4 (именно 7.4 не выше и не ниже)
  • После этого снова загрузите и установите модули

Что делать, если пути страниц введены некорректно?

Не отображаются популярные товары на php 8

Наши решения

IntecUniverse — интернет-магазин с конструктором дизайна

23 940 руб.
39 900 руб.

Интернет-магазин на редакции Старт с конструктором дизайна — IntecUniverse LITE

20 940 руб.
34 900 руб.

INTEC.Food — магазин доставки еды, суши, пиццы с корзиной и оплатой. Сайт для ресторанов и кафе

20 940 руб.
34 900 руб.

INTEC.Garderob — интернет-магазин одежды, обуви, сумок, нижнего белья и аксессуаров

20 940 руб.
34 900 руб.

INTEC. SEO — модуль поисковой оптимизации: seo — фильтр, генерация сео — текстов, H1, мета-тегов

7 450 руб.
14 900 руб.

INTEC Конструктор сайтов — визуальный редактор структуры и дизайна

4 950 руб.
9 900 руб.

INTEC: Мультирегиональность — региональная сеть вашего сайта с продвижением в поисковиках

7 450 руб.
14 900 руб.


7

ответов

пока только якобы)), у меня ниодин сайт пока не завёлся

Простой сайт без ИМ работает норм.


Alex Shch

Простой сайт без ИМ работает норм.

2021-07-28 16:01:49 — Host: wstroy.ru — UNCAUGHT_EXCEPTION — [TypeError]
call_user_func_array(): Argument #1 ($function) must be a valid callback, non-static method CSiteCorporate::ShowPanel() cannot be called statically (0)
/var/www/clients/client0/web5/web/bitrix/modules/main/classes/general/module.php:480
#0: ExecuteModuleEventEx
/var/www/clients/client0/web5/web/bitrix/modules/main/include.php:458
#1: require_once(string)
/var/www/clients/client0/web5/web/bitrix/modules/main/include/prolog_before.php:14
#2: require_once(string)
/var/www/clients/client0/web5/web/bitrix/modules/main/tools/composite_data.php:9
#3: require(string)
/var/www/clients/client0/web5/web/bitrix/tools/composite_data.php:1


Владимир Муковоз

2021-07-28 16:01:49 — Host: wstroy.ru — UNCAUGHT_E…

Удалите нафиг этот модуль либо руками пропишите методу static. Исправить через обновления именно тут — невозможно (модуль давно выпилен из системы)


Владимир Муковоз

2021-07-28 16:01:49 — Host: wstroy.ru — UNCAUGHT_E…

И удалить bitrix.sitecommunity, bitrix.sitecorporate, bitrix.siteportal и bitrix.sitepersonal. либо, если они дороги как память, найти методы ShowPanel в них и прописать им static


Eugene Zhukov

И удалить bitrix.sitecommunity, bitrix.sitecorpora…

Что значит «как память»? Они не рабочие? Можно удалить с сайта?

Если у вас возникли какие либо вопросы которые вы не смогли решить по нашим публикациям самостоятельно,
то ждем ваше обращение в нашей службе тех поддержки.

Инфоблоки

Решение типовых проблем не требует вмешательства программистов. Контент-менеджер в большинстве случаев может разрешить их самостоятельно. Самые частые ошибки совершаются при работе с информационными блоками. Это естественно, так как в инфоблоках хранится большая часть информации на сайте. Описание ошибок даётся в формате: Проблема > ошибка > решение, чтобы вам было проще перейти к исправлению ситуации.

Типовые проблемы:

  • Выводится сообщение: У вас нет прав на просмотр.
  • На странице не выводится информация, добавленная в поля свойств элемента инфоблока.
  • В форме добавления элементов не видны добавленные свойства инфоблока.
  • Как добавить новые свойства в форму создания элемента.
  • Выводится сообщение: Неверный тип файла.
  • Выводится сообщение: Превышен максимальный размер.
  • Выводится сообщение: элемент не найден.
  • Количество сообщений (тем форума, новостей, количество фотографий и т.д.) на странице не совпадает с количеством, указанном в настройке компонента.

  • Проблема: выводится сообщение:

    «У вас нет прав на просмотр …»




    .

    Ошибка: ненастроенные права доступа к детальной информации: новостей и фотогалереи.

    Решение: Настроить группы пользователей для доступа в настройках комплексного компонента в группе параметров Дополнительные настройки:

    Нажмите на рисунок, чтобы увеличить

  • Проблема: На странице не выводится информация, добавленная в поля свойств элемента инфоблока. Например, добавляется информация в поле Производитель и Материал, а она

    не видна у товара

    Нажмите на рисунок, чтобы увеличить


    .

    Ошибка: в настройках компонента не указаны свойства инфоблока, которые должны отображаться на данной странице.

    Решение: В настройках параметров инфоблока указать какие свойства должны отображаться. Для этого надо сначала понять на какой странице не выводятся нужные свойства: на детальной странице товара или на странице списка товаров. Отличить не трудно: на странице списка товаров выводятся все товары раздела. На странице детального отображения товара — только выбранный товар. Соответственно нужно выбирать свойства для показа в нужной секции настроек компонента.

    Нажмите на рисунок, чтобы увеличить

  • Проблема: В форме добавления элементов не видны добавленные свойства инфоблока.

    Ошибка: добавленное свойство либо неактивно, либо свойство не выведено в измененной (кастомизированной) форме добавления элемента.

    Решения:

    • активируйте свойство в форме редактирования инфоблока (Контент > Инфоблоки > Типы инфоблоков > _ваш_тип_инфоблока > _ ваш_инфоблок_) на закладке Свойства.

      Нажмите на рисунок, чтобы увеличить

    • добавьте новые свойства в форму создания элемента, как это рассказано в курсе Администратор. Базовый.

    Прав контент-менеджера на эти операции может не хватить. В этом случае обратитесь к администратору сайта.

  • Проблема: При создании элемента инфоблока не удается прикрепить файл, выводится сообщение: Неверный тип файла. При этом не происходит сохранение элемента.

    Ошибка: в свойствах инфоблока типа Файл не указаны разрешенные для загрузки форматы.

    Решение: разрешенные форматы указываются на закладке Свойства формы настройки инфоблока (Контент > Инфоблоки > Типы инфоблоков > _ваш_тип_инфоблока > _ ваш_инфоблок_). В строке свойства типа Файл с помощью кнопки […] вызовите форму детальной настройки свойства и в поле Типы загружаемых файлов введите нужные форматы или выберите форматы в выпадающем списке:

  • Проблема: Не удается прикрепить файл к элементу инфоблока, выводится сообщение: Превышен максимальный размер файла. При этом не происходит сохранение элемента.

    Ошибка: ограничения администратора сайта на размер загружаемого файла.

    Решение: Для снятия этого ограничения необходимо обратиться к администратору сайта.

  • Проблема: При переходе из списка элементов к странице детального просмотра появляется сообщение:

    Элемент не найден




    .

    Ошибка: неправильно формируется адрес страницы (не передается идентификатор открываемого элемента или в настройках компонента ошиблись).

    Решение: проверить настройки компонента в группе параметров Управление адресами страниц или обратиться к администратору сайта.

  • Проблема: Количество сообщений (тем форума, новостей, количество фотографий и т.д.) на странице не совпадает с количеством, указанном в настройке компонента.

    Ошибка: в настройках используемого компонента отмечена опция Использовать обратную постраничную навигацию. В этом режиме происходит вывод страниц в обратном порядке (последняя страница становится первой).

    Нажмите на рисунок, чтобы увеличить

    Решение: исправить настройки компонента в группе параметров Настройки постраничной навигации.

    Необязательная информация: зачем нужна обратная навигация

Назад в раздел

Подписаться на новые материалы раздела:

Наш модуль после установки добавляет на страницы сайта кнопку плавной прокрутки страницы вверх. Какие файлы и папки могут и должны быть, можно изучить в соответствующем разделе документации Битрикс. Модуль разместим в директории local/modules и создадим такую файловую структуру:

[scrollup]
    [install]
        [assets]
            [scripts]
                script.js
            [styles]
                style.css
        index.php
        step.php
        unstep.php
        version.php
    [lang]
        [ru]
            [install]
                index.php
            options.php
    [lib]
        Main.php
    include.php
    options.php

Как видите, внутри local/modules/scrollup у нас:

  • install — набор скриптов для установки и удаления модуля;
  • lang — набор языковых файлов модуля;
  • lib — набор файлов, в которых реализуется логика решения;
  • include.php — файл, подключаемый при вызове модуля в коде;
  • options.php — страница настроек, подключаемая в административной части.

Рассмотрим подробнее папку install:

  • assets — содержит JavaScript и CSS кнопки, которые будут подключаться в пользовательской части;
  • index.php — файл, в котором содержится описание модуля и реализуется его установка и удаление;
  • step.php и unstep.php — соответственно шаги установки и удаления, их может быть несколько;
  • version.php — файл содержит версию и время обновления нашего модуля.
<?php
/*
 * Файл local/modules/scrollup/install/version.php
 */

$arModuleVersion = array(
    'VERSION'      => '1.0.0',
    'VERSION_DATE' => '2018-10-20 11:00:00'
);

Теперь нам нужно написать класс, в котором будет реализована установка и удаление модуля. Имя класса должно совпадать с директорией модуля и являться наследником от CModule. Метод doInstall() вызывается при установке модуля из панели управления, метод doUninstall() — при деинсталляции модуля. Метод doInstall() подключает файл step.php, а метод doUninstall() — файл unstep.php

<?php
/*
 * Файл local/modules/scrollup/install/index.php
 */

use BitrixMainLocalizationLoc;
use BitrixMainModuleManager;
use BitrixMainConfigOption;
use BitrixMainEventManager;
use BitrixMainApplication;
use BitrixMainIODirectory;

Loc::loadMessages(__FILE__);

class scrollup extends CModule {

    public function __construct() {
        if (is_file(__DIR__.'/version.php')) {
            include_once(__DIR__.'/version.php');
            $this->MODULE_ID           = get_class($this);
            $this->MODULE_VERSION      = $arModuleVersion['VERSION'];
            $this->MODULE_VERSION_DATE = $arModuleVersion['VERSION_DATE'];
            $this->MODULE_NAME         = Loc::getMessage('SCROLLUP_NAME');
            $this->MODULE_DESCRIPTION  = Loc::getMessage('SCROLLUP_DESCRIPTION');
        } else {
            CAdminMessage::showMessage(
                Loc::getMessage('SCROLLUP_FILE_NOT_FOUND').' version.php'
            );
        }
    }
    
    public function doInstall() {

        global $APPLICATION;

        // мы используем функционал нового ядра D7 — поддерживает ли его система?
        if (CheckVersion(ModuleManager::getVersion('main'), '14.00.00')) {
            // копируем файлы, необходимые для работы модуля
            $this->installFiles();
            // создаем таблицы БД, необходимые для работы модуля
            $this->installDB();
            // регистрируем модуль в системе
            ModuleManager::registerModule($this->MODULE_ID);
            // регистрируем обработчики событий
            $this->installEvents();
        } else {
            CAdminMessage::showMessage(
                Loc::getMessage('SCROLLUP_INSTALL_ERROR')
            );
            return;
        }

        $APPLICATION->includeAdminFile(
            Loc::getMessage('SCROLLUP_INSTALL_TITLE').' «'.Loc::getMessage('SCROLLUP_NAME').'»',
            __DIR__.'/step.php'
        );
    }
    
    public function installFiles() {
        // копируем js-файлы, необходимые для работы модуля
        CopyDirFiles(
            __DIR__.'/assets/scripts',
            Application::getDocumentRoot().'/bitrix/js/'.$this->MODULE_ID.'/',
            true,
            true
        );
        // копируем css-файлы, необходимые для работы модуля
        CopyDirFiles(
            __DIR__.'/assets/styles',
            Application::getDocumentRoot().'/bitrix/css/'.$this->MODULE_ID.'/',
            true,
            true
        );
    }
    
    public function installDB() {
        return;
    }

    public function installEvents() {
        // перед выводом буферизированного контента добавим свой HTML код,
        // в котором сохраним настройки для нашей кнопки прокрутки наверх
        EventManager::getInstance()->registerEventHandler(
            'main',
            'OnBeforeEndBufferContent',
            $this->MODULE_ID,
            'ScrollUp\Main',
            'appendJavaScriptAndCSS'
        );
    }

    public function doUninstall() {

        global $APPLICATION;

        $this->uninstallFiles();
        $this->uninstallDB();
        $this->uninstallEvents();

        ModuleManager::unRegisterModule($this->MODULE_ID);

        $APPLICATION->includeAdminFile(
            Loc::getMessage('SCROLLUP_UNINSTALL_TITLE').' «'.Loc::getMessage('SCROLLUP_NAME').'»',
            __DIR__.'/unstep.php'
        );

    }

    public function uninstallFiles() {
        // удаляем js-файлы
        Directory::deleteDirectory(
            Application::getDocumentRoot().'/bitrix/js/'.$this->MODULE_ID
        );
        // удаляем css-файлы
        Directory::deleteDirectory(
            Application::getDocumentRoot().'/bitrix/css/'.$this->MODULE_ID
        );
        // удаляем настройки нашего модуля
        Option::delete($this->MODULE_ID);
    }
    
    public function uninstallDB() {
        return;
    }
    
    public function uninstallEvents() {
        // удаляем наш обработчик события
        EventManager::getInstance()->unRegisterEventHandler(
            'main',
            'OnBeforeEndBufferContent',
            $this->MODULE_ID,
            'ScrollUp\Main',
            'appendJavaScriptAndCSS'
        );
    }

}
<?php
/*
 * Файл local/modules/scrollup/lang/ru/install/index.php
 */

$MESS['SCROLLUP_NAME']              = 'Кнопка «Наверх»';
$MESS['SCROLLUP_DESCRIPTION']       = 'Добавляет на сайт кнопку плавной прокрутки наверх.';

$MESS['SCROLLUP_FILE_NOT_FOUND']    = 'Не найден файл';
$MESS['SCROLLUP_INSTALL_TITLE']     = 'Установка модуля';
$MESS['SCROLLUP_INSTALL_ERROR']     = 'Версия главного модуля ниже 14, обновите систему.';
$MESS['SCROLLUP_INSTALL_SUCCESS']   = 'Модуль успешно установлен';
$MESS['SCROLLUP_INSTALL_FAILED']    = 'Ошибка при установке модуля';

$MESS['SCROLLUP_UNINSTALL_TITLE']   = 'Удаление модуля';
$MESS['SCROLLUP_UNINSTALL_SUCCESS'] = 'Модуль успешно удален';
$MESS['SCROLLUP_UNINSTALL_FAILED']  = 'Ошибка при удалении модуля';

$MESS['SCROLLUP_RETURN_MODULES']    = 'Вернуться в список модулей';
<?php
/*
 * Файл local/modules/scrollup/install/step.php
 */

use BitrixMainLocalizationLoc;

Loc::loadMessages(__FILE__);

if (!check_bitrix_sessid()) {
    return;
}

if ($errorException = $APPLICATION->getException()) {
    // ошибка при установке модуля
    CAdminMessage::showMessage(
        Loc::getMessage('SCROLLUP_INSTALL_FAILED').': '.$errorException->GetString()
    );
} else {
    // модуль успешно установлен
    CAdminMessage::showNote(
        Loc::getMessage('SCROLLUP_INSTALL_SUCCESS')
    );
}
?>

<form action="<?= $APPLICATION->getCurPage(); ?>"> <!-- Кнопка возврата к списку модулей -->
    <input type="hidden" name="lang" value="<?= LANGUAGE_ID; ?>" />
    <input type="submit" value="<?= Loc::getMessage('SCROLLUP_RETURN_MODULES'); ?>">
</form>
<?php
/*
 * Файл local/modules/scrollup/install/unstep.php
 */

use BitrixMainLocalizationLoc;

Loc::loadMessages(__FILE__);

if (!check_bitrix_sessid()){
    return;
}

if ($errorException = $APPLICATION->getException()) {
    // ошибка при удалении модуля
    CAdminMessage::showMessage(
        Loc::getMessage('SCROLLUP_UNINSTALL_FAILED').': '.$errorException->GetString()
    );
} else {
    // модуль успешно удален
    CAdminMessage:showNote(
        Loc::getMessage('SCROLLUP_UNINSTALL_SUCCESS')
    );
}
?>

<form action="<?= $APPLICATION->getCurPage(); ?>"> <!-- Кнопка возврата к списку модулей -->
    <input type="hidden" name="lang" value="<?= LANGUAGE_ID; ?>" />
    <input type="submit" value="<?= Loc::getMessage('SCROLLUP_RETURN_MODULES'); ?>">
</form>

Теперь в панели управления на странице «Настройки • Настройки продукта • Модули» мы видим наш модуль:

И можем установить его:

Создадим страницу настроек для модуля. Через панель управления контент менеджер сможет:

  • Включать/выключать модуль;
  • Подключать библиотеку jQuery, если она еще не подключена;
  • Изменять ширину/высоту/радиус и цвет кнопки;
  • Менять положение кнопки и скорость анимации.
<?php
/*
 * Файл local/modules/scrollup/options.php
 */

use BitrixMainLocalizationLoc;
use BitrixMainHttpApplication;
use BitrixMainLoader;
use BitrixMainConfigOption;

Loc::loadMessages(__FILE__);

// получаем идентификатор модуля
$request = HttpApplication::getInstance()->getContext()->getRequest();
$module_id = htmlspecialchars($request['mid'] != '' ? $request['mid'] : $request['id']);
// подключаем наш модуль
Loader::includeModule($module_id);

/*
 * Параметры модуля со значениями по умолчанию
 */
$aTabs = array(
    array(
        /*
         * Первая вкладка «Основные настройки»
         */
        'DIV'     => 'edit1',
        'TAB'     => Loc::getMessage('SCROLLUP_OPTIONS_TAB_GENERAL'),
        'TITLE'   => Loc::getMessage('SCROLLUP_OPTIONS_TAB_GENERAL'),
        'OPTIONS' => array(
            array(
                'switch_on',                                   // имя элемента формы
                Loc::getMessage('SCROLLUP_OPTIONS_SWITCH_ON'), // поясняющий текст — «Включить прокрутку»
                'Y',                                           // значение по умолчанию «да»
                array('checkbox')                              // тип элемента формы — checkbox
            ),
            array(
                'jquery_on',                                   // имя элемента формы
                Loc::getMessage('SCROLLUP_OPTIONS_JQUERY_ON'), // поясняющий текст — «Подключить jQuery»
                'N',                                           // значение по умолчанию «нет»
                array('checkbox')                              // тип элемента формы — checkbox
            ),
        )
    ),
    array(
        /*
         * Вторая вкладка «Дополнительные настройки»
         */
        'DIV'     => 'edit2',
        'TAB'     => Loc::getMessage('SCROLLUP_OPTIONS_TAB_ADDITIONAL'),
        'TITLE'   => Loc::getMessage('SCROLLUP_OPTIONS_TAB_ADDITIONAL'),
        'OPTIONS' => array(
            /*
             * секция «Внешний вид»
             */
            Loc::getMessage('SCROLLUP_OPTIONS_SECTION_VIEW'),
            array(
                'width',                                    // имя элемента формы
                Loc::getMessage('SCROLLUP_OPTIONS_WIDTH'),  // поясняющий текст — «Ширина (пикселей)»
                '50',                                       // значение по умолчанию 50px
                array('text', 5)                            // тип элемента формы — input type="text", ширина 5 симв.
            ),
            array(
                'height',                                   // имя элемента формы
                Loc::getMessage('SCROLLUP_OPTIONS_HEIGHT'), // поясняющий текст — «Высота (пикселей)»
                '50',                                       // значение по умолчанию 50px
                array('text', 5)                            // тип элемента формы — input type="text", ширина 5 симв.
            ),
            array(
                'radius',                                   // имя элемента формы
                Loc::getMessage('SCROLLUP_OPTIONS_RADIUS'), // поясняющий текст — «Радиус (пикселей)»
                '50',                                       // значение по умолчанию 50px
                array('text', 5)                            // тип элемента формы — input type="text", ширина 5 симв.
            ),
            array(
                'color',                                    // имя элемента формы
                Loc::getMessage('SCROLLUP_OPTIONS_COLOR'),  // поясняющий текст — «Цвет фона»
                '#bf3030',                                  // значение по умолчанию #bf3030
                array('text', 5)                            // тип элемента формы — input type="text", ширина 5 симв.
            ),
            /*
             * секция «Положение на странице»
             */
            Loc::getMessage('SCROLLUP_OPTIONS_SECTION_LAYOUT'),
            array(
                'side',                                       // имя элемента формы
                Loc::getMessage('SCROLLUP_OPTIONS_POSITION'), // поясняющий текст — «Положение кнопки»
                'left',                                       // значение по умолчанию «left»
                array(
                    'selectbox',                              // тип элемента формы — <select>
                    array(
                        'left'  => Loc::getMessage('SCROLLUP_OPTIONS_SIDE_LEFT'),
                        'right' => Loc::getMessage('SCROLLUP_OPTIONS_SIDE_RIGHT')
                    )
                )
            ),
            array(
                'indent_bottom',                                   // имя элемента формы
                Loc::getMessage('SCROLLUP_OPTIONS_INDENT_BOTTOM'), // поясняющий текст — «Отступ снизу (пикселей)»
                '10',                                              // значение по умолчанию 10px
                array('text', 5)                                   // тип элемента формы — input type="text"
            ),
            array(
                'indent_side',                                     // имя элемента формы
                Loc::getMessage('SCROLLUP_OPTIONS_INDENT_SIDE'),   // поясняющий текст — «Отступ сбоку (пикселей)»
                '10',                                              // значение по умолчанию 10px
                array('text', 5)                                   // тип элемента формы — input type="text"
            ),
            /*
             * секция «Поведение»
             */
            Loc::getMessage('SCROLLUP_OPTIONS_SECTION_ACTION'),
            array(
                'speed',                                   // имя элемента формы
                Loc::getMessage('SCROLLUP_OPTIONS_SPEED'), // поясняющий текст — «Скорость прокрутки»
                'normal',                                  // значение по умолчанию «normal»
                array(
                    'selectbox',                           // тип элемента формы — <select>
                    array(
                        'slow'   => Loc::getMessage('SCROLLUP_OPTIONS_SPEED_SLOW'),
                        'normal' => Loc::getMessage('SCROLLUP_OPTIONS_SPEED_NORMAL'),
                        'fast'   => Loc::getMessage('SCROLLUP_OPTIONS_SPEED_FAST')
                    )
                )
            )
        )
    )
);

/*
 * Создаем форму для редактирвания параметров модуля
 */
$tabControl = new CAdminTabControl(
    'tabControl',
    $aTabs
);

$tabControl->begin();
?>
<form action="<?= $APPLICATION->getCurPage(); ?>?mid=<?=$module_id; ?>&lang=<?= LANGUAGE_ID; ?>" method="post">
    <?= bitrix_sessid_post(); ?>
    <?php
    foreach ($aTabs as $aTab) { // цикл по вкладкам
        if ($aTab['OPTIONS']) {
            $tabControl->beginNextTab();
            __AdmSettingsDrawList($module_id, $aTab['OPTIONS']);
        }
    }
    $tabControl->buttons();
    ?>
    <input type="submit" name="apply" 
           value="<?= Loc::GetMessage('SCROLLUP_OPTIONS_INPUT_APPLY'); ?>" class="adm-btn-save" />
    <input type="submit" name="default"
           value="<?= Loc::GetMessage('SCROLLUP_OPTIONS_INPUT_DEFAULT'); ?>" />
</form>

<?php
$tabControl->end();

/*
 * Обрабатываем данные после отправки формы
 */
if ($request->isPost() && check_bitrix_sessid()) {

    foreach ($aTabs as $aTab) { // цикл по вкладкам
        foreach ($aTab['OPTIONS'] as $arOption) {
            if (!is_array($arOption)) { // если это название секции
                continue;
            }
            if ($arOption['note']) { // если это примечание
                continue;
            }
            if ($request['apply']) { // сохраняем введенные настройки
                $optionValue = $request->getPost($arOption[0]);
                if ($arOption[0] == 'switch_on') {
                    if ($optionValue == '') {
                        $optionValue = 'N';
                    }
                }
                if ($arOption[0] == 'jquery_on') {
                    if ($optionValue == '') {
                        $optionValue = 'N';
                    }
                }
                Option::set($module_id, $arOption[0], is_array($optionValue) ? implode(',', $optionValue) : $optionValue);
            } elseif ($request['default']) { // устанавливаем по умолчанию
                Option::set($module_id, $arOption[0], $arOption[2]);
            }
        }
    }

    LocalRedirect($APPLICATION->getCurPage().'?mid='.$module_id.'&lang='.LANGUAGE_ID);

}
?>
<?php
/*
 * Файл local/modules/scrollup/lang/ru/options.php
 */

$MESS['SCROLLUP_OPTIONS_TAB_GENERAL']    = 'Основные настройки'; // Первая вкладка «Основные настройки»
$MESS['SCROLLUP_OPTIONS_SWITCH_ON']      = 'Включить прокрутку';
$MESS['SCROLLUP_OPTIONS_JQUERY_ON']      = 'Подключить jQuery';

$MESS['SCROLLUP_OPTIONS_TAB_ADDITIONAL'] = 'Дополнительные настройки'; // Вторая вкладка «Дополнительные настройки»
$MESS['SCROLLUP_OPTIONS_SECTION_VIEW']   = 'Внешний вид'; // секция «Внешний вид»
$MESS['SCROLLUP_OPTIONS_WIDTH']          = 'Ширина (пикселей)';
$MESS['SCROLLUP_OPTIONS_HEIGHT']         = 'Высота (пикселей)';
$MESS['SCROLLUP_OPTIONS_RADIUS']         = 'Радиус (пикселей)';
$MESS['SCROLLUP_OPTIONS_COLOR']          = 'Цвет фона';
$MESS['SCROLLUP_OPTIONS_SECTION_LAYOUT'] = 'Положение на странице'; // секция «Положение на странице»
$MESS['SCROLLUP_OPTIONS_POSITION']       = 'Положение кнопки';
$MESS['SCROLLUP_OPTIONS_SIDE_LEFT']      = 'Слева';
$MESS['SCROLLUP_OPTIONS_SIDE_RIGHT']     = 'Справа';
$MESS['SCROLLUP_OPTIONS_INDENT_BOTTOM']  = 'Отступ снизу (пикселей)';
$MESS['SCROLLUP_OPTIONS_INDENT_SIDE']    = 'Отступ сбоку (пикселей)';
$MESS['SCROLLUP_OPTIONS_SECTION_ACTION'] = 'Поведение'; // секция «Поведение»
$MESS['SCROLLUP_OPTIONS_SPEED']          = 'Скорость прокрутки';
$MESS['SCROLLUP_OPTIONS_SPEED_SLOW']     = 'Низкая';
$MESS['SCROLLUP_OPTIONS_SPEED_NORMAL']   = 'Средняя';
$MESS['SCROLLUP_OPTIONS_SPEED_FAST']     = 'Высокая';

$MESS['SCROLLUP_OPTIONS_INPUT_APPLY']    = 'Сохранить настройки';
$MESS['SCROLLUP_OPTIONS_INPUT_DEFAULT']  = 'Установить по умолчанию';

Страница настроек модуля теперь выглядит так:

Когда мы описывали код установки модуля, то привязались к событию OnBeforeEndBufferContent и указали метод appendJavaScriptAndCSS() класса Main как обработчик. Теперь настало время его написать:

<?php
/*
 * Файл local/modules/scrollup/lib/Main.php
 */

namespace ScrollUp;

use BitrixMainConfigOption;
use BitrixMainPageAsset;

class Main {

    public function appendJavaScriptAndCSS() {

        // прокрутка будет работать только в публичной части
        if (!defined('ADMIN_SECTION') && ADMIN_SECTION !== true) {
            $module_id = pathinfo(dirname(__DIR__))['basename'];
            $options = json_encode(
                array(
                    'switch_on'     => Option::get($module_id, 'switch_on', 'Y'),
                    'width'         => Option::get($module_id, 'width', '50'),
                    'height'        => Option::get($module_id, 'height', '50'),
                    'radius'        => Option::get($module_id, 'radius', '50'),
                    'color'         => Option::get($module_id, 'color', '#bf3030'),
                    'side'          => Option::get($module_id, 'side', 'left'),
                    'indent_bottom' => Option::get($module_id, 'indent_bottom', '10'),
                    'indent_side'   => Option::get($module_id, 'indent_side', '10'),
                    'speed'         => Option::get($module_id, 'speed', 'normal')
                )
            );
            Asset::getInstance()->addCss('/bitrix/css/'.$module_id.'/style.css');
            // подключить библиотеку jQuery?
            if (Option::get($module_id, 'jquery_on', 'N') == 'Y') {
                CJSCore::init(array('jquery2'));
            }
            Asset::getInstance()->addString(
                "<script id='".$module_id."-params' data-params='".$options."'></script>",
                true
            );
            Asset::getInstance()->addJs('/bitrix/js/'.$module_id.'/script.js');
            
        }
    }

}
<?php
/*
 * Файл local/modules/scrollup/include.php
 */

BitrixMainLoader::registerAutoloadClasses(
    'scrollup',
    array(
        'ScrollUp\Main' => 'lib/Main.php',
    )
);

Осталось только написать js-код для прокрутки страницы наверх и задать css-стили для кнопки:

/*
 * Файл local/modules/scrollup/install/assets/scripts/script.js
 */

$(function() {

    var params = $('#scrollup-params').data().params;

    if (params.switch_on == 'Y') {

        var style  = 'width: ' + params.width + 'px;';
            style += 'height: ' + params.height + 'px;';
            style += 'border-radius: ' + params.radius + 'px;';
            style += 'background-color: ' + params.color + ';';
            style += 'bottom: ' + params.indent_bottom + 'px;';
            style += params.side + ': ' + params.indent_side + 'px;';

        var speed = 600;
        if (params.speed == 'slow') {
            speed = 300;
        } else if (params.speed == 'fast'){
            speed = 1000;
        };

        $('body').append('<div id="scrollup-button" style="' + style +'"></div>');

        var button = $('#scrollup-button');
        $(window).on('load', function() {
            if ($(this).scrollTop() > 300) {
                button.fadeIn(600);
            }
        });

        $(window).on('scroll', function() {
            if ($(this).scrollTop() > 300) {
                button.fadeIn(600);
            } else {
                button.fadeOut(600);
            };
        });

        button.on('click', function() {
            $('html, body').animate({
                scrollTop: 0
            }, speed);
        });

    };

});
/*
 * Файл local/modules/scrollup/install/assets/styles/style.css
 */

#scrollup-button {
    position: fixed;
    cursor: pointer;
    display: none;
}
#scrollup-button:before {
    content: "";
    width: 0;
    height: 0;
    border-left: 15px solid transparent;
    border-right: 15px solid transparent;
    border-bottom: 25px solid #fff;
    margin: 9px auto 0;
    display: block;
}

Дополнительно

  • Скачать модуль scrollup

Поиск:
CMS • OnBeforeEndBufferContent • Web-разработка • doInstall • doUninstall • step.php • unstep.php • version.php • Битрикс • Модуль • Прокрутка • Событие • Установка • registerAutoloadClasses • registerModule • unRegisterModule • registerEventHandler • unRegisterEventHandler • CopyDirFiles • deleteDirectory

Каталог оборудования

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Производители

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Функциональные группы

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Некоторые пользователи видят ошибки вида:

При выгрузке товаров
Ошибка проверки источника запроса. Обновите модуль обмена или отключите проверку в настройках компонента

При обмене заказами

Ошибка проверки источника запроса. Обновите модуль обмена

В версии Битрикса 14.5 появился новый режим контроля сессий при обмене с 1С. Это необходимо для безопасности и работает только с новыми дополнениями Битрикса (4.0.0.0 и выше) для 1С.

Ошибка возникает, когда на сайте включены проверки для новых версий обмена в 1С, а 1С старая.

Проверка источника запроса включается сама при обновлениях Битрикса, или при обмене с новой 1С.

Модуль позволяет администратору отключить проверку для стандартного обмена с 1С.

Модуль позволяет отключить проверку постоянно, так, чтобы она не включалась обратно.

Магазин → Продвинутый обмен с 1С → Проверка источника запроса

Проверка источника запроса

Попробуйте отключить проверку источника запроса при обмене.

Проверка источника запроса Товары и заказы

Для выгрузки заказов в разные 1С (или в Битрикс24) мы рекомендуем использовать разные пути файлов. Так удобнее и не происходит путаницы при экспорте заказов.


0
 

 Отказоустойчивость |

Описание курса

| Ускорение сайта. Отложенный сброс управляемого кеша инфоблоков 

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Bitrix ошибка запрашиваемый путь отсутствует
  • Bitrix ошибка выбранного способа оплаты