Вопросы и ответы по разработке CMP
Последнее обновление May 5th, 2019 | История страницы | Улучшить эту страницу | Сообщить о проблеме
Support the team building MODX with a monthly donation.
The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.
Backers
Budget
$301 per month—let's make that $500!
Learn moreНа этой странице рассматриваются часто задаваемые вопросы и советы по устранению неполадок на страницах CMP.
Нумерация вопросов представляет собой просто число, указывающее, на какой вопрос вы смотрите, чтобы помочь при просмотре.
Это временная версия документации, и вы можете использовать ее для завершения! Если у вас нет доступа для редактирования этой страницы, пожалуйста, опубликуйте добавление или обновление в этой теме на форумах.
Этот документ всегда будет в процессе разработки, так как новые функции будут добавлены/изменены. Вы можете помочь содержать его в актуальном виде! Если у вас нет доступа для редактирования этой страницы, пожалуйста, опубликуйте добавление или обновление в этой теме на форумах.
Для редакторов:
- Пожалуйста, используйте правильные заголовки (заголовок 2 для категорий, заголовок 3 для вопросов), чтобы убедиться, что оглавление и пр. сформированы правильно и имеют смысл.
- Большие темы могут быть созданы в качестве подстраницы к этой странице. Если другие страницы уже существуют в этих документах, пожалуйста, сделайте ссылку на них в первом разделе.
- Пожалуйста, убедитесь, что нумерация верна, когда вы добавляете вопрос, чтобы облегчить чтение страницы.
- Убедитесь, что вы предлагаете много ссылок на дальнейшее чтение по теме.
Спасибо!
Другие источники:
- Документация по ExtJS 3.4.0
- Пользовательские страницы менеджера
- Разработка дополнения в MODX Revolution (в частности, часть 2)
1. Общая информация¶
1.1. Что такое коннекторы и процессоры? А что такое контроллер?¶
Коннектор - это php-файл, доступный через Интернет, который служит целевой точкой для внутренних запросов AJAX. Он принимает запрос POST и направляет его в нужный процессор (как указано в сообщении «action» или параметре url), который выполняет фактическую работу по обработке сообщения (который был добавлен в $scriptProperties переменной коннектора) и возвращает массив JSON с результатами запроса.
Контроллер - это файл, который возвращает HTML разметку, а также вставляет JavaScript и CSS во внутреннюю страницу.
Типичные местоположения внутри компонента:
- Коннектор: assets/components/mycomponent/connector.php or assets/components/mycomponent/mgr/connector.php
- Процессор: core/components/mycomponent/processors/mgr/processorname.php
- Контроллер: core/components/mycomponent/controllers/controllername.php
1.2. Зачем мне все эти штуки в моей странице? Разве я не могу просто отобразить некоторые значения в моем контроллере и собрать что-нибудь оттуда?¶
Конечно, вы можете сделать это тоже, если хотите.
Однако рекомендуется использовать разные части, чтобы быть уверенным в том, что вы можете легко развернуть их в других установках (поскольку все они будут предполагать наличие файлов в этом конкретном месте). Это также позволяет пользователям перемещать основную папку MODX из корневого каталога, доступного через Интернет, что повышает безопасность системы.
1.3. Какую версию ExtJS использует MODX Revolution? Когда MODX Revolution обновится до ExtJS 4.0?¶
Версия MODX | Версия ExtJS |
---|---|
2.1.2-пл | 3.4.0 |
2.1.0-rc1 | 3.3.1 |
2.0.4-пл | 3.3.0 |
2.0.0-RC2 | 3.2.1 |
Маловероятно, что MODX начнет использовать ExtJS 4 до версии 2.3/2.4 или 3.0. Если вы настаиваете на использовании ExtJS 4.0, вы всегда можете самостоятельно начать процесс миграции папки manager/assets/modext/.
1.4. Могу ли я использовать виджеты ExtJS, которые MODX использует в менеджере, в моем собственном CMP?¶
Да - к тому же, это также сохраняет код.
Убедитесь, что вы тестировали свой код в различных релизах MODX, поскольку основной код подвержен изменениям, которые могут нарушить вашу реализацию.
2. Устранение неполадок ExtJS / modExt¶
2.1. Ошибка: синтаксическая ошибка: неожиданный токен '<' в ext-all.js Строка 7¶
После инициирования запроса AJAX к коннектору/процессору при получении эта ошибка обычно означает, что ответ, который был возвращен, недействителен.
Часто это вызвано фатальной ошибкой PHP в коде процессора. Изучите исходящий запрос с помощью Firebug или Developer Tools, чтобы увидеть, что он возвращает и где ошибка в PHP.
2.2. Почему моя сетка отправляет два запроса, когда я обновляю его /changePage/filter?¶
Это было вызвано устаревшей ошибкой, исправленной для MODX 2.2-rc1. Если вы по-прежнему испытываете ряд ненужных запросов, убедитесь, что у вас нет прослушивателей, вызывающих другое обновление/загрузку, changePage(0) и refresh() или иным образом, явно вызывающим запрос дважды.
Support the team building MODX with a monthly donation.
The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.
Backers
Budget
$301 per month—let's make that $500!
Learn more