Bonjour, Crystal Community !
je vous partage aujourd'hui une modification de template qui va vous mettre d'ajouté un timer sur votre visitor panel, pour dire Bonne après-midi, Bonne nuit etc !
image Résulta :
Pour commencé crée une template et nommé la comme sa : account_visitor_menu_sidebar
Mettez-y ce code :
<div class="menu-row menu-row--highlighted">
<xf:macro name="visitor_panel_row_sidebar" />
</div>
<xf:macro name="visitor_panel_row_sidebar">
<h3 class="visitorh3">
<span class="visitor_outer">
<span class="visitor_inner">
<script language="JavaScript">
day = new Date();
hour = day.getHours();
if (hour>=5 && hour<12) greeting = "Bonne matinée";
else {
if (hour>=12 && hour<18) greeting = "Bonne après-midi";
else {
if (hour>=18 && hour<24) greeting = "Bonne soirée";
else {
if (hour>=0 && hour<5) greeting = "Bonne nuit";
}
}
}
document.write(greeting);
</script>
</span>
</span>
</h3>
<div class="contentRow">
<div class="contentRow-figure">
<xf:avatar user="{$xf.visitor}" size="m" href="" notooltip="true" update="{{ link('account/avatar', $xf.visitor) }}" />
</div>
<div class="contentRow-main">
<h3 class="contentRow-header"><xf:username user="$xf.visitor" rich="true" notooltip="true" /></h3>
<div class="contentRow-lesser">
<xf:usertitle user="$xf.visitor" />
</div>
<div class="contentRow-minor">
<!--[XF:stats_pairs:above_messages]-->
<dl class="pairs pairs--justified fauxBlockLink">
<dt>{{ phrase('messages') }}</dt>
<dd>
<a href="{{ link('search/member', null, {'user_id': $xf.visitor.user_id}) }}" class="fauxBlockLink-linkRow u-concealed">
{$xf.visitor.message_count|number}
</a>
</dd>
</dl>
<!--[XF:stats_pairs:above_likes]-->
<dl class="pairs pairs--justified fauxBlockLink">
<dt>{{ phrase('likes') }}</dt>
<dd>
<a href="{{ link('account/likes') }}" class="fauxBlockLink-linkRow u-concealed">
{$xf.visitor.like_count|number}
</a>
</dd>
</dl>
<!--[XF:stats_pairs:above_points]-->
<xf:if is="$xf.options.enableTrophies">
<dl class="pairs pairs--justified fauxBlockLink">
<dt>{{ phrase('trophy_points') }}</dt>
<dd>
<a href="{{ link('members/trophies', $xf.visitor) }}" data-xf-click="overlay" class="fauxBlockLink-linkRow u-concealed">
{$xf.visitor.trophy_points|number}
</a>
</dd>
</dl>
</xf:if>
</div>
</div>
</div>
</xf:macro>
<!--[XF:menu_separator:below_visitor_panel]-->
<hr class="menu-separator menu-separator--hard" />
<ul class="listPlain listColumns listColumns--narrow listColumns--together">
<!--[XF:content_links:top]-->
<li><a href="{{ link('whats-new/news-feed') }}" class="menu-linkRow">{{ phrase('news_feed') }}</a></li>
<li><a href="{{ link('search/member', null, {'user_id': $xf.visitor.user_id}) }}" class="menu-linkRow">{{ phrase('your_content') }}</a></li>
<li><a href="{{ link('account/likes') }}" class="menu-linkRow">{{ phrase('likes_received') }}</a></li>
<!--[XF:content_links:bottom]-->
</ul>
<!--[XF:menu_separator:below_content_links]-->
<hr class="menu-separator" />
<ul class="listPlain listColumns listColumns--narrow listColumns--together">
<!--[XF:account_links:top]-->
<li><a href="{{ link('account/account-details') }}" class="menu-linkRow">{{ phrase('account_details') }}</a></li>
<li><a href="{{ link('account/security') }}" class="menu-linkRow">{{ phrase('password_and_security') }}</a></li>
<li><a href="{{ link('account/privacy') }}" class="menu-linkRow">{{ phrase('privacy') }}</a></li>
<li><a href="{{ link('account/preferences') }}" class="menu-linkRow">{{ phrase('preferences') }}</a></li>
<xf:if is="$xf.visitor.canEditSignature()">
<li><a href="{{ link('account/signature') }}" class="menu-linkRow">{{ phrase('signature') }}</a></li>
</xf:if>
<xf:if is="$xf.app.userUpgradeCount">
<li><a href="{{ link('account/upgrades') }}" class="menu-linkRow">{{ phrase('account_upgrades') }}</a></li>
</xf:if>
<xf:if is="$xf.app.connectedAccountCount">
<li><a href="{{ link('account/connected-accounts') }}" class="menu-linkRow">{{ phrase('connected_accounts') }}</a></li>
</xf:if>
<li><a href="{{ link('account/following') }}" class="menu-linkRow">{{ phrase('following') }}</a></li>
<li><a href="{{ link('account/ignored') }}" class="menu-linkRow">{{ phrase('ignoring') }}</a></li>
<!--[XF:account_links:bottom]-->
</ul>
<!--[XF:menu_separator:below_account_links]-->
<hr class="menu-separator" />
<a href="{{ link('logout', null, {'t': csrf_token()}) }}" class="menu-linkRow">{{ phrase('log_out') }}</a>
<xf:if is="$xf.visitor.canPostOnProfile()">
<xf:form action="{{ link('members/post', $xf.visitor) }}" ajax="true"
data-redirect="off"
data-reset-complete="true"
data-no-auto-focus="true"
class="menu-footer">
<xf:textarea name="message" rows="1" autosize="true"
maxlength="{$xf.options.profilePostMaxLength}"
placeholder="{{ phrase('update_your_status...') }}"
data-xf-init="focus-trigger user-mentioner" data-display="< :next" />
<div class="u-hidden u-hidden--transition u-inputSpacer">
<xf:button type="submit" class="button--primary">{{ phrase('post_verb') }}</xf:button>
</div>
</xf:form>
</xf:if>
Rechercher dans le template widget_visitor_panel :
<xf:macro template="account_visitor_menu" name="visitor_panel_row" />
Remplace cette ligne par ça :
<xf:macro template="account_visitor_menu_sidebar" name="visitor_panel_row_sidebar" />
Puis pour finir dans Extra.less, ajouter à la fin :
h3.visitorh3 {
font-size: 13px;
color: #5c7585;
margin-bottom: 5px;
position: relative;
top: -20px;
text-align: center;
left: 0;
text-transform: uppercase;
padding: -5px;
border-width: 0;
margin: -5px;
}
span.visitor_outer {
color: #5c7585;
padding: 0 10px;
display: inline-block;
text-transform: uppercase;
font-weight: initial !important;
}
span.visitor_inner {
line-height: 30px;
background: #263137;
padding: 0 18px;
display: inline-block;
border: 1px solid #3c464b;
border-radius: 2px;
}
Cordialement
Fev 12, 2024