2014-01-06 4 views
0

Я создал модуль под названием custom_views. Его каталог: sites/all/modules/custom_viewsМодуль Drupal 7 не отображается в списке

В каталоге есть два файла называются:

custom_views.info 

и

custom_views.module 

Вот код для файла .info:

; Custom views created by me 
name = Custom Views 
description = Module to allow custom view development 
package = Custom Views 
core = 7.x 
php = 5.2 

Здесь является кодом для файла .module:

<?php 
    function custom-views_views_default_views() { 
    $views = array(); 
    $path = drupal_get_path('module', 'custom_views') . '/views'; 
    $files = drupal_system_listing('.inc$', $path, 'name', 0); 
    foreach($files as $file) { 
    include_once $file->filename; 
    } 
return $views; 
} 
?> 

По какой-то причине она не позволит мне включить его в списке модулей, и я не могу понять, почему ... Я также попытался clearing my cache. У кого-нибудь есть идеи?

+1

Попробуйте custom_views_views_default_views() вместо custom-views_views_default_views() – Zolyboy

+0

Есть ли ошибки в журналах apache/php? – rooby

ответ

2

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

Дважды проверьте расположение модуля

Он должен находиться в одном из следующих папок

  • /сайты/все/модули/your_module
  • /sites/domain.com/modules/ your_module
  • /сайты/все/модули/your_module

Информационный файл

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

name = Custom Views 
description = Module to allow custom view development 
core = 7.x 

Указанная вами версия PHP является минимальной версией PHP, необходимой для запуска модуля. Звучит очевидно, но вы проверили, работаете ли вы> = 5.2

Проверьте права доступа к папке модуля и файл .info.

Когда Drupal ищет модули, он использует file_exists() в файле .info, который вернет false, если файл не существует, или он не может получить к нему доступ из-за разрешений или неправильного владения.

Право собственности на файл также имеет ключевое значение. Проверьте, что владелец информационного файла соответствует одному из модулей, который работает.

Кодирование

Некоторые кодирования может предотвратить файл .info считывании. UTF8 без спецификации обычно следует читать.

+0

Спасибо за долгое время. После первого взгляда я был уверен, что у вас есть что-то здесь, чтобы помочь в моей проблеме. К сожалению, я пробовал все ваши предложения, включая переписывание всего модуля, и ничего не работало. У тебя есть другие идеи? – scapegoat17

+0

Попробуйте удалить свой модуль обратно, чтобы завершить его. Просто папка и .info-файл. Кроме того, попробуйте переименовать свой модуль после того, как вы это попробовали - возможно, что он сталкивается с чем-то, возможно, с модулем или дополнительным модулем внутри другого модуля. –

+0

Как вы решили это в конце? –

1

Последующая документация здесь

https://drupal.org/node/1075072

, где вы видите, вы должны иметь свой хорошо написанный модуль даже без .module файла

получайте удовольствие!

+0

спасибо за помощь ... к сожалению, это мне не помогло. Я буду продолжать смотреть. Между тем, есть ли у вас какие-либо другие идеи? – scapegoat17

+0

проверьте журнал ошибок веб-сервера. Пример: tail -f/var/log/apache2/error * – augusto

+0

интересно, что говорит ваш журнал ... – augusto

0

Не уверен, что это поможет ваш модуль появится на странице модуля, но я думаю, что ваша функция должна быть вызвана custom_views_views_default_views(), а не на заказ-views_views_default_views()

т.е. подчеркивание не броситься в имени функции

Возможно, Drupal перечисляет только модули с хотя бы одной допустимой функцией

0

Поскольку вы пробовали все другие предлагаемые проблемы, попробуйте удалить закрывающий тег php.

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

Возможно, также могут возникнуть проблемы с другими файлами, которые вы включаете.

Что делать, если вы закомментируете функцию, которую вы используете в файле .module, и попробуйте установить ее. Если он работает, значит, у вас есть проблема в этой функции или в файлах, которые она включает.

Смежные вопросы