Поиск по моему блогу

Интеграция галереи Coppermine в Wordpress. Русская переработанная версия + инструкция по применению

WordPressImage via Wikipedia
coppermine_wp_1
Рассмотрим плагин Coppermine integration 4.0 для 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;
mysql_query("SET NAMES 'utf8'",$result);
return $result;
}   
или посмотрите как на рисунке ниже
coppermian.png
  • Сохраняем файл и заливаем назад на сервер
  • Если у вас уже была база в галерее, то все ваши русские названия придут в негодность. При новой установке галереи все пройдет гладко.
(К сожалению нормального способа конвертации из кракозябр в базе в нормальный вид я не нашел. Недавно столкнулся с этим при конвертации базы блога, но там было проще)
Часть 2. Устанавливаем плагин в wordpress
  • Распаковываем архив плагина
  • Копируем папку coppermine в папку плагинов вашего блога
  • Копируем файлы из папки cpg/1.4x/ в папку где установлена галерея
  • Переходим в панель администрирования Wordpress ->Плагины
  • Находим там в списке плагин Coppermine и не активируя его переходим по ссылке в описании плагина “Перейдите сюда для настройки”
  • Там вводим данные для подключения и выставляем нужные настройки. Возле каждого пункта настроек есть значок“?” поясняющий что значит текущий пункт. Расписывать смысла особого нет, там все понятно интуитивно, если что можно понажимать на вопросики и почитать описания.
  • По ссылке сверху страницы конфигурирования возвращаемся к странице плагинов и активируем его. После этого у нас в редакторе появится новая панель сверху окна
Часть 3. Возможность кастомизации вывода картинок и устранение возможных конфликтов
В файле плагина coppermine.php заложены две строки, редактируя которые можно добиться вывода по превьюшке/изображению разных действий
  • Если вы используете плагин lightbox2 и вы хотите при клике по картинке переходить на страницу картинки в галерее, или воспользоваться всплывающим javascript окном, то вам нужно закомментировать строку 247 и раскомментировать строку 246
Найти ее вы можете по запросу
return "$html_img";   
  • Если вы хотите при клике по картинке открывать ПОЛНОРАЗМЕРНОЕ изображение, а не то что показывается на странице в галерее, то вам нужно закомментировать строку 1487 и раскомментировать строку 1486.
Найти ее вы можете по запросу
$uri = $cpg_uri.$image->filepath.$image->filename;   
Тут есть одна хитрость. Если использовать дополнительный скрипт, то можно выводить изображение любого заданного размера(одна настройка для всех картинок) и накладывать логотип. В мою сборку плагина он уже вложен в архив copyright2.rar (Автор скрипта Сергей Коробейников)
  • По умолчанию в дистрибутиве лайтбокс разрешен и включен вывод полноразмерных картинок
  • Кстати лайтбокс корректно работает если на странице представлено любое количество картинок. Работает переход вперед-назад. Причем если какая то картинка представлена на странице несколько раз, то при в лайтбоксе она повторяться не будет.
Часть 4. Рассмотрим подробнее работу с плагином
Панель вставки изображений
coppermine_wp_4
Она позволяет:
Включить последнюю загруженную фотографий одним нажатием кнопки.
Выбрать, как фотографии должны быть показаны.
Включить альбомы.
Загрузить фотографии в галерею Coppermine.
Выбрать фотографии из галереи.
Там же можно в выпадающих меню задать варианты вывода и местоположение для КАЖДОЙ картинки
Например этот полученный код выведет слева одну картинку, а справа другую
coppermine_wp_8
Вставка альбомов:
Необходимо раскрыть верхнюю панель через кнопку ГРУППЫ. появится еще одна панель, где можно выбрать параметры вывода картинок, задать количество картинок из альбома. Также в этом меню находится кнопка ГРУППА, позволяющая в один сплоченный блок объединить сколько угодно картинок, например чтобы разместить их в одной строке .
Это вставит в редактор такой код
coppermine_wp_9
Чтобы добавить картинки между этих тегов, надо поместить курсор между ними и уже затем щелкать по картинкам!
Если вам надо вставить между картинок или после них новую пустую строку то для этого в панеле сверху есть кнопка НОВАЯ СТРОКА, вставляющая тег [ newline ] (без пробелов). Конечно вы можете ввести его и вручную.
Если вы хотите вставить не самые последние загруженные картинки, или их нет в панели быстрой вставки картинок, то нажмите кнопку БОЛЬШЕ КАРТИНОК и кликая по картинкам из любых доступных альбомов, вы быстро вставите сколько угодно картинок.
coppermine_wp_3
Загрузка изображений в галерею. Вы можете это делать прямо из окна редактора, нажав на кнопку ЗАГРУЗИТЬ ФАЙЛЫ в панеле сверху.
Несколько примеров, полученных при выборе разных опций вставки
coppermine_wp_6
coppermine_wp_5
это образец работы строки coppermine_wp_11
Позиционирование в тексте

  • l: слева

  • r: справа

  • c: по центрунапримерcoppermine_wp_7 показывает картинку 23 по центруИспользование картинок в шаблонеВставка кода в sidebar.php будет показывать случайные картинки
    coppermine_wp_10
    Более подробные варианты рассмотрены в оригинальной документации, включенной в архив плагина (файлы CHM). Также можно найти этот текст по ссылке
    Скачать
    Скачали 7581 раз
    Данная версия плагина корректно работает с русским языком при условии что база галереи работает в правильной кодировке 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 = 'bazawp.prefiks_ak_popularity';
    $wpdb->ak_popularity_options = 'bazawp.prefiks_ak_popularity_options';   
    где
    bazawp – это имя вашей базы блога
    prefiks_ – префикс таблиц блога
    PS это решение проблемы поможет уже после активации плагина. иначе выдает ошибку при активации этого и других плагинов. надо копать

  • Reblog this post [with Zemanta]

    Реклама от BigBN