Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
r0n

Адаптировать хук Pinposts для IPB 3.3

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

Есть такой замечательный хук http://community.invisionpower.com/files/file/5160-pinposts/ - закрепление любых постов в теме форума.

На версии 3.2 все прекрасно работает, а для IPB 3.3 к сожалению нет.

Написал автору хука, на что он ответил что делал хук для себя, а для версии 3.3 адаптировать нет времени. На сколько я понимаю в версии 3.3 изменили вывод панели модератора, поэтому пункты Pinpost, Unpin при установки хука не вставляются.

Готов заплатить за адаптацию данного хука. Жду предложений.

Поделиться сообщением


Ссылка на сообщение

Цена вопроса?

Поделиться сообщением


Ссылка на сообщение

Озвучьте вашу цену исходя из количества затраченных часов.

Поделиться сообщением


Ссылка на сообщение

Цена вопроса?

Готовы выделить 1000 рублей.

Поделиться сообщением


Ссылка на сообщение

Как автор этого хука для 3.2 говорю, что под IPB 3.3 я JS-часть уже переписал, но там есть еще запарка с тем, что посложнее.

Поделиться сообщением


Ссылка на сообщение

Так что лучше пользоваться стандартным функционалом.

 

Спасибо за разъяснение.

Мне очень надо закреплять сообщения в темах. Других вариантов нет?

Под стандартным функционалом вы подразумеваете обходиться без закрепления постов?

Поделиться сообщением


Ссылка на сообщение

Я обновил своё предыдущее сообщения, сейчас просто думаю над тем, как сделать вывод закрепленных сообщений на всех страницах темы в IPB 3.3.

Поделиться сообщением


Ссылка на сообщение

В общем чтобы закрепленные сообщения выводились на всех страницах, а не на одной, надо переопределить запрос в методе _getPosts, убрав оттуда строку из запроса:

'limit'    => array( $first, $this->settings['display_max_posts'] ),

А как это сделать не знаю, я не PHP-программист, просто немного шарю. Клиентскую же часть я полностью адаптировал. Хук здесь пока выложу, он будет нормально работать с костылем: надо закомментировать вышеуказанную строку в файле /admin/applications/forums/modules_public/forums/topics.php (строка 1696, добавить перед ней //).

Скачать: https://github.com/nDmitry/Pinposts

Только учитывайте, что нагрузка возрастет примерно до уровня версии 3.2, т. к. запрашиваться будут сообщения не текущей страницы, а всей темы.

Если кто-то возьмется дописать хук, я могу помочь разобраться что там и где.

Поделиться сообщением


Ссылка на сообщение

В общем чтобы закрепленные сообщения выводились на всех страницах, а не на одной, надо переопределить запрос в методе _getPosts, убрав оттуда строку из запроса:

'limit'    => array( $first, $this->settings['display_max_posts'] ),

А как это сделать не знаю, я не PHP-программист, просто немного шарю. Клиентскую же часть я полностью адаптировал. Хук здесь пока выложу, он будет нормально работать с костылем: надо закомментировать вышеуказанную строку в файле /admin/applications/forums/modules_public/forums/topics.php (строка 1696, добавить перед ней //).

Скачать: http://ndmitry.ru/ip...posts-1.2.0.zip

Только учитывайте, что нагрузка возрастет примерно до уровня версии 3.2, т. к. запрашиваться будут сообщения не текущей страницы, а всей темы.

Если кто-то возьмется дописать хук, я могу помочь разобраться что там и где.

 

Попробовал установить хук, все работает норм, когда комментируешь указанную строку, но мой VPS ложится с 4 Гб ОЗУ от создающейся нагрузки, пришлось отключить.

Значит будем искать программиста.

Поделиться сообщением


Ссылка на сообщение

@r0n, странно, чего б ему ложиться от этого? По top смотрели, что с mysqld?

Поделиться сообщением


Ссылка на сообщение
странно, чего б ему ложиться от этого

Вы просто на больших темах не смотрели. Не надо там limit убирать, иначе на больших незакешированных топиках за раз 1000 и больше постов парсится из BBCode будут.

 

Вечером выложу правильную версию.

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

@weiss, а для чего используете перегрузку метода _getPosts()?

Поделиться сообщением


Ссылка на сообщение

Вы просто на больших темах не смотрели. Не надо там limit убирать, иначе на больших незакешированных топиках за раз 1000 и больше постов парсится из BBCode будут.

Вы правы. Проверил. Если в теме, например, 5 страниц с сообщениями, то, если закомментировать/удалить указанную строку, на каждой странице будут отображаться все сообщения темы.

Поделиться сообщением


Ссылка на сообщение

Ну вообще просто надо совершенно отдельно выбирать, парсить и выводить до основного списка постов "приклепленные" посты, и делать это прямо в методе скина. Тогда ничего в классе "постов" перегружать не потребуется.

 

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

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

weiss, а для чего используете перегрузку метода _getPosts()?

Она уже была, от предыдущего автора, фактически же там запрашиваются закрепленные сообщения.

 

@Ritsuka, вчера это понял, но не знаю, как воплотить, точнее особо и не пытался еще. Там выше ссылку на гитхаб оставил, неплохо было бы вам там внести правки для удобства, войдете в список авторов (я вас добавил уже в Collaborators).

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации сообщений.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...