Есть некоторая проблема, решение которой я еще не нашел.
Существует сайт - Фэнтези Портал - с большим количеством галерей сделаных с помощью модуля Node Gallery 6.x-1.0-alpha8, последняя версия галереи из ветки 1.0. На сегодняшний день возникла следующая проблема:
Вышла новая версия модуля ImageCache 6.x-2.0-beta10 и моя версия галерей перестает работать, как только я обновляю версию imagecache c 6.x-2.0-beta9 на 6.x-2.0-beta10(все фотографии и картинки пропадают...). При обновлении node_gallery до последней версии, на сегодняшний день это 6.x-2.0-alpha10, у меня теряются все галереи сделаные на Node Gallery 6.x-1.0-alpha8, новая версия их просто не видит...
На сколько я понимаю проблему можно решить двумя способами:
1. Обновить Node Gallery до версии 6.x-2.0-alpha10 и каким-то образом внеси исправления в базу данных, чтобы новая версия галерей увидела галереи от старой версии. (есть решения?)
2. Научить Node Gallery 6.x-1.0-alpha8 работать с ImageCache 6.x-2.0-beta10... (есть решения?)
Кто-нибудь находил решение данной проблемы?
Может кто-нибудь сможет помочь разобраться с данной ситуацией?
Комментарии
У меня нормально работает сайт на Node Gallery 6.x-1.0-alpha8 и ImageCache 6.x-2.0-beta10(не помню чтобы были проблемы).
При обновлении Node Gallery действительно были проблемы и мне пришлось удалить старые альбомы(мне это было проще сделать, тк сайт еще до сих пор делаю). Так же придется править верстку, в новой версии другая обвязка.
А у меня все картинки пропадают, галареи остаются, картинки пропадают, как только ставлю ImageCache 6.x-2.0-beta10.
Локализовал проблему, если название галереи на русском языке, картинки не показываются, если на английском, все работает ImageCache 6.x-2.0-beta10 перестала понимать русский?
Углубился еще дальше, проблема в работе imagecache с модулем transliteration, если выключаю модуль, все работает хорошо, но пути до картинки русские... Если включаю модуль transliteration, imagecache не создаёт пресеты... Вот такая вот бида, отправил баг репорт на drupal.org.
И все же, решение по обновлению Node Gallery с 1.0 на 2.0 уже есть или будет?
Вот решение нашлось, опубликовано было только на буржуйском сайте...
http://drupal.org/node/597942#comment-2788876
0. Сделайте полный бакап базы данных и файлов!
1. Зайдите в админку -> управление модулями
2. Отключите модули imagecache и node gallery
3. Удалите старые файлы модулей из папки /site/all/modules (папки node_gallery и imagecache)
4. Скопируйте новые версии модулей node_gallery и imagecache в вашу папку модулей/site/all/modules
5. Зайдите в админку-> управление модулями и включите модули imagechache и node gallery.
6. Создайте в базе данных mysql таблицу drupal_node_galleries или (node_galleries , в зависимости от префикса в настройках drupal):
SQL запрос создания таблицы:
`gid` int(10) unsigned NOT NULL default '0',
`nid` int(10) unsigned NOT NULL default '0',
`fid` int(10) unsigned NOT NULL default '0',
`weight` smallint(6) default '0',
`is_cover` tinyint(4) NOT NULL default '0',
PRIMARY KEY (`nid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8
7. скопируйте все записи из таблицы drupal_ng_images (или ng_images в зависимости от префикса в настройках друпала)в таблицу drupal_node_galleries(node_galleries).
8. Запустите скрипт update.php (Его исполнение закончится с не критическими ошибками и удалит вашу старую "Gallery Relationship" )
9. Зайдите в админку - Node gallery - "Add a Gallery Relationship" с именем вашей старой Node Gallery Relationship.
Если у вас небыло галерей с русскими названиями или у вас не было модуля transliterate, на этом ваши мучения закончились, все должно работать. Удачи.
Ну а если у вас все же были галереи с русскими именами и у вас был установлен модуль transliterate, вам прийдется переименовать все файлы изображений в /sites/default/files/ и имена файлов в таблице drupal_files в поле filepath. Старая версия imagecache 6.x-2.0-beta9 не работает с модулем transliterate...
Вот такие пироги
В принципе есть скрипт, который транслитерирует имена файлов на файловой системе и имена файлов в поле базы данных автоматически, но я за него заплатил денег Могу поделится за умеренную плату.