Интеграция CMS друг в друга

В качестве личного блога у меня прочно обосновалась MaxSite CMS. Хорошо спроектированная гибкая и шустрая система, построенная на базе моего любимого фреймворка. Собственно, выбор и был обусловлен фреймворком. Изучения ради и возможности допила для.

 

Однако задолго до окончательного выбора движка, здесь стояла галерея. А конкретно: Pikateka. Она единственная, которая а) понравилась, б) была достаточно шустрой.

См., также, апдейт.

Галерея тоже вполне неплохо спроектирована и качественно сделана, но с двумя недостатками: 1) с 2006 года у неё полностью прекращена поддержка и развитие, 2) мне лень глубоко залазить в код. В то же время а) меня не всё устраивает б) и главное: эта галерея уже давно существует и на неё есть ссылки из сети. Я не могу её убрать просто так, а совершенствовать хочу.

 

На форуме MaxSite вчера прозвучала такая идея:

Вывод последних сообщений с IPB в любое место сайта
Для тех, у кого как и у меня в одной базе данных находится и maxsite и ipb возможно будет полезно.
Замечание: таблицы IPB должны иметь вид mso_ipb_*
Дальше идёт код…
«Великолепно!» — Подумал я. Это же можно таблицы пикатеки переименовать в mso_* (поправив конфиг галереи), и работать с ними средствами MaxSite и CodeIgniter! Получается универсальный принцип работы с базами одной cms силами другой.

 

Пожалуйста. В пять десятков строчек кода я сделал вывод картинок пикатеки и всех картинок по метке пикатеки. Правда, нынче галерея с сайта уходит по орг-причинам.

 

Удобней организовать весь вывод и навигацию (пока что я не включал пагинацию, например), убрать русскоязычность в адресной строке, сделать плагины по образу и подобию существующих плагинов. И можно будет поставить редирект с галереи на сайт, сделать на сайте вид, что никакой галереи и нет, а саму галерею использовать только для управления. Т.к. удобней грузить картинки и расставлять им метки из специализированного движка, а не из простого файлового менеджера МаксСайта.

 

P.s. К сожалению, русский язык в ссылках всё ещё доставляет много проблем. Поэтому следующая на очереди задача: добавить поле slug в таблицу с тегами картинок, заполнить поле латиницей и заменить в контроллере здесь. Галерея изменений и не заметит, а на сайте будет меньше проблем. Ещё один вариант (и как сразу не подумал?) — задействовать средства МаксСайта по транслитерации. Скорей всего, буду комбинировать.

 

Upd: Поправил немного всё, добавил пагинацию…

  1. Я изменил таблицу тегов галереи, добавил туда поле slug. И при создании-редактировании тегов — теги транслитируются и добавляются в слаги. Самой галерее от этого не холодно и не жарко, а я планирую пользоваться только слагами, ибо не люблю ссылки на русском.
  2. Подключение типа сделано старым способом, созданием контроллера images и добавлением в индекс шаблона строчки elseif ( is_type('images') ) require($type_dir . 'images.php'); // pikateka controller. На будущее, разумеется, нужно будет переделать на плагин с перехватом хука custom_page_404.
  3. Пути и всяческие настройки заданы прямо в коде. Функции перевода не задействованы. Для полноценного плагина это нужно будет поправить.
Дальше был перевод на хук 404 и так далее, уже не помню всего.

На очереди разделение по пользователям, реорганизация структуры каталогов (не дело это, хранить в одном каталоге тысячи файлов) и так далее.

В паблик плагин, может быть, пойдёт, но не скоро.

Комментариев: 2

  1. 2009-06-23 в 00:43:09 | Avy
    ]]>]]>

    А можно взглянуть на эти 50 строчек кода? smile Или может архивчик с измененной версией?

  2. 2009-06-23 в 10:08:16 | Wave
    ]]>]]>

    Вернусь в Харьков — не раньше.

    Кроме того, сначала я таки сделаю пагинацию и ещё кое-что.

    А собственно, зачем? В качестве примера, или тоже интегрируете МаксСайт с Пикатекой?

    Насчёт изменений, я добавил один контроллер и один файл типов данных. И в индексе добавил условие: если тип images — подключать type/images.php