Перейти к содержимому
Открыть в приложении

Удобный способ просмотра. Узнать больше.

Дизайн и модификация Invision Community

Полноэкранное приложение на главном экране с push-уведомлениями, медалями и многим другим.

Чтобы установить это приложение на iOS и iPadOS
  1. Нажмите иконку «Поделиться» в Safari
  2. Прокрутите меню и нажмите На экран «Домой».
  3. Нажмите Добавить в правом верхнем углу.
Чтобы установить это приложение на Android
  1. Нажмите меню из трёх точек (⋮) в правом верхнем углу браузера.
  2. Нажмите Добавить на главный экран или Установить приложение.
  3. Подтвердите, нажав Установить.
Русский язык для Invision Community 5

Адаптировать хук 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 будут.

 

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

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

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

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

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

 

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

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

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

 

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

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

 

А как парсить в методе скина, там же нет parsePostRow()? Выбрать не проблема, а вот все остальные данные получить.

Гость
Эта тема закрыта для дальнейших сообщений.

Аккаунт

Навигация

Поиск

Поиск

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

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