XF 2.3 Галочка в виджете для решённых вопросов, либо их удаление из виджета

Версия XenForo
2.3

CHEL74

Участники
Сообщения
43
Решения
1
Реакции
6
Баллы
15
В списке тем решённые вопросы отмечаются галочкой. Возникла идея реализовать это и для виджетов, чтобы перед названием решённой темы была галочка (может даже для этого уже готовый плагин есть).

Что касается самостоятельной реализации, в шаблоне thread_list_macros нашёл следующее:
HTML:
<xf:extension id="thread_type_question_solved">
  <li>
    <i class="structItem-status structItem-status--solved" aria-hidden="true" title="{{ phrase('solved')|for_attr }}"></i>
    <span class="u-srOnly">{{ phrase('solved') }}</span>
  </li>
</xf:extension>

Модифицировать нужно как я понял widget_new_threads:
HTML:
<h4 class="block-header">
  <a href="{{ link('threads', $thread) }}">{$thread.title}</a>
</h4>

Но вот как именно, моих знаний уже не хватит.



Альтернативой будет удаление решённого вопроса из виджета. Возможно, это даже лучший вариант. Но тут я не знаю, можно или нет так.
 
Последнее редактирование:
Модификация шаблона widget_new_threads
Ключ модификации: Придумайте
Тип поиска: Простая замена
Поиск:
HTML:
<a href="{{ link('threads', $thread) }}">{$thread.title}</a>
Заменить:
HTML:
<a href="{{ link('threads', $thread) }}">
    <xf:if is="$thread.discussion_type == 'question' && $thread.type_data.solution_post_id">
        <xf:fa icon="fa-check-circle" title="{{ phrase('solved')|for_attr }}" />
        <span class="u-srOnly">{{ phrase('solved') }}</span>
    </xf:if>
    {$thread.title}
</a>


Модификация шаблона thread_list_macros
Ключ модификации: Придумайте
Тип поиска: Простая замена
Поиск:
HTML:
<a href="{{ link('threads', $thread) }}" {{ !$thread.isSearchEngineIndexable() ? 'rel="nofollow"' : '' }}>{{ prefix('thread', $thread) }}{$thread.title}</a>
Заменить:
HTML:
<a href="{{ link('threads', $thread) }}" {{ !$thread.isSearchEngineIndexable() ? 'rel="nofollow"' : '' }}>
    <xf:if is="$thread.discussion_type == 'question' && $thread.type_data.solution_post_id">
        <xf:fa icon="fa-check-circle" title="{{ phrase('solved')|for_attr }}" />
        <span class="u-srOnly">{{ phrase('solved') }}</span>
    </xf:if>
    {{ prefix('thread', $thread) }}{$thread.title}
</a>

Альтернативой будет удаление решённого вопроса из виджета. Возможно, это даже лучший вариант.
Писать только плагин, если делать модификацию шаблона, то не получится это сделать нормально, потому что это скрытие только на уровне шаблона. По дефолту виджет показывает 5 тем, если из них будет 2 темы с решением, то будет показано 3 темы, он не добирает новые темы взамен скрытых
 
Kokiyo, большое спасибо! Принцип ясен, но похоже, я не тот шаблон виджета указал, ничего не произошло.

widget_new_threads - это новые темы? А у меня виджет новых сообщений в темах, другой получается. И что-то я пока не понимаю, какой именно тут шаблон нужен для моего случая.

В целом, перенести эту логику проблем нет теперь. Главное, понять, где его шаблон.

Модификация шаблона thread_list_macros
В листе тем как раз есть галочки. Я его в пример привёл именно поэтому вначале. Но как там FA иконка реализована, я так и не понял.

P. S.: Тестово попробовал модификацию применить, тоже ничего не произошло.
 
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу