Работа с IPB

Agatov

Новичок
Работа с IPB

Возникла необходимость написать CMS в которой новостной блок активно взаимодействует с форумом IPB v 2.1.x.

А именно - нужно автоматически дублировать добавляемые на саит новости на форуме в разделе "Новости". Глупо конечно, но клиент всегда прав.

Пытался пойти методом научного тыка, но полезли всякие косяки. Документацию в интернете по интересующему меня вопросу найти не смог.

Если кто сталкивался с подобным или знает где лежат доки поделитесь опытом плз.

Заранее всем благодарен
 

Agatov

Новичок
Ты, наверное, не так меня понял. Мне нужно правильно засунуть данные в БД IPB. На первый взгляд - пара часов работы. Но неправильно отображается кол-во топиков в форуме, последнее сообщение и есть ещё пара неприятных мелочей ((
 

Krishna

Продался Java
На первый взгляд - пара часов работы. Но неправильно отображается кол-во топиков в форуме, последнее сообщение
Именно с IPB не работал, но подозреваю, что дело в денормализации схемы БД с целью оптимизации. ;)
Говоря по-русски, кол-во постов в форуме и id последнего поста хранятся в таблице форумов, а не высчитываются заново при каждом показе. По-крайней мере, так сделано в большинстве форумов. Подозреваю, что проблема в этом.
 

Igor aka TiGR

Новичок
Варианты:

1. (простой) Сделать ссылку "Добавить новость" ведущей на создание темы в форуме.

2. (посложнее) Берёшь сорцы IPB, и ищешь алгоритм добавления новой темы.

-~{}~ 30.08.06 00:31:

Говоря по-русски, кол-во постов в форуме и id последнего поста хранятся в таблице форумов, а не высчитываются заново при каждом показе.
Да, именно так. Там ещё есть общая статистика форума - общее количество сообщений. Оно тоже отдельно хранится (по крайней мере хранилось в 1.3.x).
 

Agatov

Новичок
Автор оригинала: Krishna
Именно с IPB не работал, но подозреваю, что дело в денормализации схемы БД с целью оптимизации. ;)
Говоря по-русски, кол-во постов в форуме и id последнего поста хранятся в таблице форумов, а не высчитываются заново при каждом показе. По-крайней мере, так сделано в большинстве форумов. Подозреваю, что проблема в этом.
Да ты прав, эти данные храняться в базе. Я даже нашёл поля в которых они храняться. Но как бы я их не изменял, значение кол-ва топиков в форуме остаётся неизменным. Из этого можно сделать вывод, что это значение дублируется ещё в какой-нибудь таблице. Но найти его в 80 таблицах - дело очень не простое =))

2. (посложнее) Берёшь сорцы IPB, и ищешь алгоритм добавления новой темы.
Похоже, что дело дойдёт и до этого )). Тока вот сорцы у IPB для непосвящённых выглядят просто ужасно.
 

kruglov

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

Igor aka TiGR

Новичок
Да не в этом дело... Просто иногда изменения бывают не понятными (surprise!), равно как и код. В общем, оба способа сопряжены с вероятностью наткнуться на какую-нибудь заковырку. Так что это ещё вопрос - где заковырок больше :)
 

kruglov

Новичок
Igor aka TiGR
Я думаю, непонятных изменений после добавления одного топика не должно быть. К тому же "попытка не пытка, не так ли, товарищ Берия". А копаться в коде форума... Хы-хы. То есть Ну-ну.
 

Igor aka TiGR

Новичок
Не понимаю в чём тут проблема. Самому приходилось вдоль и поперёк дорабатывать скрипты IPB 1.3.x, а насколько мне известно в 2.1 не такой кошмар, как в 1.3.

P.S: Всё не так страшно: "глаза боятся - руки делают".
 

berkut

Новичок
Igor aka TiGR аналогично, но работал с 2.1.4
Часа полтора разбора кода - и ориентируешься в коде вообще без проблем.
 

mayak

Новичок
Agatov
В IPB есть прекрасный инструмент импорта новостей через RSS-каналы. Все очень легко настраивается, в админке форума указывается адрес RSS-потока, имя пользователя, от которого будут публиковаться новости и форум, в который надо помещать эти самые новости.
Дело за малым - организовать RSS-трансляцию в вашей CMS

П.С. Функция импорта появилась, если мне не изменяет память, с IPB 2.1.6
 
Сверху