Всем привет! Буду очень благодарен, если кто-то сможет помочь нам со следующей доработкой:
Что вы хотите сделать?
Нам нужно разместить блок «Список желаний» на главной странице. Вот как он должен работать:
Блок отображает 4 последних темы, сохраняя текущий дизайн, включая количество голосов, заголовок темы (вместе с названием подкатегории и тегом), аватары пользователей, количество ответов, просмотров и дату последнего обновления. Все детали мы зафиксировали на скриншоте.
Темы должны быть отсортированы по количеству голосов, следуя существующей сортировке в категории «Список желаний».
Кнопка «Показать ещё» должна вести на полную категорию «Список желаний», также отсортированную по голосам.
Мне было бы интересно обсудить, как это лучше всего реализовать, чтобы обеспечить максимальную совместимость с общей архитектурой.
У меня уже есть компонент для отображения избранных списков тем: Избранные списки. В данный момент он использует компонент BasicTopicList из ядра. Возможно, можно использовать и TopicList, но я не уверен, будет ли разница. Стандартный вид:
Но это не обновляет представление в компоненте «Избранные списки». Поэтому я задаюсь вопросом, не будет ли лучшим решением создать общий компонент, который добавляет отдельный столбец списка тем для голосов, аналогично столбцу автора?
Но я также сомневаюсь, не упускаю ли я что-то, почему существующий официальный компонент не делает этого?
После небольшого изучения вопроса, я бы, скорее всего, поступил так:
Создать компонент, который добавляет столбец «Голоса» в макет списка тем.
Добавить в настройки компонента выбор категории. Это позволит использовать эту опцию, если вы хотите отображать столбец только в определённых категориях.
Если вы хотите показывать столбец «Голоса» в глобальных списках или списках избранных тем, не ограничивайте его конкретными категориями и отображайте везде. Либо скройте его с помощью CSS в списках, где он не должен быть виден.