Какие расширения используются в модуле и что они означают?

Я полагаю, что где-то есть страница drupal, объясняющая это, но я не могу ее найти.

При создании модуля у вас могут быть файлы, заканчивающиеся на .module, .info , .inc и т. д.

Какие расширения файлов распознаются и что они делают?


Расширения, которые специфичными для Drupal или имеющими особое значение в Drupal, являются следующие:

  • Расширение .api.php используется для файл, описывающий перехватчики, используемые модулем, например system.api.php.
  • Расширение .install используется для файла, который используется, когда установлен модуль, например system.install. Он также загружается, когда Drupal проверяет требования, необходимые для модуля.
  • Расширение .inc используется для любого вторичного файла, содержащего только загружаемый код. когда необходимо. Если код используется в определенных случаях, например, когда вызывается определенный обратный вызов меню, то код перемещается в отдельный файл .inc. Часто вы найдете модули, использующие файл с расширением .admin.inc (например, node.admin.inc), который включает весь код, необходимый для запуска административного интерфейса, и файл с .pages.inc расширение (например, node.pages.inc), которое содержит код, выполняемый для других обратных вызовов меню. Если модуль реализует токены, в Drupal 7 вы найдете файлы с расширением .tokens.inc (например, user.token.inc); это файлы, в которых ищутся реализации hook_token_info () и hook_tokens () (см. system_hook_info ()).
  • Используется расширение .info для файла, описывающего модуль или тему, например system.info. Он содержит метаданные, такие как требуемая версия Drupal, минимальная версия PHP, с которой совместим модуль/тема, и другую информацию, относящуюся к модулю или теме.
  • .module используется для основного файла модуля, такого как system.module.
  • Расширение .test используется для файлы, содержащие тестовый код (например, system.test), который на самом деле выполняется на платформе SimpleTest.
  • Расширение .theme использовалось из тем, не использующих PHPTemplate шаблонизатор. В Drupal 6 (и ранее) расширение использовалось из файла chameleon.theme; в Drupal 7 нет тем, использующих это расширение.
  • Расширение .tpl.php используется для файлов шаблонов, используемых из функций темы, таких как node.tpl.php.

Сторонние модули могут использовать определенные расширения, например следующие:

  • The. Расширение views_default.inc используется для файлов (например, node.views_default.inc), содержащих код для реализации представлений по умолчанию, используемых из модуля, который интегрируется с модулем Views.
  • .views_template.inc используется для файлов (например, узел. views_template.inc), содержащий код для шаблонов представлений.
  • Расширение .rules.inc используется для файлов, содержащих код для интеграции с модулем Rule.

Быстрый поиск в Google «написание модулей drupal» вернул следующие руководства для разработчиков:

  • Создание модулей Drupal 6.x

  • Создание модулей Drupal 7.x

Существует также проект «Примеры для разработчиков», который дает много информации о написании модулей, передовых методах и т. д. У него также есть версии для нескольких выпусков Drupal.

Что касается файлов .inc, документация для module_load_include () объясняет, как Drupal включает их в модули. По сути, это способ Drupal разбить модули на более управляемые части. В противном случае сложный модуль может иметь гигантский файл .module.

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

Если скринкасты более полезны, вы можете проверить свой первый модуль — В основном безболезненное введение в разработку Drupal и щелкните ссылку скринкаста.

У Боба на http://mustardseedmedia.com/podcast также есть несколько отличных подкастов; большинство из них — D6, но он все больше и больше погружается в D7.

5


Модуль содержит в основном 3 файла imp

  1. Элемент списка- .info файл -> файл, содержащий информацию о модуле d, например имя версия и т. д.
  2. Элемент списка- .module файл -> файл, описывающий, как работает модуль.
  3. Элемент списка- .install файл -> этот файл запускать в первый раз, когда модуль настроен. Это в основном для создания таблиц базы данных и соответствующих полей, этот файл необходимо обновить, если мы изменим версию модуля.


Как мне создать расширение C в качестве подмодуля основного модуля расширения C с помощью distutils?

У меня есть два файла , module.c и submodule.c .

У меня есть следующие код в setup.py:

 из настройки импорта distutils.core, Extensionmodule = Extension ('module', sources = ['module.c']) submodule = Extension ('  submodule ', sources = [' submodule.c ']) setup (name =' module ', version =' 0.1 ', description =' модуль, который делает что-то ', ext_modules = [module, submodule])  

Я создаю его, как показано ниже:

  $ DISTUTILS_DEBUG = 1 установка python3. py build  

В оболочке python, когда я делаю следующее:

 >>> import module # работает >>>  из подмодуля импорта модуля # это должно работать ... ImportError: невозможно импортировать имя 'подмодуль' из 'модуля' (/home/username/Projects/module/build/lib.linux-x86_64-3.8/module.cpython-38-x86_64  -linux-gnu.so) >>> import module.submodule # это должно работать? ... ModuleNotFoundError: Нет модуля с именем 'module.submodule';  'module' не является пакетом >>> import submodule # Это не должно работать ... ImportError: динамический модуль не определяет функцию экспорта модуля (PyInit_submodule)  

Обратите внимание, что в В последнем случае ( import submodule ) моя функция PyInit была названа PyInit_module_submodule () , что привело к вызову ImportError . Если я изменю его на PyInit_submodule () , тогда import submodule будет работать.

У меня, вероятно, есть фундаментальное непонимание того, как модули работают на Python, поэтому приветствуется любая помощь.

Оцените статью
clickpad.ru
Добавить комментарий