Перейти к содержимому


[3.0.x]Похожие темы (simtopics)

Форумы IBResource

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 59
  • Гости

Отправлено

http://forums.ibresource.ru/index.php?app=downloads&module=display§ion=screenshot&id=942

Название: Похожие темы (simtopics)
Добавил: LastDragon
Добавлен: 10 Окт 2009
Обновлен: 13 Окт 2009
Категория: IP.Board 3.0.x

Данный хук (hook) позволяет выводить на страницах просмотра темы список похожих тем.
Распространяется под лицензией GNU General Public License v3 (GPL).
Офф. сайт

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

steroid
  • Участники
  • Cообщений: 166
  • Город:нипомню

Отправлено

поставил, не могу найти настройки хука - можно скрин-шот, где искать? в модификациях нет

LastDragon
  • Участники
  • Cообщений: 456
  • http://ipbnet.ru/

Отправлено

поставил, не могу найти настройки хука - можно скрин-шот, где искать? в модификациях нет


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

Какие настройки нужны?

Пока планируется:
  • количество выводимых тем
  • сортировка


steroid
  • Участники
  • Cообщений: 166
  • Город:нипомню

Отправлено

Теперь понятно. Просто ставил на локалке - там тем минимум, поэтому и не увидел работу мода.
Настройки? - количество; наверное, возможность /исключения/ форумов.. Может еще кто выскажется.

LastDragon
  • Участники
  • Cообщений: 456
  • http://ipbnet.ru/

Отправлено

Собрал новую версию: 1.1.0

В этой версии добавлено:

  • Возможность скрытия блока "Похожие темы";
  • Возможность гибкой настройки (количество тем, игнорируемые разделы, параметры сортировки и многое другое);
  • Показ рейтинга тем;
  • Возможность помечать темы в которые ответил пользователь;
  • Возможность помечать темы на которые подписан пользователь;
  • Сортировка результатов по релевантности;
  • Прикрепленные файлы и ответившие отображаются в таком же виде как и при просмотре списка тем;
  • Возможность отключения блока "Похожие темы" для определенных разделов и групп пользователей.

Подробнее | Скачать

Возможны ошибки в IE6, причины неизвестны. Если у кого то они встретятся, просьба как можно подробнее сообщить о них.

epson950
  • Участники
  • Cообщений: 39

Отправлено

Респект! Вот бы эту штуку прикрутить при создании тем. Создает юзер новую тему, а ему списочек- похожих тем уже создано во скока! погляди, может уже все решено?
Это было бы вообще круто!

epson950
  • Участники
  • Cообщений: 39

Отправлено

Появилась проблема, мод поставился нормально, и работает, но... при входе на форум после авторизации белая страница, а в логах следующая ошибка
PHP Fatal error: Argument 1 passed to Simtopics::isEnabled() must not be null, called in /var/www/forums.net/hooks/Simtopics_7bd6fa198954c7f7e6831abe3eff38b8.php on line 79 and defined in /var/www/forums.net/hooks/Simtopics_7bd6fa198954c7f7e6831abe3eff38b8.php on line 677


Arhar
  • Команда форума
  • Cообщений: 5 631

Отправлено

строки названы, код в студию

epson950
  • Участники
  • Cообщений: 39

Отправлено

/**
* @return string
*/
public function getOutput() {
$topic = $this->getCurrentTopic();

if ($this->isEnabled($topic)) {
$forums = $this->getAvailableForums();
$topics = $this->findTopics($topic, $forums);

if (!empty($topics)) {
$topics = $this->collectTopicsData($topics);
}

return $this->registry->output->getTemplate('topic')
->hookSimtopics($topics);
}

return '';
}

выделено 79

/**
* Включен ли хук.
*
* @param array $topic
*
* @return bool
*/
private function isEnabled(array $topic) {
$enabled = !in_array($this->member->getProperty('member_group_id'),
$this->getLocalSetting('disabled_groups'));
$enabled = $enabled && !in_array($topic['forum_id'],
$this->getLocalSetting('disabled_forums'));

return $enabled;
}
}


выделено 677

Arhar
  • Команда форума
  • Cообщений: 5 631

Отправлено

после
$topic = $this->getCurrentTopic();
вставить
if(!$topic) return '';
это так, заплатка
но раз ошибка есть, код несовершенен

LastDragon
  • Участники
  • Cообщений: 456
  • http://ipbnet.ru/

Отправлено

после

$topic = $this->getCurrentTopic();
вставить
if(!$topic) return '';
это так, заплатка
но раз ошибка есть, код несовершенен


Совершенного кода не бывает :D

Обновление через пару часов будет, заодно в IE6 отключу часть JS функционала (т.к. он все равно криво работает).

LastDragon
  • Участники
  • Cообщений: 456
  • http://ipbnet.ru/

Отправлено

Обещанное обновление - версия: 1.1.1

Исправлено:
  • Ошибка при выводе списка похожих тем;
  • Ошибки в IE6.
Подробнее | Скачать


Если кому-то нужен JS функционал в IE6 - заменяем в "public/js/ips.simtopics.js":
isEnabled: function() {
		// Работаем везде кроме IE6
		return !Prototype.Browser.IE6;
	},
на:
isEnabled: function() {
		// Работаем везде кроме IE6
		return true;
	},


Tokarevs
  • Участники
  • Cообщений: 30

Отправлено

Столкнулся со странной проблемой. Мод упорно не хочет находить похожие темы.

Пробовал ставить разные настройки на поиск, но в блоге похожих тем всё равно остаётся "Нет тем".

До этого стоял похожий мод на 2.3.6 всё находило.

версия последняя 1.1.1

DerSpinner
  • Клиенты
  • Cообщений: 638
  • http://derspinner.com/
  • Город:Кемерово

Отправлено

Автору зачет, что подобный мод делает.
Планируетс ли дальшнейшее развитие мода?

LastDragon
  • Участники
  • Cообщений: 456
  • http://ipbnet.ru/

Отправлено

Столкнулся со странной проблемой. Мод упорно не хочет находить похожие темы.


Версия IPB у Вас какая?

Если меньше 3.0.3 возможно не будет работать т.к. начиная с этой (точнее я с неё начал:D, в более ранних вроде не было этого) версии при просмотре сообщений свойства текущей темы получаются автоматически, их хук и использует (чтобы код не дублировать) (соответственно если текущая тема не определилась похожих найти не удастся).


Планируетс ли дальшнейшее развитие мода?


Планируется, только есть некоторые сложности
1) не знаю что еще нужно (если есть идеи с удовольствием их выслушаю)
2) Хуки довольно ограничены - в частности хотел сделать кэширование похожих тем, но чтобы объявить кэш нужно создать отдельное приложение - получится слишком избыточно.

По п.2. скоро выйдет еще несколько хуков под GPL (прикрепление сообщений, например) + платное облако тэгов - тогда возможно все мелкие хуки объединю в одно приложение - вот тогда можно будет многое реализовать.

Кстати - если у кого то есть идеи нужных и полезных хуков - высказывайте, возможно, реализую (небольшая компенсация может значительно ускорить этот процесс;)).

Еще такой вопрос - нужна ли возможность сообщать о найденных багах или высказывать предложения на сайте хука?

WildRAID
  • Клиенты
  • Cообщений: 1 004
  • http://
  • Город:мамы

Отправлено

Прикольно - код читабельный.
Редкость..

Вопрос: зачем копировать getTopicData и кучу других функций? Почему нельзя подключить соответствующий класс?

LastDragon
  • Участники
  • Cообщений: 456
  • http://ipbnet.ru/

Отправлено

Вопрос: зачем копировать getTopicData и кучу других функций? Почему нельзя подключить соответствующий класс?


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

Во-вторых хотелось сделать шаблоны полностью независимыми. Не помню какая причина была важнее, возможно, в багтреке есть ответ...

В-третьих, благодаря этому методу был реализован специальный класс для рендеринга списка тем (он в частности, используется в облаке тэгов).

Теперь для вывода списка тем достаточно использовать (возможно, в следующей версии simtopics будет тоже он использоваться):
$topics = array(); // Массив тем
$data   = array(); // Доп. данные передаваемые в шаблон

$path = IPSLib::getAppDir('tagscloud').'/sources/classes/';
require_once($path.'TopicsListRender.php');
require_once($path.'TagscloudTopicsListRender.php');

// Шаблон может быть любым (главное чтобы в нем все методы были определены)
$render = new TagscloudTopicsListRender($this->output->getTemplate('tagscloud'));

$output = $render->getOutput($topics, $data);


Tokarevs
  • Участники
  • Cообщений: 30

Отправлено

Версия 304

LastDragon
  • Участники
  • Cообщений: 456
  • http://ipbnet.ru/

Отправлено

Версия 304


Ок, посмотрю на выходных.

LastDragon
  • Участники
  • Cообщений: 456
  • http://ipbnet.ru/

Отправлено

Версия 304


Ок, посмотрю на выходных.


Посмотрел, на 3.0.4 все нормально работает.

Поэтому еще несколько вопросов:
1) Какие настройки у хука?
3) Какой скин используете? (стандартный или другой)




Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных