XF 1.4 How do I swap the positions of the Reply and Multi Quote links in the QuoteSelected Tooltip?

Stuart Wright

Well-known member
I think the Reply link (renamed to Quote) should be first (on the left) and the Multi Quote should be second (on the right). How to I swap their positions, please?
Do I have to alter the Javascript? If so where is that, please?
Thanks
 

Amaury

Well-known member
Template: post

Find:

Rich (BB code):
<xen:if is="{$canReply}">
                    <xen:if is="{$xenOptions.multiQuote}"><a href="{xen:link threads/reply, $thread, 'quote={$post.post_id}'}"
                        data-messageid="{$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}"
                        data-tip="#MQ-{$post.post_id}"
                        class="ReplyQuote item control reply"
                        title="{xen:phrase reply_quoting_this_message}"><span></span>{xen:phrase reply}</a>
                </xen:if>

Switch it around like so:

Rich (BB code):
<xen:if is="{$canReply}">
                    <a href="{xen:link threads/reply, $thread, 'quote={$post.post_id}'}"
                        data-postUrl="{xen:link posts/quote, $post}"
                        data-tip="#MQ-{$post.post_id}"
                        class="ReplyQuote item control reply"
                        title="{xen:phrase reply_quoting_this_message}"><span></span>{xen:phrase reply}</a>
                    <xen:if is="{$xenOptions.multiQuote}"><a href="{xen:link threads/reply, $thread, 'quote={$post.post_id}'}"
                        data-messageid="{$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>
                </xen:if>
 

Stuart Wright

Well-known member
Template: post

Find:

Rich (BB code):
<xen:if is="{$canReply}">
                    <xen:if is="{$xenOptions.multiQuote}"><a href="{xen:link threads/reply, $thread, 'quote={$post.post_id}'}"
                        data-messageid="{$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}"
                        data-tip="#MQ-{$post.post_id}"
                        class="ReplyQuote item control reply"
                        title="{xen:phrase reply_quoting_this_message}"><span></span>{xen:phrase reply}</a>
                </xen:if>

Switch it around like so:

Rich (BB code):
<xen:if is="{$canReply}">
                    <a href="{xen:link threads/reply, $thread, 'quote={$post.post_id}'}"
                        data-postUrl="{xen:link posts/quote, $post}"
                        data-tip="#MQ-{$post.post_id}"
                        class="ReplyQuote item control reply"
                        title="{xen:phrase reply_quoting_this_message}"><span></span>{xen:phrase reply}</a>
                    <xen:if is="{$xenOptions.multiQuote}"><a href="{xen:link threads/reply, $thread, 'quote={$post.post_id}'}"
                        data-messageid="{$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>
                </xen:if>
Thank you, but that swaps the buttons (which I have already done), not the QuoteSelected Tooltip
 

Sheldon

Well-known member
@Stuart Wright are you looking to do this?

Screenshot_2.png
Code:
.ReplyQuote.item.control.reply.QuoteSelected {
    float: left;
}
.MultiQuoteControl.JsOnly.item.control.QuoteSelected {
float: right;
}

That gets the image above.
 

Stuart Wright

Well-known member
@Stuart Wright are you looking to do this?

View attachment 110428
Code:
.ReplyQuote.item.control.reply.QuoteSelected {
    float: left;
}
.MultiQuoteControl.JsOnly.item.control.QuoteSelected {
float: right;
}

That gets the image above.
Many thanks.
I added some margin to tidy it up
Code:
.ReplyQuote.item.control.reply.QuoteSelected {
    float: left;
    margin-right: 5px;
}
.MultiQuoteControl.JsOnly.item.control.QuoteSelected {
    float: right;
    margin-left: 5px;
}
1.jpg
 

Amaury

Well-known member
I'm now doing this on our site and was wondering if it's possible to do it with template edits rather than CSS? I want to customize it a bit more by changing +/- Quote | Reply to +/- Quote • Reply.

I see the multi-quote phrases for the tooltip are called in the quick_reply template, but I see no {xen:phrase reply}.
 

Amaury

Well-known member
Still looking for a solution. If I absolutely must use custom CSS for this, I will, but I want to know first if it can be done with a template edit.
 
Last edited:

S Thomas

Well-known member
It's built in /js/message.js somewhere. So nope, not possible via templates.
Code:
        createButton: function($selectionContainer, id)
        {
            [...]

            var $mqButton = $message.find('.actionBar-action.js-multiQuote').clone();
            if ($mqButton.length)
            {
        [...]

                $tooltip.append($mqButton);
                $tooltip.append(document.createTextNode(' | '));
            }

            var $quoteButton = $message.find('.actionBar-action[data-xf-click="quote"]')
                    .attr('title', '')
                    .clone()
                    .css({
                        marginLeft: 0
                    })
                    .on('s2q:click', XF.proxy(this, 'buttonClicked'));

[...]
You would need to swap these buttons.
 
Top