Перейти к содержимому
Русский язык для Invision Community 5

Работа с БД для IPB

Здравствуйте. Есть следующая проблема. В каждом форуме есть форум в нем подфорум, а в нем темы. Для каждой из этих страниц нужна своя уникальная шапка.

Для самого форума и подфорума я сделал шапку это не сложно. НО для каждой темы создавать свою шапку очень долго и нудно плюс мозги кипят. Нужен метод для автоматизации этого дела. В каждой тема которая принадлежит подфоруму должна быть такая же шапка как и у самого подфорума.

 

У меня появилась следующая идея: в базе данных объеденить темы подфорума с помощью дополнительного поля - ключа и для всех их прописать одну шапку.

 

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

Если кто то предложит альтернативное предложение буду очень благодарен.

Рекомендованные сообщения

У меня появилась следующая идея: в базе данных объеденить темы подфорума с помощью дополнительного поля - ключа и для всех их прописать одну шапку.
Плохая идея.
Подскажите пожалуйста как это реализовать
Вам уже подсказали здесь и здесь расшифровали.

 

<if test="$this->request['f'] == 181">
   Шапка для форума с ID 181 и тем, созданных в форуме с ID 181
</if>

  • Автор

Наверное я не совсем правильно выразился или что то не понял. То я уже сделал.

А как узнать каким образом тема в подфоруме привязана к самому форуму?

Наверное я не совсем правильно выразился или что то не понял. То я уже сделал.
Скорее, второе.

 

Нужен метод для автоматизации этого дела. В каждой тема которая принадлежит подфоруму должна быть такая же шапка как и у самого подфорума.
Добавьте указанный код и посмотрите результат.
  • Автор

Скорее, второе.

 

Добавьте указанный код и посмотрите результат.

 

Разобрался. Все работает. Огромное спасибо!)

А как узнать каким образом тема в подфоруме привязана к самому форуму?

$this->request['f'] содержит ид текущего форума (при просмотре форума либо темы).

  • 2 месяца спустя...

Здравствуйте! Подскажите как сделать SQL запрос, чтобы заменить часть слова в тексте поста на другую последовательность букв. Проблема в том, что после переезда на другой домен изменились пути к папкам со смайликами в сообщениях. Получается что необходимо .../путь/... "путь" заменить на "дорога". Имя таблицы и колонка в таблице известны.

Я понимаю, что можно заменить одно слово другим или одну ссылку на другую. Будет ли это работать при замене последовательности символов в части слова (ссылки)? Т.е. символов не разделённых пробелом.

Изменено пользователем RaTed

Будет ли это работать при замене последовательности символов в части слова (ссылки)?

Слова это та же последовательность символов в определенном порядке. Заменяете ли вы слово или последовательность любых символов серверу без разницы. Главное правильно составьте шаблоны замены чтобы не заменить там где это не требуется.

Попробую еще раз, что то с первого раза не вышло. Спасибо. Я по специальности радиоинженер и с программированием работаю не профессионально, так, что-то понимаю. Не обессудте.

После замены нужно сбросить кеш постов, иначе вы эффект на форуме не увидите. Проверить заменился текст или нет можно в таблице ibf_posts (ibf_ - префикс) поле post (для сообщений). Если не сбрасывать кеш, такой же запрос на замену нужно выполнить и для таблицы ibf_content_cache_posts поле cache_content.

 

ПС.

Если я не ошибаюсь, смайлы в оригинальных сообщения хранятся в виде макросов, так что достаточно просто сбросить кеш постов Система -> Кеши системы -> Сообщений в кеше

так что достаточно просто сбросить кеш постов

Спасибо за подсказку с кэшем в таблицах. В системе где кэш я разобрался. На форуме как то все криво стоит, часть смайлов восстановилось после сброса в системе, часть осталась с кривой ссылкой. Вот этих кривых я и правлю вручную. Хорошо что папку нашел откуда брались картинки.

Получилось. Символы заменил. Кэш в таблице тоже. Но вот на форуме проверяю сообщения,- ссылка правильная, а картинки нет. Пересохраняю сообщение, все появляется. Куда еще заглянуть?

Нашел. Еще раз сбросил кэш сообщений в системе. Сброс в таблице почему то не сработал.

Создайте аккаунт или войдите в него для комментирования

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.