Перейти к контенту

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


Гость

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

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

Название: Похожие темы (simtopics)

Добавил: LastDragon

Добавлен: 10 Окт 2009

Обновлен: 13 Окт 2009

Категория: IP.Board 3.0.x

 

Данный хук (hook) позволяет выводить на страницах просмотра темы список похожих тем.

Распространяется под лицензией GNU General Public License v3 (GPL).

Офф. сайт

 

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

Ссылка на комментарий
Поделиться на других сайтах

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

 

В данной версии настроек нет, они будут в следующей версии.

План разработки можно посмотреть на сайте.

 

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

 

Пока планируется:

  • количество выводимых тем
  • сортировка

Ссылка на комментарий
Поделиться на других сайтах

Теперь понятно. Просто ставил на локалке - там тем минимум, поэтому и не увидел работу мода.

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

Ссылка на комментарий
Поделиться на других сайтах

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

 

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

 

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

 

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

 

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

Ссылка на комментарий
Поделиться на других сайтах

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

Это было бы вообще круто!

Ссылка на комментарий
Поделиться на других сайтах

Появилась проблема, мод поставился нормально, и работает, но... при входе на форум после авторизации белая страница, а в логах следующая ошибка

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

Ссылка на комментарий
Поделиться на других сайтах

/**

* @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

Ссылка на комментарий
Поделиться на других сайтах

после

$topic = $this->getCurrentTopic();

вставить

if(!$topic) return '';

это так, заплатка

но раз ошибка есть, код несовершенен

 

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

 

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

Ссылка на комментарий
Поделиться на других сайтах

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

 

Исправлено:

  • Ошибка при выводе списка похожих тем;
  • Ошибки в IE6.

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

 

 

Если кому-то нужен JS функционал в IE6 - заменяем в "public/js/ips.simtopics.js":

	isEnabled: function() {
	// Работаем везде кроме IE6
	return !Prototype.Browser.IE6;
},

на:

	isEnabled: function() {
	// Работаем везде кроме IE6
	return true;
},

Ссылка на комментарий
Поделиться на других сайтах

  • 5 недель спустя...

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

 

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

 

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

 

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

Ссылка на комментарий
Поделиться на других сайтах

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

 

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

 

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

 

 

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

 

Планируется, только есть некоторые сложности

1) не знаю что еще нужно (если есть идеи с удовольствием их выслушаю)

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

 

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

 

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

 

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

Ссылка на комментарий
Поделиться на других сайтах

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

Редкость..

 

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

Ссылка на комментарий
Поделиться на других сайтах

Вопрос: зачем копировать 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);

Ссылка на комментарий
Поделиться на других сайтах

Версия 304

 

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

 

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

 

Поэтому еще несколько вопросов:

1) Какие настройки у хука?

3) Какой скин используете? (стандартный или другой)

Ссылка на комментарий
Поделиться на других сайтах

Пробовал и со стандартным и нет. Включал полноценный поиск и отключал. В блоке похожих тем пишет "Нет тем."

 

Ставил настройку: отключить полнотекстовы поиск и Минимальная длина ключевого слова 1 символ. Но даже при таких настройках похожих тем не находит.

 

У меня форум обновлен с 236 версии, может что-то, где-то не так обновилось?

Ссылка на комментарий
Поделиться на других сайтах

Пробовал и со стандартным и нет. Включал полноценный поиск и отключал. В блоке похожих тем пишет "Нет тем."

 

Ставил настройку: отключить полнотекстовы поиск и Минимальная длина ключевого слова 1 символ. Но даже при таких настройках похожих тем не находит.

 

Странно... Похожие темы точно есть? (может быть их на самом деле нет)

 

У меня форум обновлен с 236 версии, может что-то, где-то не так обновилось?

 

Не знаю, но после обновления (2.3.6 + конвертация базы) похожие темы показываются.

 

Настройка "Отключить для" случайно не включена?

Ссылка на комментарий
Поделиться на других сайтах

Планируетс ли дальшнейшее развитие мода?
Планируется, только есть некоторые сложности

1) не знаю что еще нужно (если есть идеи с удовольствием их выслушаю)

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

 

 

 

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

считаю нужны следующие хуки:

 

1. белый список (в дополнению к черному существующему). те не запрещать почту, ip (при входе, регистрации) а разрешать только с указаной почты или диапазона ip

2. распределение в группы при регистрации по каким то критериям (нас конкретно интересует распределение в группы по диапазонам ip, можно в личке поговорить о компенсации), по ip, по полу, городу и тд.

Ссылка на комментарий
Поделиться на других сайтах

... после обновления (2.3.6 + конвертация базы) похожие темы показываются.

 

Tokarevs, база у Вас конвертирована в UTF-8 или нет? (чтобы мне впустую не тестировать)

 

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

 

Добавил в багтрек (#178)

 

1. белый список (в дополнению к черному существующему). те не запрещать почту, ip (при входе, регистрации) а разрешать только с указаной почты или диапазона ip

2. распределение в группы при регистрации по каким то критериям (нас конкретно интересует распределение в группы по диапазонам ip, можно в личке поговорить о компенсации), по ip, по полу, городу и тд.

 

Над (1) нужно думать.

 

По (2) напишите в ЛС как можно подробнее, что именно нужно, обсудим.

Ссылка на комментарий
Поделиться на других сайтах

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

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.