Сколько не пиши куда правильно класть модули, всегда найдутся юзвери, которые положат их в /modules
.
Для Drupal 6 есть два способа перенести модули из одной папки в другую.
Способ 1
- Выключить все контриб модули.
- Перенести папки модулей.
- Включить нужные контриб модули.
Способ 2
- Переместить папки модулей.
- Создать в корне друпала файл
update-path.php
с содержимым:
<?php define('DRUPAL_ROOT', getcwd()); require_once DRUPAL_ROOT . '/includes/bootstrap.inc'; drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL); $old_path = 'modules'; // старый путь $new_path = 'sites/all/modules'; // новый путь $modules = scandir(DRUPAL_ROOT . '/' . $new_path); foreach ($modules as $module) { if ($module == '.' || $module == '..') { continue; } db_query(" UPDATE {system} SET filename = REPLACE(filename, '$old_path/$module/', '$new_path/$module/') WHERE filename LIKE '$old_path/$module/%' "); echo 'Path for ' . $module . ' updated<br />'; } drupal_flush_all_caches();
- Открыть в браузере
http://your-domain/update-path.php
- Удалить файл
update-path.php
.
Для Drupal 7 достаточно перенести папки модулей и очистить кэш.
Написанное актуально для
Drupal 6, Drupal 7
Похожие записи
- Вставка в CKEditor видео из ВКонтакте и Rutube (расширение модуля CKEditor 5 Media Embed)
- Как из PhpStorm выполнить тест(ы)
- Как работает опция "Aggregation type" в настройках полей Views при включённой агрегации
- Создание сравнительной таблицы с значениями из EAV Field
- Препроцессинг настроек форматтера перед сохранением
Комментарии
Как всегда, коротко и толково!
Наверно не выключить, а деинсталлировать?
Как на счёт 7-ки?
если деинсталлировать, то пропадут все данные
обновил код под семёрку
А как насчёт реестра классов? Он обновится по второму способу?
кэш надо будет сбросить
для 7-ки никаких запростов к базе не нужно (я не права?)
нужно конечно
_system_rebuild_module_data()
не сделает это сам? (ты вызываешь неявно через drupal_flush_all_caches())Протестила, вызова
registry_rebuild()
достаточно, чтобы всё обновилось. а ты его вызываешь с помощьюdrupal_flush_all_caches()
.супер :)
а подскажите, как перенести тему оформления из папки themes/ в нужную. Делал по этому же принципу - не сработало.
Для 7 не всё так просто. Основную массу модулей перенёс (из sites/домен.ru/modules в sites/all/modules) без проблем, но entity, rules и views_slideshow не получается - сайт перестаёт отвечать. Подскажите, пожалуйста, как решить этот вопрос без выключения-включения модулей.
Кирилл,
http://drupal.org/project/registry_rebuild
Должно быть у каждого друпалера.
kalabro - не со всеми модулями. Rules и Entity не получается так просто перенести.
У меня получалось только c "rr" и "cc all". Возможно, у меня были какие-то особенные Rules и Entity. В любом случае всегда можно выключить и включить проблемные модули.
Добавить комментарий