Интеграция галереи Coppermine в WordPress. Русская переработанная версия + инструкция по применению
Рассмотрим плагин . При написании этой статьи использовался Coppermine 1.4.13 и WordPress 2.2.3, Mysql 5.0.32, Php 5.2
Работа с галереей версии 1.3x не проверялась, но работать должно.
Краткая справка
- Единый вход(логин) в wordpress и галерею
- Загрузка картинок прямо из окна редактора в галерею
- Быстрая вставка отдельных картинок из галереи в запись
- Возможность группировки картинок
- Применение различных варианты перехода к картинкам и между ними в галерее и в записях
Внесенные мной изменения
В оригинальной сборке плагин содержал несколько недоработок и ошибок, особенно в работе с кодировкой UTF-8. Также выяснилось что сама база Coppermain хранится по умолчанию в “левой” кодировке. К сожалению, если у вас уже заполнена база галереи в “левой” кодировке то придется после модификации самой галереии еще и переименовывать все русские названия картинок/альбомов. Это встроенная недоработка галереи. Исправляется она добавлением одной строки в нужном файле. Ответ на этот вопрос был найден на форуме галереи. Также закрыто несколько “дыр” с сообщениями об ошибках при вызове файлов плагина без авторизации в блоге.
Порядок установки
Часть1. Корректируем кодировку галереи
Для начала нам требуется внести одну строку в файл вашей установки Coppermine чтобы он обрел способность нормально общаться с кодировкой UTF-8. Это нужно делать если у вас используется Mysql 4.1 и выше. Если у вас до сих пор Mysql 4.0 или 3.xx то вам ничего не поможет, кроме апгрейда сервера:
- Заходим в галерею в меню КОНФИГ и выставляем кодировку галереи UNICODE(Рекомендуется), если вы еще это не сделали.
- Переходим в папку установки галереи
- Находим файл \include\functions.inc.php и копируем его себе на компьютер
- Находим там приведенный код и вносим изменения
- добавляем тут строку 187 как на рисунке
function cpg_db_connect() { global $CONFIG; $result = @mysql_connect($CONFIG['dbserver'], $CONFIG['dbuser'], $CONFIG['dbpass']); if (!$result) { return false; } if (!mysql_select_db($CONFIG['dbname'])) return false; <strong><font size="4">mysql_query("SET NAMES 'utf8'",$result);</font></strong> return $result; }или посмотрите как на рисунке ниже
- Сохраняем файл и заливаем назад на сервер
- Если у вас уже была база в галерее, то все ваши русские названия придут в негодность. При новой установке галереи все пройдет гладко.
(К сожалению нормального способа конвертации из кракозябр в базе в нормальный вид я не нашел. Недавно столкнулся с этим при конвертации базы блога, но там было проще)
Часть 2. Устанавливаем плагин в wordpress
- Распаковываем архив плагина
- Копируем папку coppermine в папку плагинов вашего блога
- Копируем файлы из папки cpg/1.4x/ в папку где установлена галерея
- Переходим в панель администрирования WordPress ->Плагины
- Находим там в списке плагин Coppermine и не активируя его переходим по ссылке в описании плагина “Перейдите сюда для настройки”
- Там вводим данные для подключения и выставляем нужные настройки. Возле каждого пункта настроек есть значок“?” поясняющий что значит текущий пункт. Расписывать смысла особого нет, там все понятно интуитивно, если что можно понажимать на вопросики и почитать описания.
- По ссылке сверху страницы конфигурирования возвращаемся к странице плагинов и активируем его. После этого у нас в редакторе появится новая панель сверху окна
Часть 3. Возможность кастомизации вывода картинок и устранение возможных конфликтов
В файле плагина coppermine.php заложены две строки, редактируя которые можно добиться вывода по превьюшке/изображению разных действий
- Если вы используете плагин lightbox2 и вы хотите при клике по картинке переходить на страницу картинки в галерее, или воспользоваться всплывающим javascript окном, то вам нужно закомментировать строку 247 и раскомментировать строку 246
Найти ее вы можете по запросу
</em><em>return "<a style=\"background: transparent;\" class=\"cpg-link\" rel=\"lightbox[my]\" href=\"$href\">$html_img</a>";</em><em>
- Если вы хотите при клике по картинке открывать ПОЛНОРАЗМЕРНОЕ изображение, а не то что показывается на странице в галерее, то вам нужно закомментировать строку 1487 и раскомментировать строку 1486.
Найти ее вы можете по запросу
$uri = $cpg_uri.$image->filepath.$image->filename;
Тут есть одна хитрость. Если использовать дополнительный скрипт, то можно выводить изображение любого заданного размера(одна настройка для всех картинок) и накладывать логотип. В мою сборку плагина он уже вложен в архив copyright2.rar (Автор скрипта )
- По умолчанию в дистрибутиве лайтбокс разрешен и включен вывод полноразмерных картинок
- Кстати лайтбокс корректно работает если на странице представлено любое количество картинок. Работает переход вперед-назад. Причем если какая то картинка представлена на странице несколько раз, то при в лайтбоксе она повторяться не будет.
Часть 4. Рассмотрим подробнее работу с плагином
Панель вставки изображений
Она позволяет:
Включить последнюю загруженную фотографий одним нажатием кнопки.
Выбрать, как фотографии должны быть показаны.
Включить альбомы.
Загрузить фотографии в галерею Coppermine.
Выбрать фотографии из галереи.
Там же можно в выпадающих меню задать варианты вывода и местоположение для КАЖДОЙ картинки
Например этот полученный код выведет слева одну картинку, а справа другую
Вставка альбомов:
Необходимо раскрыть верхнюю панель через кнопку ГРУППЫ. появится еще одна панель, где можно выбрать параметры вывода картинок, задать количество картинок из альбома. Также в этом меню находится кнопка ГРУППА, позволяющая в один сплоченный блок объединить сколько угодно картинок, например чтобы разместить их в одной строке .
Это вставит в редактор такой код
Чтобы добавить картинки между этих тегов, надо поместить курсор между ними и уже затем щелкать по картинкам!
Если вам надо вставить между картинок или после них новую пустую строку то для этого в панеле сверху есть кнопка НОВАЯ СТРОКА, вставляющая тег [ newline ] (без пробелов). Конечно вы можете ввести его и вручную.
Если вы хотите вставить не самые последние загруженные картинки, или их нет в панели быстрой вставки картинок, то нажмите кнопку БОЛЬШЕ КАРТИНОК и кликая по картинкам из любых доступных альбомов, вы быстро вставите сколько угодно картинок.
Загрузка изображений в галерею. Вы можете это делать прямо из окна редактора, нажав на кнопку ЗАГРУЗИТЬ ФАЙЛЫ в панеле сверху.
Несколько примеров, полученных при выборе разных опций вставки
Позиционирование в тексте
l: слеваr: справаc: по центрунапримерБолее подробные варианты рассмотрены в оригинальной документации, включенной в архив плагина (файлы CHM). Также можно найти этот текст по
Скачать
Скачали 7908 раз
Данная версия плагина корректно работает с русским языком при условии что база галереи работает в правильной кодировке UTF-8
PS. Тему оформления галереи “под wordpress” этот плагин не делает, нужно взять из архива coppermine подходящую тему и внести в ней изменения в CSS и самом шаблоне.
Дополнительная информация
ошибку с кодировкой при использовании автономной базы галереи исправил – теперь не обязательно использовать общую базу с блогом
также выяснил проблему конфликта с плагином popularity contest – если вы пользуетесь этим плагином и таблицы галереи в базе отличной от базы вордпресса то в базе галереи достаточно скопировать через phpmyadmin таблицу ВАШПРЕФИКСВОРДПРЕССА_ak_popularity например экспортировав ее из базы блога и импортировав в базу галереи.
Возможно, если у вас есть какие то экзотические плагины, то возможно потребуется также скопировать таблицы, которые не будут найдены при отображении страницы блога.
Также можете у меня скачать уже исправленную версию самой галереи coppermain версии 1.4.13. Изменен там только 1 файл, про который идет речь выше
Демо-примеры работы плагина можно увидеть прямо здесь ниже
[thumb:358:l:s=1:l=d] включена тень, выравнивание слева, ссылка на полное изображение[newline]
[thumb:357:l:s=0:l=http://wordpress.org]выключена тень, выравнивание слева, ссылка на произвольный адрес(в данном случае ссылка на сайт вордпресса[newline]
[thumb:356:r:s=1:l=x] выравнивание справа, тень включена, без ссылок
Решение возможных проблемПри одновременном использовании плагинов coppermain integration и popularity contest может возникнуть следующая проблема:Если базы галереи и блога лежат в различных базах на одном сервере или на разных серверах, то в плагине popularity contest потребуется внести несколько изменения в коде, т.к. при интеграции галереи сайт работает сразу с двумя базами. И если не находится таблица wp_ak_popularity (где wp_ это префикс вашего блога) в базе галереи то на странице блога возникает ошибка. И даже если такую таблицу создать в базе галереи, то данные в нее записываться не будут, как не будут они записываться и в базе блога! Это я обнаружил через неделю эксплуатации. К счастью проблема решаема. Просматривая какой то форум обнаружил что эта проблема не нова и , НО автор написал несколько расплывчато и без примеров, поэтому я сидел и ломал голову что и как сделать, хотя идею понял почти сразу.Решение проблемы:Открываем файл popularity-contest.php и переходим к строкам 1492,1493 (в моей русской версии это там). Если у вас английская версия, то строки можно найти задав в поиске function akpc_init()в оригинале они выглядят так:
$wpdb->ak_popularity = $table_prefix.'ak_popularity'; $wpdb->ak_popularity_options = $table_prefix.'ak_popularity_options';
исправляем их на примерно такие:
$wpdb->ak_popularity = '<strong>bazawp</strong>.<em><strong>prefiks_</strong></em>ak_popularity'; $wpdb->ak_popularity_options = '<strong>bazawp</strong>.<em><strong>prefiks_</strong></em>ak_popularity_options';
где
bazawp – это имя вашей базы блога
prefiks_ – префикс таблиц блога
PS это решение проблемы поможет уже после активации плагина. иначе выдает ошибку при активации этого и других плагинов. надо копать
Рубрики: Wordpress Метки: Wordpress, галерея, плагин
Распечатать
Связанные записи
89 комментариев
Страницы: « 1 2 3 4 [5] Show All
Страницы: « 1 2 3 4 [5] Show All
Комментарии не по теме удаляются! Читайте реадми дистрибутива, комментарии выше и FAQ! Прежде чем задавать вопрос, прочитайте это. Научитесь ценить чужое время!


(голосов: 11, средний: 4.18 из 5)


21 марта 2008 в 0:40 (GMT+6)
вопрос из разряда: что лучше сыр или колбаса?
ДАННЫЙ ВОПРОС и ОТВЕТЫ БЫЛИ УЖЕ РАЗ ТАК …ЦАТЬ на ФОРУМАХ ПОДДЕРЖКИ
ЧИТАТЬ ЗДЕСЬ
21 марта 2008 в 23:59 (GMT+6)
Извеняюсь, не то скоприровал…я хотел бы повторить вопрос…
Lecactus, подскажите как убрать кракозябры в базы данных Coppermine Photo Gallery
Вы писали на одном форуме, что разобрались..
Заранее спасибо за ответ.
29 апреля 2008 в 16:15 (GMT+6)
А есть ли возможность голосовать (выставлять рейтинг) фотографиям в этой галерее?
29 апреля 2008 в 17:23 (GMT+6)
в коппермайне это есть. сходите на сайт галереи и изучите возможности
1 мая 2008 в 22:05 (GMT+6)
Подскажите пожалуйста..
Можно этой галереи прикрутить плагин shutter-reloaded от WP?
Как понял надо подгркзить в страничку галееи нужные скрипты и добавить ID в ссылку на полное изображение…
Поискал и поянл, что править надо themes.inc.php
$pic_html = "";
Но вот как туда засунуть ссылку на саму каринку а не на страницу… Подскажите кто занет;) С PHP у меня плохо(…
29 июня 2008 в 19:35 (GMT+6)
я скачал все файлы именно из этого поста по ссылке- и такая же ошибка..
24 августа 2008 в 20:02 (GMT+6)
Может я где то что то пропустил, если так, то сразу прошу прощения, но вот вопрос – необходима галерея, как на этом сайте (), при нажатии на фото – оно открывается в новом окне самого сайта, а не как обычно. Буду рад, если подскажете где такую найти
16 сентября 2008 в 19:31 (GMT+6)
Кактус привет, ведь проблема о которой пишут люди здесь актуальна до сих пор. Имею ввиду вот это
Подключение к базе данных было успешным, но таблицы Coppermine не были найдены. Возможно вы ввели некорректный префикс таблиц. Это обычно что то вроде “cpg133_” или “cpg14x_”.
Подключение к базе данных не используется совместно с WordPress.
скачанные здесь инсталяции такое делают, ну в оригинальных – проблема с русскими названиями, так что без вариантов
помогай
16 сентября 2008 в 21:56 (GMT+6)
@Max: все вышеописанное было актуально для версии вп и галереи на момент написания поста. с тех пор много воды утекло. я галереей не пользуюсь сейчас вообще и проблемой новых версий не задавался. просто физически нет на все времени. если кому то нужно могу персонально потратить пару дней покопаться разобраться есть ли там проблема вообще и как можно решить. за разумную компенсацию естественно. я даже в выходные работаю. не дают отдыхать…
17 сентября 2008 в 12:47 (GMT+6)
Я понял, ок, разобрался сам, рассказываю.
Избавляемся от ошибок про префиксы и проблемы с русской кодировкой галереии в вордпресе.
Для начала качаем последние версии галереи и плагина для вордпреса. Устанавливаем галерею, подправляем файлик \include\functions.inc.php так как объяснял Кактус. Устанавливаем плагин для вордпреса. Дальше в нем поправим чуть файлик wp-content\plugins\coppermine\coppermine.php а именно нам мешает функция function cpg_recode(), у меня это примерно 609 строчка. Функция эта хер пойми что делает, строки в ней мы просто или удалим или закоментируем, кому как нравится. Т. е. получим такое
function cpg_recode(&$str)
{
if (empty($str)) {return ”;}
return $str;
} а было строчек 30 наверно
ну вот и всё, всё красиво всё работает
19 декабря 2008 в 23:47 (GMT+6)
в 2.7 нифига не пашет
20 декабря 2008 в 0:05 (GMT+6)
Masya, зато в 2.7 пашет интеграция с галлери2 :) на сайте моего кота работает давно и после апдейта продолжает работать с обновленным плагином
20 декабря 2008 в 0:12 (GMT+6)
у меня тоже пашет но я хотел с нее перейти на коппермайн – иззза этого плагина у меня еррор 500
15 февраля 2009 в 23:59 (GMT+6)
Подскажите пожалуйста, а на сегодняшний момент, какую можно галлерею поставить и использовать в интеграции с wp?
НА сайт bee-keeper.org.ua – очень нужна галлерея… ищу… пожалуйста помогите!
16 февраля 2009 в 0:10 (GMT+6)
Bee, плагин nextgen gallery либо gallery2+плагин wpg2.
16 февраля 2009 в 0:32 (GMT+6)
Lecactus, спасибо за ответ. Скажите, опыт работы с какой-либо из них, есть у Вас? Меня интересует, какую-бы можно взять из этих двух?
Задачи таковы:
много фото и много категорий с подкатегориями.
Желательна возможность полной интеграции с wp, так же вывод "случайного фото" на главной… виджет совместимая, или с несложной инеграцией (без влезания в базу данных… по крайней мере…)
16 февраля 2009 в 0:36 (GMT+6)
интегируется полностью все и вполне легко без шаманства просто надо ответить на вопросы мастера настройки. выводит что угодно где угодно, можно фотки из галерей и галереи полностью вставлять в посты, в виджеты сайдбара выводить разными способами и т.д. почитайте документацию по плагину и самой галерее. сама галерея на русском. плагин на английском но там все понятно
5 ноября 2009 в 11:11 (GMT+6)
Подскажите пожалуйста, как сделать тень под каждой картинкой как на Вашем сайте?
Спасибо!
5 ноября 2009 в 13:39 (GMT+6)
2Светланка – это вообще к галерее не имеет отношения – поищите по словам CAPTION в стандартной теме WP в стилях – поймете что это такое – обсуждалось уже.
5 ноября 2009 в 15:28 (GMT+6)
Спасибо Lecactus :о) !!!