XF 2.2 Как сделать подобное отображение тем в узле?

Версия XenForo
XF 2.2.13

Waynet

Проверенные
Сообщения
252
Решения
10
Реакции
66
Баллы
100
Доброго времени суток, форумчане. Подскажите, как сделать подобное отображение тем в узле, пожалуйста.
1721999245783.png
Заранее всех благодарю. Форум - .
 
Решение
Модификацией шаблона

Имя шаблона: node_list_forum
Ключ: на свой выбор
Описание: не обязательно

Найти:
HTML:
            <xf:if is="!{$extras.privateInfo}">
                <div class="node-stats">
                    <dl class="pairs pairs--rows">
                        <dt>{{ phrase('threads') }}</dt>
                        <dd>{$extras.discussion_count|number_short(1)}</dd>
                    </dl>
                    <dl class="pairs pairs--rows">
                        <dt>{{ phrase('messages') }}</dt>
                        <dd>{$extras.message_count|number_short(1)}</dd>
                    </dl>
                </div>
            </xf:if>

Заменить:
HTML:
            <xf:if is="!{$extras.privateInfo}">...
Модификацией шаблона

Имя шаблона: node_list_forum
Ключ: на свой выбор
Описание: не обязательно

Найти:
HTML:
            <xf:if is="!{$extras.privateInfo}">
                <div class="node-stats">
                    <dl class="pairs pairs--rows">
                        <dt>{{ phrase('threads') }}</dt>
                        <dd>{$extras.discussion_count|number_short(1)}</dd>
                    </dl>
                    <dl class="pairs pairs--rows">
                        <dt>{{ phrase('messages') }}</dt>
                        <dd>{$extras.message_count|number_short(1)}</dd>
                    </dl>
                </div>
            </xf:if>

Заменить:
HTML:
            <xf:if is="!{$extras.privateInfo}">
                <div class="node-stats">
                    <div class="blocknode-stats">
                        <i class="fas fa-pencil-alt"></i>
                            <span title="Темы">{$extras.discussion_count|number_short(1)}</span>
                        <span class="nodeava">
                            <xf:if is="$xf.visitor.isIgnoring($extras.last_post_user_id)">
                                <xf:avatar user="{{ null }}" size="xs" />
                            <xf:else />
                                <xf:avatar user="{$extras.LastPostUser}" defaultname="{$extras.last_post_username}" size="xs" />
                            </xf:if>
                        </span>
                    </div>
                </div>
            </xf:if>

Далее в extra.less
А можно и это модификацией
CSS:
.blocknode-stats {
    border-radius: 30px;
    display: block;
    width: 100%;
    height: 55px;
    padding: 0 55px 0 17px;
    font-size: 14px;
    font-weight: 700;
    color: white;
    text-align: left;
    line-height: 55px;
    position: relative;
    background: #2b3245;
    max-width: 146px;
}
.fas.fa-pencil-alt {
    margin: 0 16px 0 0;
}
.nodeava {
    position: absolute;
    left: 93px;
    top: 13px;
}
.node-extra-icon {
    display: none;
}

1722028107952.png
 
Последнее редактирование:
Модификацией шаблона

Имя шаблона: node_list_forum
Ключ: на свой выбор
Описание: не обязательно

Найти:
HTML:
            <xf:if is="!{$extras.privateInfo}">
                <div class="node-stats">
                    <dl class="pairs pairs--rows">
                        <dt>{{ phrase('threads') }}</dt>
                        <dd>{$extras.discussion_count|number_short(1)}</dd>
                    </dl>
                    <dl class="pairs pairs--rows">
                        <dt>{{ phrase('messages') }}</dt>
                        <dd>{$extras.message_count|number_short(1)}</dd>
                    </dl>
                </div>
            </xf:if>

Заменить:
HTML:
            <xf:if is="!{$extras.privateInfo}">
                <div class="node-stats">
                    <div class="blocknode-stats">
                        <i class="fas fa-pencil-alt"></i>
                            <span title="Темы">{$extras.discussion_count|number_short(1)}</span>
                        <span class="nodeava">
                            <xf:if is="$xf.visitor.isIgnoring($extras.last_post_user_id)">
                                <xf:avatar user="{{ null }}" size="xs" />
                            <xf:else />
                                <xf:avatar user="{$extras.LastPostUser}" defaultname="{$extras.last_post_username}" size="xs" />
                            </xf:if>
                        </span>
                    </div>
                </div>
            </xf:if>

Далее в extra.less
А можно и это модификацией
CSS:
.blocknode-stats {
    border-radius: 30px;
    display: block;
    width: 100%;
    height: 55px;
    padding: 0 55px 0 17px;
    font-size: 14px;
    font-weight: 700;
    color: white;
    text-align: left;
    line-height: 55px;
    position: relative;
    background: #2b3245;
    max-width: 146px;
}
.fas.fa-pencil-alt {
    margin: 0 16px 0 0;
}
.nodeava {
    position: absolute;
    left: 93px;
    top: 13px;
}
.node-extra-icon {
    display: none;
}

Посмотреть вложение 154091
Благодарю, но я немного видоизменил код.

HTML:
            <xf:if is="!{$extras.privateInfo}">
                <div class="node-stats">
                    <div class="blocknode-stats">
                        <i class="fas fa-pencil-alt"></i>
                            <span title="Темы">{$extras.discussion_count|number_short(1)}</span>
                        <span class="nodeava">
                            <xf:if is="$xf.visitor.isIgnoring($extras.last_post_user_id)">
                                <xf:avatar user="{{ null }}" size="xs" />
                            <xf:else />
                                <xf:avatar user="{$extras.LastPostUser}" defaultname="{$extras.last_post_username}" size="xs" />
                            </xf:if>
                        </span>
                    </div>
                </div>
            </xf:if>
Тут изменил я <span title="Темы"> на <span title="{{ phrase('threads') }}">, чтоб на английском отображение было Threads , а на русском Темы. И в extra.less заменил Ваш код
CSS:
.fas.fa-pencil-alt {
    margin: 0 16px 0 0;
}
На
CSS:
.blocknode-stats i.fas.fa-pencil-alt {
    margin: 0 16px 0 0;
}
Чтобы свойство применялось к иконке только в blocknode stats. И еще немного поигрался с свойством top в .nodeava, мне показалось, что оно не совсем по центру поэтому поставил значение 12px
Благодарю Вас за код.
 
Последнее редактирование:
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу