Портфолио пользователя

:discourse2: Краткое описание Портфолио пользователя добавляет новую вкладку «Портфолио» в профиль пользователя. Её можно настроить для отображения тем пользователя из определённой категории и/или с определённым тегом. Также отлично работает в сочетании с Topic List Thumbnails
:hammer_and_wrench: Ссылка на репозиторий https://github.com/discourse/discourse-user-portfolio
:open_book: Новичок в темах Discourse? Руководство для начинающих по использованию тем Discourse

Установить этот компонент темы

Возможности

Кнопку портфолио можно дополнительно добавить на карточки пользователей:

Настройки

Название Описание
portfolio category ID категории портфолио. Установите 0 для всех категорий
portfolio tags Теги портфолио
portfolio icon Иконка для вкладки портфолио и кнопки на карточке пользователя
portfolio thumbnail style Стиль миниатюр для страницы портфолио (требуется установка и добавление в активную тему компонента discourse-topic-thumbnails)
user card portfolio link Отображать ссылку на портфолио на карточках пользователей
portfolio order
portfolio route name Имя страницы портфолио в URL, например /u/username/activity/portfolio
Перевод По умолчанию
portfolio Портфолио
empty_portfolio Это портфолио ожидает наполнения
empty_portfolio_link Начните с добавления тем в

:discourse2: Хостинг у нас? Компоненты тем доступны для использования на наших тарифах Standard, Business и Enterprise.

46 лайков

Это великолепно! :partying_face:

4 лайка

Фантастический компонент! Я давно искал что-то, что сделало бы профили более выразительными.

Однако, размышляя о его внедрении, меня останавливает один момент: мне кажется, что пользователям нужно больше контроля над тем, что отображается в их портфолио. При ограниченном редактировании и удалении постов это затруднительно.

Есть ли какие-то идеи, как это решить? (Можно сделать все посты в категории портфолио вики-страницами, хотя это не идеальный вариант.)

2 лайка

Один из способов предоставить пользователям больше контроля — это тег «портфолио», который они могут применять к своим сообщениям. Но вы правы: они не смогут удалить его позже без прав на редактирование. Вики-страницы — хорошее решение этой проблемы.

Любые изменения в правах на редактирование невозможно реализовать в компоненте темы, поэтому нам придётся рассмотреть изменение ядра или создание плагина, чтобы сделать это возможным.

6 лайков

На самом деле эта функция присутствует в плагине «Предварительный просмотр списка тем» с октября 2019 года и была перенесена в компонент темы TLP:

https://meta.discourse.org/t/topic-list-previews/101646/660?u=merefield

8 лайков

Привет, Дэвид,

Можно ли как-то добавить больше категорий для фильтрации портфолио? Я пытаюсь добавить больше тегов, но у меня это не работает. Если я устанавливаю category: 0 и добавляю больше тегов, портфолио становится пустым.

Спасибо :slightly_smiling_face:

1 лайк

Отличный компонент.

Я не совсем понял, что вы имеете в виду под «ID категории». Это внутренний номер категории, из которой учитываются посты пользователя?

Было бы гораздо полезнее иметь возможность выбирать несколько категорий по их названию, как это сделано в миниатюрах тем TC.

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

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

Ещё одна замечательная функция — возможность создания личной галереи не только на основе постов, опубликованных в категории. Для этого необходимо внедрить специальную приватную категорию для каждого пользователя, где они смогут создавать свои посты и отображать их в своём профиле.

3 лайка

Привет! Нам очень нравится этот плагин, он уже много лет является неотъемлемой частью нашего сайта.

Однако есть одна проблема: обычно мы можем фильтровать записи на сайте, сортируя их по дате создания, а не по дате ответа, используя соответствующие параметры: ?order=created.

Похоже, что портфолио не может воспроизвести это поведение, хотя, уверен, что «под капотом» используется простой запрос, который должен поддерживать эту функцию. Не могли бы вы добавить такую возможность?

3 лайка

Потрясающий компонент, спасибо!

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

Учитывая эту гибкость, было бы потрясающе иметь возможность изменять URL-слаг (я изменил заголовок на «Правила», но слаг остается как u/user/activity/portfolio).

Также было бы здорово, если бы ссылка user_card_portfolio_link скрывалась, если портфолио пустое.

3 лайка

Согласен с необходимостью выбора названий категорий из списка — мне потребовалось некоторое время, чтобы найти ID подкатегории.

1 лайк

Сообщение об ошибке: Элемент .portfolio-link внутри .user-nav нужно обернуть в тег <span>, чтобы текст метки скрывался на планшетах и мобильных устройствах вместе с остальными элементами .user-nav, иначе он просто будет висеть там как :lemon:

2 лайка

Спасибо всем за обратную связь! Я только что внес некоторые обновления, чтобы исправить несколько проблем и добавить новые функции:

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

Я добавил настройку под названием portfolio_order, так что теперь вы можете выбрать created в качестве опции.

Я добавил настройку под названием portfolio_route_name, которая позволит это сделать. Обратите внимание, что если вы не разбираетесь в кодировании URL, лучше использовать одно слово без пробелов и специальных символов.

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

Это исправлено.

3 лайка

Прежде всего, огромное спасибо за то, что нашли время это реализовать. Это была бы очень востребованная функция для нашего сайта. Я только что обновился до последнего коммита и изменил настройку, но, похоже, она не работает. Не упустил ли я что-то? Нужно ли перезапускать Discourse?
image

2 лайка

Хм, перезапуск не должен быть необходим (хотя, если страница уже открыта, её нужно обновить).

У меня на тестовом сайте всё работает…

Например, отсортировано по последнему обновлению:

отсортировано по последнему созданию:

2 лайка

Да! Извините, моя ошибка, вы абсолютно правы. Я использую другой плагин под названием Topic List Thumbnails, который, к сожалению, иногда не переносится корректно, из-за чего кажется, что порядок нарушен. Но он работает идеально. Ещё раз большое спасибо!

2 лайка

Спасибо за все эти исправления, это здорово!

Какие есть варианты создания такого плагина? Будет ли это рассмотрено командой Discourse, или мне стоит просто создать тему на рынке, или есть что-то еще?

3 лайка

Возможно ли на данном этапе добавить вторую категорию?

Также, как мы могли бы реализовать «несколько» портфолио? Например, мы хотели бы иметь общую вкладку портфолио для всех пользователей. Но для наших B2B-пользователей мы хотели бы добавить вкладку «Продукты» вместо неё.

Мы могли бы быть заинтересованы в финансировании этих функций, если реализация не будет слишком сложной.

1 лайк

Было бы интересно, если бы это охватывало ещё один сценарий использования:

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

Было бы здорово, если бы ваш плагин мог извлекать данные из нескольких записей в одной теме, а не только из изображения верхнего уровня. Иными словами, для создания портфолио он мог бы использовать все изображения из одной темы или только первую и последнюю записи и так далее.

4 лайка

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

@RGJ, можем ли мы открыть плагин для публичного использования?

3 лайка

Вот ссылка: GitHub - communiteq/discourse-topic-thumbnail-recent-post · GitHub
Обратите внимание, что это работает только для тем в формате журнала.

3 лайка