Jump to main content Jump to doc navigation

Что такое пространства имен?

Пространства имен являются организационными элементами для компонентов. Они связывают лексиконные строки и пакеты друг с другом, а также предоставляют Revolution основной способ узнать, какие объекты принадлежат какому пакету.

Использование

Revolution использует пути к пространствам имен, чтобы определить, куда загружать файлы компонентов сторонних производителей для пользовательских страниц менеджера, а также управлять строками пользовательских языков для этих компонентов сторонних производителей.

Например, если пространство имен с именем «quip» имеет путь «/www/modx/core/components/quip/», то когда CMP загружается из Action со значением на контроллере из "index", он будет искать файл контроллера индекса в пути к пространству имен, то есть: "/www/modx/core/components/quip/index.php". Затем он будет загружен вместо пользовательской страницы менеджера. Полезное значение для контроллера в действии - «controllers/index», так что вы можете указать его на «/www/modx/core/components/quip/controllers/index.php» (что является стандартной практикой для путей для дополнения в MODX).

Лексиконы в пространствах имен

Пространства имен могут быть использованы для выделения лексиконов и тем лексиконов. Например, при загрузке лексикона вы можете указать пространство имен темы перед именем темы с двоеточием. Например, чтобы загрузить тему «comment» для пространства имен «quip»:

$modx->lexicon->load('quip:comment');

Предполагая, что мы используем английский язык, система будет искать файл lexicon/en/comment.inc.php в пути пространства имен для Quip. Это позволяет динамически загружать темы Lexicon в соответствии с путем к пространству имен, а не требовать помещения файлов тем в основные каталоги MODX.