Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
weiss

Pinposts (важные сообщения)

Recommended Posts

index.php?app=downloads&module=display&section=screenshot&id=271

Имя файла: Pinposts (важные сообщения)

Владелец файла: weiss

Файл размещен: 01 Янв 2013

Файл обновлен: 05 Янв 2013

Категория файла: Mods/Моды

 

Хук позволяет закреплять сообщения так, чтобы они отображались первыми на всех страницых темы.

 

ВАЖНО:

  • после обновления до версии 1.3.0 необходимо будет закрепить сообщения еще раз;
  • при удалении хука IPB удаляет внесенные в таблицы изменения, а это значит, что информация о прикреплённых сообщениях тоже будет удалена.

Хук также позволяет настраивать внешний вид закрепленных сообщений в шаблоне Topic View -> post, используя проверку на то, является ли сообщение закрепленным. Для этого используется такое условие:

< if test="pinned:|:$post['post']['_isPinned']">pinned

 

Нажмите сюда, чтобы скачать этот файл

  • Upvote 2

Share this post


Link to post

Хук обновлен до версии 3. 0. Теперь проблем с таблицей posts при установке возникнуть не должно. Кроме того, добавлена поддержка IP.Board 3.3.х и флаг _isPinned, который можно проверять в шаблоне post (подробнее в описании).

  • Upvote 1

Share this post


Link to post

большое спасибо. но, видимо, база моя несчастливая)

 

таблица pinposts создалась, пустая. пробую сделать прикрепление поста через модерскую панель -

If you are seeing this page, it means there was a problem communicating with our database. Sometimes this error is temporary and will go away when you refresh the page. Sometimes the error will need to be fixed by an administrator before the site will become accessible again

 

пробую добавить айди поста и темы вручную - то же самое. и, к сожалению, я не знаю, куда теперь копать.

Share this post


Link to post

it means there was a problem communicating with our database.

Лог ошибки покажите.

Share this post


Link to post

@rosetau, у вас явно проблемы с сервером. Вручную в поле pids добавлять ничего не надо, там сериализованный массив будет. Таблица должна создаваться пустая, все верно.

Share this post


Link to post

Date: Sat, 05 Jan 2013 12:48:50 +0000
Error: 1146 - Table 'db.pinposts' doesn't exist
IP Address: 109.167.205.53 - /Portal/index.php?
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
mySQL query error: INSERT INTO pinposts (topic_id, pids) VALUES (13561, "a:1:{i:0;i:608303;}")
                   ON DUPLICATE KEY UPDATE pids = "a:1:{i:0;i:608303;}"
.--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.
| File                                                                       | Function                                                                      | Line No.          |
|----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------|
| hooks/PinpostsForumsModerateModerateAction_be725f01fb7faad6465a855a86f936bf.php| [PinpostsForumsModerateModerateAction].setPinnedPids                          | 94                |
'----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'
| hooks/PinpostsForumsModerateModerateAction_be725f01fb7faad6465a855a86f936bf.php| [PinpostsForumsModerateModerateAction].pinpostsAction                         | 18                |
'----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'
| admin/applications/forums/modules_public/moderate/moderate.php             | [PinpostsForumsModerateModerateAction]._multiPostModify                       | 200               |
'----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'
| admin/sources/base/ipsController.php                                       | [public_forums_moderate_moderate].doExecute                                   | 306               |
'----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'
-

вот такие сообщения там присутствуют. следом сразу вопрос - хук следит за префиксами? потому что db.pinposts - такой таблицы действительно нет. но есть db.ibf_pinposts.

Share this post


Link to post

Подтверждаю, при попытке закрепления выдает ошибку -

 

Date: Sat, 05 Jan 2013 17:32:11 +0000
Error: 1146 - Table 'rusknife.pinposts' doesn't exist
IP Address:  - /index.php?
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
mySQL query error: INSERT INTO pinposts (topic_id, pids) VALUES (4108, "a:1:{i:0;i:52576;}")
                   ON DUPLICATE KEY UPDATE pids = "a:1:{i:0;i:52576;}"
.--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.
| File                                                                       | Function                                                                      | Line No.          |
|----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------|
| hooks/PinpostsForumsModerateModerateAction_bbd356f9b64fe7acb3d77450c7a1b973.php| [PinpostsForumsModerateModerateAction].setPinnedPids                          | 94                |
'----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'
| hooks/PinpostsForumsModerateModerateAction_bbd356f9b64fe7acb3d77450c7a1b973.php| [PinpostsForumsModerateModerateAction].pinpostsAction                         | 18                |
'----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'
| admin/applications/forums/modules_public/moderate/moderate.php             | [PinpostsForumsModerateModerateAction]._multiPostModify                       | 200               |
'----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'
| admin/sources/base/ipsController.php                                       | [public_forums_moderate_moderate].doExecute                                   | 306               |
'----------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------'

 

Впечатление что стучится не в ту таблицу, потому что у меня таблицы со стандартными префиксами, а пытается влезть в rusknife.pinposts вместо rusknife.ibf_pinposts

Share this post


Link to post

Имхо, запрос составлен без учета возможного префикса к таблице.

Share this post


Link to post

Обновил файл, теперь (наконец) должно всё работать.

  • Upvote 1

Share this post


Link to post

да, теперь все замечательно. спасибо, weiss.

  • Upvote 1

Share this post


Link to post

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

<if test="pinned:|:$post['post']['_isPinned']">

</if>

а между ифами должен что-то прописать? дело в том что я не знаю как правильно связать ксс и (пока неясную мне) строчку, которая должна быть в этом условии.

Share this post


Link to post

В вашем случае это условие можно использовать для добавления класса закрепленным сообщениям. В начале шаблона post (группа Topic View) есть строка:

<div class='post_block hentry clear clearfix <if test="isSolvedCss:|:$post['post']['_isMarkedAnswered']">solved</if> <if test="postQueued:|:$post['post']['_isHidden']">moderated</if>' id='post_id_{$post['post']['pid']}'>

 

Можно добавить класс pinned по условию:

<div class='post_block hentry clear clearfix <if test="isSolvedCss:|:$post['post']['_isMarkedAnswered']">solved</if> <if test="postQueued:|:$post['post']['_isHidden']">moderated</if> <if test="pinned:|:$post['post']['_isPinned']">pinned</if>' id='post_id_{$post['post']['pid']}'>

И затем в CSS задать какие-то свойства. Это изменит цвет фона закрепленных постов:

.post_block.pinned {
   background: #fff5ee;
}

Это уберет подпись:

.post_block.pinned .signature {
   display: none;
}

Добавив класс pinned блоку поста, мы получаем доступ к любому элементу поста из CSS для настройки его отображения.

Однако подпись (как пример) можно убрать и из HTML в шаблоне post, изменив условие ее отображения:

<if test="postSignature:|:$post['post']['signature'] && !$post['post']['_isPinned']">
   {$post['post']['signature']}
</if>

 

Таким же образом можно добавлять какой-то свой новый код в шаблон для закрепленных сообщений, выполняя проверку. В общем зависит от вашей фантазии.

  • Upvote 1

Share this post


Link to post

Пожелание к развитию хука - сделать набор каких-то предефайненных шаблонов для закрепленного поста - 2-3, к примеру. Еще можно было бы добавить возможность менять цветовую схему прямо из настроек, включать, выключить подписи и т.п.

Share this post


Link to post

нажимаю кнопку подтвердить заказ и ничего не происходит - пустая страница..

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...