Announcement

Collapse
No announcement yet.

INVC page URL not showing Short URI

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    INVC page URL not showing Short URI

    For some reason when placing an order and you are brought to the INVC page the url in the browser is reading


    /mm5/merchant.mvc?

    instead of the short URI

    /INVC.html

    Here is my INVC page code:

    Code:
    <mvt:item name="html_profile" />
    <head>
        <mvt:if expr="NOT ISNULL l.settings:page:title">
            <title>&mvt:page:title;</title>
        <mvt:else>
            <title>&mvt:store:name;: &mvt:page:name;</title>
        </mvt:if>
        <mvt:item name="head" param="head_tag" />
        <mvt:if expr="l.settings:payment:capabilities:split">
            <script type="text/javascript">
                function AmountType_Changed( amounttype ){
                var balance_amount, amount, additional;
    
                    balance_amount    = document.getElementById( 'payment-balance-amount' );
                    amount            = document.getElementById( 'payment-amount' );
                    additional        = document.getElementById( 'payment-additional' );
    
                    if ( amounttype === 'total' )
                    {
                        amount.disabled                = true;
                        additional.style.display    = 'none';
    
                        if ( balance_amount )
                        {
                            balance_amount.disabled    = true;
                        }
                    }
                    else if ( amounttype === 'balance' )
                    {
                        amount.disabled                = true;
                        additional.style.display    = '';
    
                        if ( balance_amount )
                        {
                            balance_amount.disabled    = false;
                        }
                    }
                    else if ( amounttype === 'partial' )
                    {
                        amount.disabled                = false;
                        additional.style.display    = '';
    
                        if ( balance_amount )
                        {
                            balance_amount.disabled    = true;
                        }
                    }
                }
            </script>
        </mvt:if>
    </head>
    <body id="js-&mvte:page:code;" class="<mvt:eval expr="tolower(l.settings:page:code)" /> single-column">
        <mvt:item name="hdft" param="global_header" />
        <mvt:item name="html_profile" />
        <div class="row hdft-header">
            <mvt:item name="hdft" param="header" />
        </div>
        <div class="row main-content-row">
            <div class="column whole cart-contents">
                <form method="post" action="&mvt:payment:url;" id="js-opay-form" class="clearfix">
                    <input type="hidden" name="Action" value="AUTH" />
                    <input type="hidden" name="Screen" value="INVC" />
                    <input type="hidden" name="Store_Code" value="&mvte:global:Store_Code;" />
                    <mvt:item name="payment" />
                    <input type="hidden" name="PaymentMethod" value="&mvte:global:PaymentMethod;" />
                    <input type="hidden" name="SplitPaymentData" value="&mvte:global:SplitPaymentData;" />
                    <input type="hidden" name="PaymentDescription" value="&mvte:payment:desc;" />
                    <div>
                        <p class="column whole h4 fields-heading" style="background:#e8e8e8;margin-bottom:0"><span class="icon-icon_lock"></span> Payment Method: &mvt:payment:desc;</p>
                    </div>
                    <div class="column whole bg-lt-gray ptp1 pbm1 mbm1-25">
                        <div class="column whole medium-half">
                            <mvt:if expr="NOT ISNULL l.settings:payment:desc">
                                <span class="bold"></span>
                            </mvt:if>
                            <mvt:if expr="NOT ISNULL l.settings:payment:message">
                                <p class="column whole">&mvt:payment:message;</p>
                            </mvt:if>
                            <mvt:if expr="l.settings:paymentsettings:mivapay:enabled AND ( l.settings:mivapay:paymentcardtype:id OR l.settings:mivapay:paymentcard:id )">
                                <div class="form-row">
                                    <mvt:item name="mivapay" />
                                </div>
                            <mvt:elseif expr="'brain' CIN g.PaymentMethod">
                                <mvt:foreach array="payment:fields" iterator="field">
                                    <div class="form-row">
                                        <mvt:item name="payment" param="field:code" />
                                    </div>
                                </mvt:foreach>
                            <mvt:else>
                                <mvt:foreach array="payment:fields" iterator="field">
                                    <div id="js-&mvt:field:code;" class="form-row">
                                        <mvt:if expr="l.settings:field:invalid">
                                            <label class="required error">&mvt:field:prompt;</label>
                                        <mvt:else>
                                            <label class="required">&mvt:field:prompt;</label>
                                        </mvt:if>
                                        <div class="&mvt:field:code;"><mvt:item name="payment" param="field:code" /></div>
                                    </div>
                                </mvt:foreach>
                            </mvt:if>
                            <mvt:if expr="l.settings:payment:capabilities:split">
                                <div class="form-row">
                                    <mvt:if expr="g.Amount_Invalid">
                                        <label class="required error">Payment Amount:</label>
                                    <mvt:else>
                                        <label class="required">Payment Amount:</label>
                                    </mvt:if>
                                    <div id="payment-amount-fields">
                                        <mvt:if expr="( NOT l.settings:payment:capabilities:balance ) OR ( l.settings:payment:balance GE l.settings:splitpayment:remaining )">
                                            <mvt:if expr="NOT g.UI_Exception">
                                                <mvt:assign name="g.AmountType" value="'total'" />
                                                <mvt:assign name="g.Amount" value="l.settings:splitpayment:remaining ROUND 2" />
                                            </mvt:if>
                                            <mvt:if expr="g.AmountType EQ 'total'">
                                                <input type="radio" name="AmountType" value="total" onclick="AmountType_Changed( this.value );" checked />
                                            <mvt:else>
                                                <input type="radio" name="AmountType" value="total" onclick="AmountType_Changed( this.value );" />
                                            </mvt:if>
                                            <mvt:if expr="NOT ISNULL l.settings:payment:split_data">
                                                Remaining Order Total (&mvt:payment:formatted_remaining;)<br />
                                            <mvt:else>
                                                Entire Order Total (&mvt:basket:formatted_total;)<br />
                                            </mvt:if>
                                        <mvt:else>
                                            <mvt:if expr="NOT g.UI_Exception">
                                                <mvt:assign name="g.AmountType" value="'balance'" />
                                                <mvt:assign name="g.Amount" value="l.settings:payment:balance ROUND 2" />
                                            </mvt:if>
                                            <mvt:if expr="g.AmountType EQ 'balance'">
                                                <input type="radio" name="AmountType" value="balance" onclick="AmountType_Changed( this.value );" checked />
                                                <input type="hidden" id="payment-balance-amount" name="Amount" value="&mvte:payment:balance;" />
                                            <mvt:else>
                                                <input type="radio" name="AmountType" value="balance" onclick="AmountType_Changed( this.value );" />
                                                <input type="hidden" id="payment-balance-amount" name="Amount" value="&mvte:payment:balance;" disabled />
                                            </mvt:if>
                                            Available Balance (&mvt:payment:formatted_balance;)<br />
                                        </mvt:if>
                                        <mvt:if expr="g.AmountType EQ 'partial'">
                                            <input type="radio" name="AmountType" value="partial" onclick="AmountType_Changed( this.value );" checked />
                                            Partial: <input type="text" id="payment-amount" name="Amount" value="&mvte:global:Amount;" />
                                        <mvt:else>
                                            <input type="radio" name="AmountType" value="partial" onclick="AmountType_Changed( this.value );" />
                                            Partial: <input type="text" id="payment-amount" name="Amount" value="&mvte:global:Amount;" disabled />
                                        </mvt:if>
                                    </div>
                                </div>
                                <mvt:if expr="g.AmountType EQ 'total'">
                                    <mvt:assign name="g.totalPayment" value="'display: none;'" />
                                </mvt:if>
                                <div id="payment-additional" style="&mvt:global:totalPayment;">
                                    <div class="form_row">
                                        <label class="required">Pay Additional Balance With:</label>
                                        <select name="AdditionalPaymentMethod">
                                            <mvt:foreach array="paymentmethods" iterator="method">
                                                <mvt:if expr="(l.settings:method:module NE 'customercredit') OR ((g.PaymentMethod NE 'customercredit:credit') AND  (NOT miva_array_search(l.settings:splitpayment:splits, 1, l.split, 'l.split:module:code EQ l.settings:method:module')))">
                                                    <mvt:if expr="l.settings:method:paymentcard:id">
                                                        <option value="paymentcard:&mvte:method:paymentcard:id;">&mvt:method:name;</option>
                                                    <mvt:elseif expr="l.settings:method:paymentcardtype:id">
                                                        <option value="paymentcardtype:&mvte:method:paymentcardtype:id;">&mvt:method:name;</option>
                                                    <mvt:else>
                                                        <option value="&mvte:method:module;:&mvte:method:code;">&mvt:method:name;</option>
                                                    </mvt:if>
                                                </mvt:if>
                                            </mvt:foreach>
                                        </select>
                                    </div>
                                </div>
                            </mvt:if>
                        </div>
                    </div>
                    <div class="breaker"></div>
                    <div>
                        <div class="column whole align-center np">
                            <mvt:if expr="l.settings:paymentsettings:mivapay:enabled AND ( l.settings:mivapay:paymentcardtype:id OR l.settings:mivapay:paymentcard:id )">
                                <script>
                                    var onclick_submit = function( event ) {
                                        if ( MivaPay && ( typeof MivaPay.Submit === 'function' ) ) {
                                            MivaPay.Submit( function() {
                                                var form;
    
                                                form = document.getElementById( 'js-opay-form' );
                                                form.submit();
                                            } );
                                        }
                                    }
                                </script>
                                <span onclick="onclick_submit(); return false;">
                                    <mvt:item name="addendum" param="opay" />
                                    <input class="button button-large-font corners bg-sky" type="submit" value="Complete Order" title="Complete Order">
                                    <p class="ptp1"><span id="siteseal"><script type="text/javascript" src="https://seal.godaddy.com/getSeal&#63;sealID=O77iPdMF08ACXGhM5cEzqTjCiEH72r6dwXCQDC3RAcc0NWC6cK"></script></span></p>
                                    <p><script src="https://sealserver.trustwave.com/seal.js?style=invert&amp;size=65x36&amp;code=f6e634926e664239a5a4daf7f9938bee"></script></span></p>
                                </span>
                            <mvt:elseif expr="'brain' CIN g.PaymentMethod">
                                <mvt:item name="addendum" param="opay" />
                                <input class="button button-large-font corners bg-sky" type="submit" value="Complete Order" title="Complete Order">
                                <p class="ptp1"><span id="siteseal"><script type="text/javascript" src="https://seal.godaddy.com/getSeal&#63;sealID=O77iPdMF08ACXGhM5cEzqTjCiEH72r6dwXCQDC3RAcc0NWC6cK"></script></span></p>
                                <p><script src="https://sealserver.trustwave.com/seal.js?style=invert&amp;size=65x36&amp;code=f6e634926e664239a5a4daf7f9938bee"></script></span></p>
                            <mvt:else>
                                <mvt:item name="addendum" param="opay" />
                                <input class="button button-large-font corners bg-sky" type="submit" value="Complete Order" title="Complete Order">
                                <p class="ptp1"><span id="siteseal"><script type="text/javascript" src="https://seal.godaddy.com/getSeal&#63;sealID=O77iPdMF08ACXGhM5cEzqTjCiEH72r6dwXCQDC3RAcc0NWC6cK"></script></span></p>
                                <p><script src="https://sealserver.trustwave.com/seal.js?style=invert&amp;size=65x36&amp;code=f6e634926e664239a5a4daf7f9938bee"></script></span></p>
                            </mvt:if>
                        </div>
                    </div>
                    <div class="breaker"></div>
                </form>
            </div>
            <div class="column whole cart-summary">
                <div id="js-toggle-cart-summary-contents" class="basket-header-row align-center">Cart Summary <span>▼</span></div>
                <div id="js-cart-summary-contents">
                    <mvt:item name="basket" />
                    <mvt:item name="customer" />
                </div>
            </div>
        </div>
        <div class="row hdft-footer">
            <mvt:item name="hdft" param="footer" />
        </div>
        <mvt:item name="hdft" param="global_footer" />
    </body>
    </html>
    We are using the Miva 9 URI management and we are on the Suivant Readytheme.

    I would like to fix this so i don't need to use special code in our analytics tracking for conversion tracking and pageviews on the INVC screen

    Below is the current code i am using for google analytics.

    Code:
    <mvt:miva compresswhitespace="off" />
    <script>
    (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
    m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
    })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
    
    ga('create', '<mvt:item name="ga_jsencode" param="ga_tracking:google_id_unencoded" />', 'auto');
    ga('require', 'linkid');
    ga('require', 'displayfeatures');
    <mvt:if expr="l.settings:page:code EQ 'INVC'">
        ga('require', 'ecommerce');
    
        ga( 'ecommerce:addTransaction', {
            'id'            : '<mvt:eval expr="int( l.settings:ga_tracking:order_id )" />',
            'revenue'        : '<mvt:item name="ga_jsencode" param="ga_tracking:order_total" />',
            'affiliation'    : '<mvt:item name="ga_jsencode" param="store:name" />',
            'tax'            : '<mvt:item name="ga_jsencode" param="ga_tracking:total_tax" />',
            'shipping'        : '<mvt:item name="ga_jsencode" param="ga_tracking:total_ship" />'
        } );
    
        <mvt:foreach iterator="ga_orderitem" array="ga_tracking:orderitems">
        ga( 'ecommerce:addItem', {
            'id'        : '<mvt:eval expr="int( l.settings:ga_tracking:order_id )" />',
            'name'        : '<mvt:item name="ga_jsencode" param="ga_orderitem:name_unencoded" />',
            'price'        : '<mvt:item name="ga_jsencode" param="ga_orderitem:price" />',
            'sku'        : '<mvt:item name="ga_jsencode" param="ga_orderitem:code_unencoded" />',
            'category'    : '<mvt:item name="ga_jsencode" param="ga_orderitem:cancat_code_unencoded" />',
            'quantity'     : <mvt:eval expr="l.settings:ga_orderitem:quantity" />
        } );
        </mvt:foreach>
    
        ga( 'ecommerce:send' );
    </mvt:if>
    
    <mvt:if expr="( g.UI_Exception NE 1 ) OR ( g.Session:cache:last_ui_exception EQ 'order_invoice' )">
        <mvt:if expr="l.settings:page:code EQ 'INVC'">
            ga( 'send', 'pageview', { 'page':'/INVC.html' } );
        <mvt:else>
            ga( 'send', 'pageview', { 'page':'/<mvt:item name="ga_jsencode" param="ga_tracking:url_override_unencoded" />' } );
        </mvt:if>
    </mvt:if>
    
    </script>
    Thanks for any help.

    -Nick
    Nick Harkins
    www.loveisarose.com
    *Web Developer
    *Miva
    *Google Analytics, Search Console, Tag Manager, Merchant Center, Ads

    #2
    Hi Nick,

    Unfortunately, I believe the payment URL may be the only one that URI Management cannot help with. To the best of my knowledge, the code you are using is the current solution.
    Matt Zimmermann

    Miva Web Developer
    Alchemy Web Development
    https://www.alchemywebdev.com
    Site Development - Maintenance - Consultation

    Miva Certified Developer
    Miva Professional Developer

    https://www.dev4web.net | Twitter

    Comment


      #3
      Okay thank you for that Matt.

      Any word on if this issue will be addressed in the future? Its the only page in the checkout process that does not display the URL correctly.
      Nick Harkins
      www.loveisarose.com
      *Web Developer
      *Miva
      *Google Analytics, Search Console, Tag Manager, Merchant Center, Ads

      Comment

      Working...
      X