Hostenko — лучший WordPress-хостинг

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

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;
<strong><font size="4">mysql_query("SET NAMES 'utf8'",$result);</font></strong>
return $result;
}   

или посмотрите как на рисунке ниже

coppermian.png

  • Сохраняем файл и заливаем назад на сервер
  • Если у вас уже была база в галерее, то все ваши русские названия придут в негодность. При новой установке галереи все пройдет гладко.

(К сожалению нормального способа конвертации из кракозябр в базе в нормальный вид я не нашел. Недавно столкнулся с этим при конвертации базы блога, но там было проще)

Часть 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_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). Также можно найти этот текст по ссылке

    Скачать

    ZIP
    Русская версия

    Скачали 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 это решение проблемы поможет уже после активации плагина. иначе выдает ошибку при активации этого и других плагинов. надо копать

  • Связанные записи

    89 комментариев

    Страницы: « 1 2 3 4 [5] Show All

    1. 70 Lecactus 21 марта 2008 в 0:40 (GMT+6)

      Привет! :)
      мне хотелось узнать у тебя как прикрутить к wordpress’y галерею ( и какая при этом лучше на твой взгляд) и как в ней организовать такие же превьюшки как у тебя на сайте?

      вопрос из разряда: что лучше сыр или колбаса?
      ДАННЫЙ ВОПРОС и ОТВЕТЫ БЫЛИ УЖЕ РАЗ ТАК …ЦАТЬ на ФОРУМАХ ПОДДЕРЖКИ
      ЧИТАТЬ ЗДЕСЬ


    2. 71 Виктор 21 марта 2008 в 23:59 (GMT+6)

      Извеняюсь, не то скоприровал…я хотел бы повторить вопрос…
      Lecactus, подскажите как убрать кракозябры в базы данных Coppermine Photo Gallery
      Вы писали на одном форуме, что разобрались..
      Заранее спасибо за ответ.


    3. 72 Mikser 29 апреля 2008 в 16:15 (GMT+6)

      А есть ли возможность голосовать (выставлять рейтинг) фотографиям в этой галерее?


    4. 73 Lecactus 29 апреля 2008 в 17:23 (GMT+6)

      А есть ли возможность голосовать (выставлять рейтинг) фотографиям в этой галерее?

      в коппермайне это есть. сходите на сайт галереи и изучите возможности


    5. 74 SidexQX 1 мая 2008 в 22:05 (GMT+6)

      Подскажите пожалуйста..
      Можно этой галереи прикрутить плагин shutter-reloaded от WP?
      Как понял надо подгркзить в страничку галееи нужные скрипты и добавить ID в ссылку на полное изображение…
      Поискал и поянл, что править надо themes.inc.php
      $pic_html = "";

      Но вот как туда засунуть ссылку на саму каринку а не на страницу… Подскажите кто занет;) С PHP у меня плохо(…


    6. 75 Димитрий 29 июня 2008 в 19:35 (GMT+6)

      Абсолютно такая-же БЕДА, все возможные варианты префиксов пробовал, однако настройщик плагина к базе не коннектится. Вернее, ЕСЛИ ВЕРИТЬ комментариям, он базу видит но таблицы копермайна не воспринимает :-(

      Как видно из предидущих комментов эта проблема появляется почти-что у каждого втрого человека воспользовавшегося переведенным вами плагином.

      Очень хочется надеяться на то что ошибка не фатальна. Если вам удастся найти “лекарство” от этого бага, пожалуйста поведайте нам об этом.

      работа проверена только с версией галереи, озвученной в посте, а те кто кричал что НЕ РАБОТАЕТ обычно не задавались этим вопросом. Если кто то проспонсирует изискания с новыми версиями, то я буду заниматься этим. Сам никакими галереями тут сейчас временно непользуюсь

      я скачал все файлы именно из этого поста по ссылке- и такая же ошибка..


    7. 76 Евгений 24 августа 2008 в 20:02 (GMT+6)

      Может я где то что то пропустил, если так, то сразу прошу прощения, но вот вопрос – необходима галерея, как на этом сайте (http://www.celebridiot.com/2008/04/19/mariah-carey-picture-gallery/), при нажатии на фото – оно открывается в новом окне самого сайта, а не как обычно. Буду рад, если подскажете где такую найти


    8. 77 Max 16 сентября 2008 в 19:31 (GMT+6)

      Кактус привет, ведь проблема о которой пишут люди здесь актуальна до сих пор. Имею ввиду вот это
      Подключение к базе данных было успешным, но таблицы Coppermine не были найдены. Возможно вы ввели некорректный префикс таблиц. Это обычно что то вроде “cpg133_” или “cpg14x_”.
      Подключение к базе данных не используется совместно с WordPress.
      скачанные здесь инсталяции такое делают, ну в оригинальных – проблема с русскими названиями, так что без вариантов
      помогай


    9. 78 Lecactus 16 сентября 2008 в 21:56 (GMT+6)

      @Max: все вышеописанное было актуально для версии вп и галереи на момент написания поста. с тех пор много воды утекло. я галереей не пользуюсь сейчас вообще и проблемой новых версий не задавался. просто физически нет на все времени. если кому то нужно могу персонально потратить пару дней покопаться разобраться есть ли там проблема вообще и как можно решить. за разумную компенсацию естественно. я даже в выходные работаю. не дают отдыхать…


    10. 79 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 наверно
      ну вот и всё, всё красиво всё работает


    11. 80 Masya 19 декабря 2008 в 23:47 (GMT+6)

      в 2.7 нифига не пашет


    12. 81 Lecactus 20 декабря 2008 в 0:05 (GMT+6)

      Masya, зато в 2.7 пашет интеграция с галлери2 :) на сайте моего кота работает давно и после апдейта продолжает работать с обновленным плагином


    13. 82 Masya 20 декабря 2008 в 0:12 (GMT+6)

      у меня тоже пашет но я хотел с нее перейти на коппермайн – иззза этого плагина у меня еррор 500


    14. 83 Bee 15 февраля 2009 в 23:59 (GMT+6)

      Подскажите пожалуйста, а на сегодняшний момент, какую можно галлерею поставить и использовать в интеграции с wp?

      НА сайт bee-keeper.org.ua – очень нужна галлерея… ищу… пожалуйста помогите!


    15. 84 Lecactus 16 февраля 2009 в 0:10 (GMT+6)

      Bee, плагин nextgen gallery либо gallery2+плагин wpg2.


    16. 85 Bee 16 февраля 2009 в 0:32 (GMT+6)

      Lecactus, спасибо за ответ. Скажите, опыт работы с какой-либо из них, есть у Вас? Меня интересует, какую-бы можно взять из этих двух?
      Задачи таковы:
      много фото и много категорий с подкатегориями.

      Желательна возможность полной интеграции с wp, так же вывод "случайного фото" на главной… виджет совместимая, или с несложной инеграцией (без влезания в базу данных… по крайней мере…)


    17. 86 Lecactus 16 февраля 2009 в 0:36 (GMT+6)

      Bee, Gallery2 берите там есть все что можно придумать и даже больше – в работе у меня стоит на сайте кота http://fanya.lecactus.ru
      интегируется полностью все и вполне легко без шаманства просто надо ответить на вопросы мастера настройки. выводит что угодно где угодно, можно фотки из галерей и галереи полностью вставлять в посты, в виджеты сайдбара выводить разными способами и т.д. почитайте документацию по плагину и самой галерее. сама галерея на русском. плагин на английском но там все понятно


    18. 87 Светлана 5 ноября 2009 в 11:11 (GMT+6)

      Подскажите пожалуйста, как сделать тень под каждой картинкой как на Вашем сайте?
      Спасибо!


    19. 88 Lecactus 5 ноября 2009 в 13:39 (GMT+6)

      2Светланка – это вообще к галерее не имеет отношения – поищите по словам CAPTION в стандартной теме WP в стилях – поймете что это такое – обсуждалось уже.


    20. 89 Светлана 5 ноября 2009 в 15:28 (GMT+6)

      Спасибо Lecactus :о) !!!


    Страницы: « 1 2 3 4 [5] Show All

    Комментарии не по теме удаляются! Читайте реадми дистрибутива, комментарии выше и FAQ! Прежде чем задавать вопрос, прочитайте это. Научитесь ценить чужое время!

     Имя (обязательно)  EMAIL (обязательно)  АДРЕС ЛИЧНОГО БЛОГА

    Вы соглашаетесь с правилами


    При добавлении HTML|CSS|JS|PHP кода в комментарий, оформляйте его через кнопку КОД

     

    Получать комментарии по RSS Адрес трэкбека