XF 2.3 Доп поле пользователя дублируется

Статус
В этой теме нельзя размещать новые ответы.
Версия XenForo
2.3.4

Sozdatel

Проверенные
Сообщения
63
Реакции
3
Баллы
15
Всем привет.Создал доп поле пользователя
Снимок экрана 2024-12-27 в 23.18.54.png
Но депозит появился почему то только в темах сбоку
а в профиле его нет
Снимок экрана 2024-12-27 в 21.11.34.png
Снимок экрана 2024-12-27 в 21.12.38.png
.Фразу создал, доп поле пользователя тоже создал.А самое интересное что при выдаче депозита поле дублируется
Снимок экрана 2024-12-27 в 21.22.26.png
 
Последнее редактирование:
Создал доп поле пользователя
Касательно телепатии: если Вы передаете Ваши проблемы телепатическим путем - ответы будут передаваться тоже телепатически.
Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком.
 
Что у вас в модификации шаблона и в message_macros?

вот основной код модификации шаблона
Код:
<xf:macro id="user_info"
    arg-user="!"
    arg-fallbackName=""
    arg-includeMicrodata="{{ true }}"
    arg-itemProp="">

    <section class="message-user"
        {{ ($includeMicrodata && $itemProp) ? 'itemprop="' . $itemProp . '"' : '' }}
        {{ $includeMicrodata ? 'itemscope itemtype="https://schema.org/Person"' : '' }}
        {{ ($includeMicrodata && $user) ? 'itemid="' . link('canonical:members', $user) . '"' : '' }}>

        <xf:if is="$includeMicrodata && $user">
            <meta itemprop="url" content="{{ link('canonical:members', $user) }}" />
        </xf:if>

        <div class="message-avatar {{ ($xf.options.showMessageOnlineStatus && $user && $user.isOnline()) ? 'message-avatar--online' : '' }}">
            <div class="message-avatar-wrapper">
                <xf:avatar user="$user" size="m" defaultname="{$fallbackName}" itemprop="{{ $includeMicrodata ? 'image' : '' }}" />
                <xf:if is="$xf.options.showMessageOnlineStatus && $user && $user.isOnline()">
                    <span class="message-avatar-online" tabindex="0" data-xf-init="tooltip" data-trigger="auto" title="{{ phrase('online_now')|for_attr }}"></span>
                </xf:if>
            </div>
        </div>
        <div class="message-userDetails">
            <h4 class="message-name"><xf:username user="$user" rich="true" defaultname="{$fallbackName}" itemprop="{{ $includeMicrodata ? 'name' : '' }}" /></h4>
            <xf:usertitle user="$user" tag="h5" class="message-userTitle" banner="true" itemprop="{{ $includeMicrodata ? 'jobTitle' : '' }}" />
            <xf:userbanners user="$user" tag="div" class="message-userBanner" itemprop="{{ $includeMicrodata ? 'jobTitle' : '' }}" />
        </div>
        <xf:if is="$user.user_id">
            <xf:set var="$extras" value="{{ property('messageUserElements') }}" />
            <xf:if contentcheck="true">
                <div class="message-userExtras">
                <xf:contentcheck>
                    <xf:if is="$extras.register_date">
                        <dl class="pairs pairs--justified">
                            <dt>{{ phrase('joined') }}</dt>
                            <dd>{{ date($user.register_date) }}</dd>
                        </dl>
                    </xf:if>
                    <xf:if is="$extras.message_count">
                        <dl class="pairs pairs--justified">
                            <dt>{{ phrase('messages') }}</dt>
                            <dd>{$user.message_count|number}</dd>
                        </dl>
                    </xf:if>
                    <xf:if is="$extras.solutions AND $user.question_solution_count">
                        <dl class="pairs pairs--justified">
                            <dt>{{ phrase('solutions') }}</dt>
                            <dd>{$user.question_solution_count|number}</dd>
                        </dl>
                    </xf:if>
                    <xf:if is="$extras.reaction_score">
                        <dl class="pairs pairs--justified">
                            <dt>{{ phrase('reaction_score') }}</dt>
                            <dd>{$user.reaction_score|number}</dd>
                        </dl>
                    </xf:if>
                    <xf:if is="$extras.trophy_points && $xf.options.enableTrophies">
                        <dl class="pairs pairs--justified">
                            <dt>{{ phrase('points') }}</dt>
                            <dd>{$user.trophy_points|number}</dd>
                        </dl>
                    </xf:if>
                    <xf:if is="$extras.age && $user.Profile.age">
                        <dl class="pairs pairs--justified">
                            <dt>{{ phrase('age') }}</dt>
                            <dd>{$user.Profile.age}</dd>
                        </dl>
                    </xf:if>
                    <xf:if is="$extras.location && $user.Profile.location">
                        <dl class="pairs pairs--justified">
                            <dt>{{ phrase('location') }}</dt>
                            <dd>
                                <xf:if is="$xf.options.geoLocationUrl">
                                    <a href="{{ link('misc/location-info', '', {'location': $user.Profile.location}) }}" rel="nofollow noreferrer" target="_blank" class="u-concealed">{$user.Profile.location}</a>
                                <xf:else />
                                    {$user.Profile.location}
                                </xf:if>
                            </dd>
                        </dl>
                    </xf:if>
                    <xf:if is="$extras.website && $user.Profile.website">
                        <dl class="pairs pairs--justified">
                            <dt>{{ phrase('website') }}</dt>
                            <dd><a href="{$user.Profile.website}" rel="nofollow" target="_blank">{$user.Profile.website|url_display('host', phrase('visit_site'))}</a></dd>
                        </dl>
                    </xf:if>
                    <xf:if is="$extras.custom_fields">
                        <xf:macro id="custom_fields_macros::custom_fields_values"
                            arg-type="users"
                            arg-group="personal"
                            arg-set="{$user.Profile.custom_fields}"
                            arg-additionalFilters="{{ ['message'] }}"
                            arg-valueClass="pairs pairs--justified" />
                        <xf:if is="$user.canViewIdentities()">
                            <xf:macro id="custom_fields_macros::custom_fields_view"
                                arg-type="users"
                                arg-group="contact"
                                arg-set="{$user.Profile.custom_fields}"
                                arg-additionalFilters="{{ ['message'] }}"
                                arg-valueClass="pairs pairs--justified" />
                        </xf:if>
                    </xf:if>
                </xf:contentcheck>
                </div>
            </xf:if>
        </xf:if>
        <span class="message-userArrow"></span>
    </section>
</xf:macro>

<xf:macro id="user_info_simple" arg-user="!" arg-fallbackName="" arg-includeMicrodata="{{ true }}" arg-itemProp="">
    <header class="message-user"
        {{ ($includeMicrodata && $itemProp) ? 'itemprop="' . $itemProp . '"' : '' }}
        {{ $includeMicrodata ? 'itemscope itemtype="https://schema.org/Person"' : '' }}
        {{ ($includeMicrodata && $user) ? 'itemid="' . link('canonical:members', $user) . '"' : '' }}>

        <xf:if is="$includeMicrodata">
            <meta itemprop="name" content="{{ $user.username ?: $fallbackName }}" />
            <xf:if is="$user">
                <meta itemprop="url" content="{{ link('canonical:members', $user) }}" />
            </xf:if>
        </xf:if>

        <div class="message-avatar">
            <div class="message-avatar-wrapper">
                <xf:avatar user="$user" size="s" defaultname="{$fallbackName}" itemprop="{{ $includeMicrodata ? 'image' : '' }}" />
            </div>
        </div>
        <span class="message-userArrow"></span>
    </header>
</xf:macro>

<xf:macro id="attachments" arg-attachments="!" arg-message="!" arg-canView="!">
    <xf:if contentcheck="true">
        <xf:css src="attachments.less" />
        <section class="message-attachments">
            <h4 class="block-textHeader">{{ phrase('attachments') }}</h4>
            <ul class="attachmentList">
                <xf:contentcheck>
                    <xf:foreach loop="$attachments" value="$attachment" if="!$message.isAttachmentEmbedded($attachment)">
                        <xf:macro id="attachment_macros::attachment_list_item"
                            arg-attachment="{$attachment}"
                            arg-canView="{$canView}" />
                    </xf:foreach>
                </xf:contentcheck>
            </ul>
        </section>
    </xf:if>
</xf:macro>

<xf:macro id="signature" arg-user="!">
    <xf:if is="$xf.visitor.Option.content_show_signature AND $user.Profile.signature">
        <xf:if contentcheck="true">
            <aside class="message-signature">
            <xf:contentcheck>
                {{ bb_code($user.Profile.signature, 'user:signature', $user) }}
            </xf:contentcheck>
            </aside>
        </xf:if>
    </xf:if>
</xf:macro>

вот найти
Код:
<xf:if is="$extras.custom_fields">

вот замена
Код:
$0
<dl class="pairs pairs--justified">
    <dt>Депозит</dt>
    <dd>{{ $user.Profile.custom_fields.deposit ? $user.Profile.custom_fields.deposit : '0' }} $.</dd>
</dl>

меня интересует в первую очередь как вывести его не только в темах но и в профиле
 
Последнее редактирование модератором:
А самое интересное что при выдаче депозита поле дублируется
Если это просто доп поле, а не плагин какой либо, то если оно не пустое, то естественно оно будет выводиться, если в настройках указано отображение доп поля в блоке информации о пользователе в сообщениях. Как вариант, отключить это отображение в настройках доп поля, если требуется, чтобы выводило нулевой баланс, если нет допозита.
меня интересует в первую очередь как вывести его не только в темах но и в профиле
Модификация шаблона member_macros
Найти:
Less:
<!--[XF:stat_pairs:below_trophies]-->
Заменить:
Less:
$0
<dl class="pairs pairs--rows pairs--rows--centered">
    <dt>Депозит</dt>
    <dd>{{ $user.Profile.custom_fields.deposit ? $user.Profile.custom_fields.deposit : '0' }} $.</dd>
</dl>
 
а что я должен был указать?Предыдущую тему закрыли как решенную не дождавшись решения
Прошлая тема была закрыта, так как вопрос был решён, Вы спрашивали как создать, а дальше уже понеслось всё остальное.
Отсюда, всё верно, новая тема.
 
Прошлая тема была закрыта, так как вопрос был решён, Вы спрашивали как создать, а дальше уже понеслось всё остальное.
Отсюда, всё верно, новая тема.
Понял, извините за недопонимание.

Можно последний вопрос в данной теме?У меня получилось убрать дублирующий депозит только при помощи отключения модификации.
Снимок экрана 2024-12-28 в 10.58.59.png

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

Модификация шаблона member_macros
Найти:
Less:
<!--[XF:stat_pairs:below_trophies]-->
Заменить:
Less:
$0
<dl class="pairs pairs--rows pairs--rows--centered">
    <dt>Депозит</dt>
    <dd>{{ $user.Profile.custom_fields.deposit ? $user.Profile.custom_fields.deposit : '0' }} $.</dd>
</dl>
Снимок экрана 2024-12-28 в 11.04.17.png

До закрытия темы заранее всем спасибо за помощь.
 
Последнее редактирование модератором:
Sozdatel, Такое ощущение, что ты сам не знаешь чего хочешь)) Зачем тогда вообще лез в модификации для вывода депозита в сообщениях в информации о пользователе? Оно там и так выводится при правильной настройке и не пустом значении.
Но при создании модификации в member_macros депозит в профиле с нулевым значениям?Они как то конфликтуют?
Ты добавил модификацию, но не соизволил даже разобраться с тем что она делает, как работает код в этой модификации. Если продолжишь в таком же духе (заниматься копипастом не разбираясь в работе), то скорее всего число желающих тебе помочь приблизится к нулю.
В модификации шаблона member_macros в блоке заменить:
Less:
$0
<xf:if is="$user.Profile.custom_fields.deposit">
    <dl class="pairs pairs--rows pairs--rows--centered">
        <dt>Депозит</dt>
        <dd>{{ $user.Profile.custom_fields.deposit }}</dd>
    </dl>
</xf:if>
Но при создании модификации в member_macros депозит в профиле с нулевым значениям?Они как то конфликтуют?
ID дополнительного поля должно быть deposit. Скорее всего они отличаются, раз в темах одно значение, а в профиле другое. Поскольку в созданном допполе нельзя сменить ID, то подправить его в модификации.
 
Sozdatel, Такое ощущение, что ты сам не знаешь чего хочешь)) Зачем тогда вообще лез в модификации для вывода депозита в сообщениях в информации о пользователе? Оно там и так выводится при правильной настройке и не пустом значении.

Ты добавил модификацию, но не соизволил даже разобраться с тем что она делает, как работает код в этой модификации. Если продолжишь в таком же духе (заниматься копипастом не разбираясь в работе), то скорее всего число желающих тебе помочь приблизится к нулю.
В модификации шаблона member_macros в блоке заменить:
Less:
$0
<xf:if is="$user.Profile.custom_fields.deposit">
    <dl class="pairs pairs--rows pairs--rows--centered">
        <dt>Депозит</dt>
        <dd>{{ $user.Profile.custom_fields.deposit }}</dd>
    </dl>
</xf:if>

ID дополнительного поля должно быть deposit. Скорее всего они отличаются, раз в темах одно значение, а в профиле другое. Поскольку в созданном допполе нельзя сменить ID, то подправить его в модификации.
Я месяц назад еще понятия не имел что это такое.Да и сейчас очень с трудом доходит-если бы я понимал я бы не задавал вам тупых вопросов.Если я сильно напрягаю то прошу прощение.После замены депозит в профиле пропал

ID поля deposit
Снимок экрана 2024-12-28 в 15.48.17.png
 
Последнее редактирование модератором:
оно и есть депозит
Серьёзно? Не смущает, что в модификации deposit с маленькой буквы, а в допполе идентификатор с большой? Я на этом удаляюсь))) Чем смог, тем помог.
 
Серьёзно? Не смущает, что в модификации deposit с маленькой буквы, а в допполе идентификатор с большой? Я на этом удаляюсь))) Чем смог, тем помог.
Огромное спасибо

Да вот я конечно тупень.Проблема решена - всем огромное спасибо.Тему можно закрывать
 
Последнее редактирование модератором:
До закрытия темы заранее всем спасибо за помощь.
Вы буквально не поняли, всё верно сделали, создав эту тему с новым вопросом.
Пока здесь решение не будет предоставлено в полной мере, она будет открыта.
Да вот я конечно тупень.Проблема решена - всем огромное спасибо.Тему можно закрывать
Все с чего-то начинали, всё нормально.
 
Статус
В этой теме нельзя размещать новые ответы.
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу