1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

XF 1.4 How to add this Top code?

Discussion in 'Styling and Customization Questions' started by New Joe, May 7, 2015.

  1. New Joe

    New Joe Active Member

    If you look at this screen shot you'll see a Top code which is on the right of each post, when clicked it takes you to the top of the Forum:

    Screen Shot 2558-05-07 at 9.52.27 PM.png

    What code could be used to achieve that?
    Which Template would need editing and where?

    51463 likes this.
  2. 51463

    51463 Well-Known Member

    Repace the post template with:

    <xen:include template="message">
        <xen:map from="$post" to="$message" />
        <xen:set var="$messageId">post-{$post.post_id}</xen:set>
        <xen:set var="$likesUrl">{xen:link posts/likes, $post}</xen:set>
        <xen:set var="$messageContentAfterTemplate"><xen:if is="{$post.attachments}"><xen:include template="attached_files" /></xen:if></xen:set>
        <xen:set var="$messageAfterTemplate">
            <div class="messageMeta ToggleTriggerAnchor">
                <div class="privateControls">
                    <xen:if is="{$post.canInlineMod}"><input type="checkbox" name="posts[]" value="{$post.post_id}" class="InlineModCheck item" data-target="#post-{$post.post_id}" title="{xen:phrase select_this_post_by_x, 'name={$post.username}'}" /></xen:if>
                    <span class="item muted">
                        <span class="authorEnd"><xen:username user="$post" class="author" />,</span>
                        <a href="{xen:link threads/post-permalink, $thread, 'post={$post}'}" title="{xen:phrase permalink}" class="datePermalink"><xen:datetime time="$post.post_date" /></a>
                    <xen:hook name="post_private_controls" params="{xen:array 'post={$post}'}">
                    <xen:if is="{$post.canEdit}">
                        <a href="{xen:link posts/edit, $post}" class="item control edit {xen:if $xenOptions.messageInlineEdit, OverlayTrigger}"
                            data-href="{xen:link posts/edit-inline, $post}" data-overlayOptions="{&quot;fixed&quot;:false}"
                            data-messageSelector="#post-{$post.post_id}"><span></span>{xen:phrase edit}</a>
                        <xen:require js="js/xenforo/discussion.js" />
                    <xen:if is="{$post.edit_count} && {$post.canViewHistory}"><a href="{xen:link posts/history, $post}" class="item control history ToggleTrigger"><span></span>{xen:phrase history}</a></xen:if>
                    <xen:if is="{$post.canDelete}"><a href="{xen:link posts/delete, $post}" class="item control delete OverlayTrigger"><span></span>{xen:phrase delete}</a></xen:if>
                    <xen:if is="{$post.canCleanSpam}"><a href="{xen:link spam-cleaner, $post}" class="item control deleteSpam OverlayTrigger"><span></span>{xen:phrase spam}</a></xen:if>
                    <xen:if is="{$canViewIps} AND {$post.ip_id}"><a href="{xen:link posts/ip, $post}" class="item control ip OverlayTrigger"><span></span>{xen:phrase ip}</a></xen:if>
                    <xen:if is="{$post.canWarn}">
                        <a href="{xen:link members/warn, $post, 'content_type=post', 'content_id={$post.post_id}'}" class="item control warn"><span></span>{xen:phrase warn}</a>
                    <xen:elseif is="{$post.warning_id} && {$canViewWarnings}" />
                        <a href="{xen:link warnings, $post}" class="OverlayTrigger item control viewWarning"><span></span>{xen:phrase view_warning}</a>
                    <xen:if is="{$post.canReport}">
                        <a href="{xen:link posts/report, $post}" class="OverlayTrigger item control report" data-cacheOverlay="false"><span></span>{xen:phrase report}</a>
                <div class="publicControls">
                    <a href="{xen:link threads/post-permalink, $thread, 'post={$post}'}" title="{xen:phrase permalink}" class="item muted postNumber hashPermalink OverlayTrigger" data-href="{xen:link posts/permalink, $post}">#{xen:calc '{$post.position} + 1'}</a>
                    <xen:hook name="post_public_controls" params="{xen:array 'post={$post}'}">
                    <xen:if is="{$post.canLike}">
                        <a href="{xen:link posts/like, $post}" class="LikeLink item control {xen:if $post.like_date, unlike, like}" data-container="#likes-post-{$post.post_id}"><span></span><span class="LikeLabel">{xen:if $post.like_date, {xen:phrase unlike}, {xen:phrase like}}</span></a>
                    <xen:if is="{$canReply}">
                        <xen:if is="{$xenOptions.multiQuote}"><a href="{xen:link threads/reply, $thread, 'quote={$post.post_id}'}"
                            class="MultiQuoteControl JsOnly item control"
                            title="{xen:phrase toggle_multi_quote_tooltip}"><span></span><span class="symbol">{xen:phrase multiquote_add}</span></a></xen:if>
                        <a href="{xen:link threads/reply, $thread, 'quote={$post.post_id}'}"
                            data-postUrl="{xen:link posts/quote, $post}"
                            class="ReplyQuote item control reply"
                            title="{xen:phrase reply_quoting_this_message}"><span></span>{xen:phrase reply}</a>
                    <a href="{$requestPaths.requestUri}#navigation" style="margin-left: 10px;">{xen:phrase go_to_top}</a>


    I was looking for this too. I added it to my forum. You can see an example here.
    Last edited: May 7, 2015
  3. New Joe

    New Joe Active Member

    Thanks for that.
    I'm not into replacing whole templates but as far as I can see it was just this code:
    <a href="{$requestPaths.requestUri}#navigation" style="margin-left: 10px;">{xen:phrase go_to_top}</a>
    added after the
    code in the template for Post
    However even though it does work as the OP mentioned on the above link it does throw and error after say you edit a post and then click the Top button
    Not sure why it does that maybe because it's after the hook part....
    If anyone knows how to clean it up to stop the error it would be great to know
  4. 51463

    51463 Well-Known Member

    I edited my own post, clicked top
    I edited someone elses post, clicked top

    I am not having that problem. It works normal for me.
  5. 51463

    51463 Well-Known Member

    Oh i see what you mean now.

    I tried on my forum and i get an error. But on the other forum the reason i didn't get an error was because i don't have overlays enabled.

    I think this is called overlay.


    If i disable this i dont get errors. I'll just have to disable it.

    Actually its this:


    I disabled it
    Last edited: May 8, 2015
    New Joe likes this.
  6. New Joe

    New Joe Active Member

    Nice find...

Share This Page