Страница 1 из 4

UserTopics

Добавлено: 29.10.2014 0:41
Alecto
Название: UserTopics

Описание: Расширение добавляет ссылки на темы пользователей в следующие блоки:
- профиль, блок статистики: количество тем пользователя + статистика по темам
- в навигаторе, после "Ссылки"
- в минипрофили на страницах тем.
т.е. вы можете легко находить как свои темы, так и темы других пользователей.

Версия Расширения: 1.0.2
история изменений 
1.0.2
Минорные доработки, оптимизация кода
1.0.1
Добавлена проверка версии
1.0.0
Версия рабочая, проверена на 3.1.3
GitHub репозиторий: https://github.com/Alecto/UserTopics
Загрузить расширение: https://github.com/Alecto/UserTopics/archive/master.zip

Скрины:
открыть 
Изображение

Изображение

Изображение

Изображение
Чтобы переместить ссылку Ваши темы из навигатора в быстрые ссылки над Ваши сообщения:
открыть 
1 - отключить расширение.
2 - в папке стиля расширения найти файл overall_header_navigation_prepend.html и переименовать его в navbar_header_quick_links_before.html
3 - включить расширение.

Re: UserTopics

Добавлено: 08.12.2014 22:51
Anvar
Поправь Скрытие/отображение данных профиля

Думаю что в этом расширении гораздо проще сделать.

Re: UserTopics

Добавлено: 09.12.2014 14:59
Alecto
исправлено.

Re: UserTopics

Добавлено: 12.01.2015 16:45
Romnik
Хорошо-бы вместо слова "найти" в мини-профиле, отображалась-бы цифра ссылкой...

Re: UserTopics

Добавлено: 12.01.2015 17:47
Alecto
какая цифра?

Re: UserTopics

Добавлено: 12.01.2015 20:38
Romnik
Alecto писал(а):какая цифра?
Количество тем.
Как здесь:
topics.png

Re: UserTopics

Добавлено: 12.01.2015 20:57
Alecto
такой штатной переменной или "циферки", как ты изволил ее назвать - нет.
одно дело сделать 1 запрос на редкой в плане посещаемости странице профиля для 1 пользователя.
другое дело - 10 запросов на странице тем (по одному для каждого минипрофиля, к тому же у некоторые могут увеличить число сообщений на странице, а это увеличит количество запросов).
штатно на странице тем около 35 запросов, у меня с десятками экстов - до 45 запросов.
+10 абсолютно бесполезных (причем достаточно тяжелых) запросов для какой-то циферки?
нет уж, уволь, я этого делать не буду.

Re: UserTopics

Добавлено: 18.01.2015 13:33
LavIgor
Alecto писал(а):+10 абсолютно бесполезных (причем достаточно тяжелых) запросов для какой-то циферки?
Кто мешает самому сделать поле в базе данных для этой циферки и обновлять его?
Движок доступен для добавления нужных событий.

Re: UserTopics

Добавлено: 18.01.2015 14:29
Alecto
Хочешь и знаешь как - занимайся, возражений не имею.
Надо - бери этот код за основу.

Re: UserTopics

Добавлено: 18.01.2015 15:22
Anvar
Alecto писал(а):10 запросов на странице тем (по одному для каждого минипрофиля, к тому же у некоторые могут увеличить число сообщений на странице, а это увеличит количество запросов).
Можно обойтись одним запросом, размещённым за пределами цикла.
Alecto писал(а):Надо - бери этот код за основу.
Сказал как отрезал)))

Re: UserTopics

Добавлено: 18.01.2015 15:31
Alecto
Anvar
во-первых, я не обладаю знаниями, достаточными для написания такого кода (можете и хотите помочь или развивать самостоятельно - всегда пожалуйста).
во-вторых, мне достаточно того, что есть сейчас.

Re: UserTopics

Добавлено: 21.03.2015 21:12
Alecto
в продолжение отсюда
Расширения - это просто!

как оказалось, условия

Код: Выделить всё

        if ($event['search_id'] == 'egosearch') 
недостаточно, поскольку Ваши сообщения тоже содержит этот параметр
можно ли как-то проверить еще и параметр &sr=topics ?
вроде в этом событии ничего подходящего нет.

Re: UserTopics

Добавлено: 21.03.2015 23:26
Sheer
Alecto писал(а): поскольку Ваши сообщения тоже содержит этот параметр
Именно для этого и используется, а тебе нужно искать темы по id автора. Это другое.
Вроде как

Код: Выделить всё

author_id_ary	Array of exclusive author ids

Re: UserTopics

Добавлено: 21.03.2015 23:50
Alecto
Sheer, не совсем так
Ваши сообщения

Код: Выделить всё

?search_id=egosearch
Ваши темы

Код: Выделить всё

?search_id=egosearch&sr=topics&sf=firstpost
Темы любого пользователя (до них еще очередь не дошла)
?author_id=53&sr=topics&sf=firstpost
т.е. параметр egosearch общий для двух вариантов поиска, поэтому и вопрос по &sr=topics, можно ли этот параметр как-то выцепить в уже существующей функции?

Код: Выделить всё

    public function search_modify_param_before($event)
    {
        if ($event['search_id'] == 'egosearch')
        {
            $this->template->assign_vars(array(
                'S_EGO_SEARCH'   => true,
            ));
        };
    }
а в шаблоне я уже вывожу по условию

Код: Выделить всё

<!-- IF S_EGO_SEARCH -->
	<span class="crumb"><a class="dropdown-trigger" data-navbar-reference="own-topics" href="{USER_TOPICS_OWN_LINK}">{L_USER_TOPICS_FROM_LINKS}</a></span>
<!-- ENDIF -->

Re: UserTopics

Добавлено: 22.03.2015 14:32
LavIgor
Alecto писал(а): вопрос по &sr=topics, можно ли этот параметр как-то выцепить в уже существующей функции?
Конечно можно!
Для любых параметров запроса можно использовать класс $request.
В вашем случае используйте модифицированный код из самого файла search.php:

Код: Выделить всё

$search_fields	= $this->request->variable('sf', 'all');
$show_results	= ($topic_id) ? 'posts' : $this->request->variable('sr', 'posts');
$show_results	= ($show_results == 'posts') ? 'posts' : 'topics';