NiteFox Manual Update Guide

Amzin

Amzin Update - V1.01


Edit Ref #1
File skins > amzin > templates > element.product.tabs.php
Estimated Line 31
find the following line around line 31:

<div role="tabpanel" class="tab-pane active" id="product_info">

change it to :

<div role="tabpanel" class="tab-pane active" id="product_info" itemprop="description">


Edit Ref #2
File skins > amzin > templates > element.product.tabs.php
Estimated Line 40
find the following line around line 40:

<td>{$PRODUCT.product_code}</td>

change it to :

<td itemprop="sku">{$PRODUCT.product_code}</td>


Edit Ref #3
File skins > amzin > templates > element.product.tabs.php
Estimated Line 45
find the following line around line 45:

<td>{$MANUFACTURER}</td>

change it to :

<td itemprop="brand">{$MANUFACTURER}</td>


Edit Ref #4
File skins > amzin > templates > element.product.tabs.php
Estimated Line 47
find the following section starting around line 47:

{if $PRODUCT.manufacturer}
    <tr>
        <td>{$LANG.catalogue.manufacturer}</td>
        <td itemprop="brand">{$MANUFACTURER}</td>
    </tr>
{/if}

now add the following under it :

{if $PRODUCT.mpn}
    <tr>
        <td>{$LANG.catalogue.product_mpn}</td>
         <td itemprop="mpn">{$PRODUCT.mpn}</td>
    </tr>
{/if}


Edit Ref #5
File skins > amzin > templates > element.product.tabs.php
Estimated Line 62
find the following line around line 62:

<td>{$PRODUCT.condition}</td>

and change it to :

<td itemprop="itemCondition">{$PRODUCT.condition}</td>


Edit Ref #6
File skins > amzin > templates > element.product.vertical_gallery.php
Estimated Line 12
add the following above line 13

{if $GALLERY|@count gt 1}
    {foreach from=$GALLERY item=image}
        {if $image.main_img}
            <meta itemprop="image" content="{$image.medium}" />
        {/if}
    {/foreach}
{else}
    <meta itemprop="image" content="{$PRODUCT.medium}" />
{/if}


Edit Ref #7
File skins > amzin > templates > element.product.call_to_action.php
Estimated Line 28
find the following line around line 28:

<meta itemprop="price" content="{$PRODUCT.price_to_pay|regex_replace:'/[^0-9.]+/':''}"/>

now add the following under it :

<meta itemprop="url" itemtype="http://schema.org/Url" content="{$PRODUCT.url}" />


Edit Ref #8
File skins > amzin > templates > content.checkout.confirm.php
Estimated Line 32
find the following line around line 32:

<div class="col-xs-12 col-sm-6">

now add the following under it just before the next {if $CTRL_DELIVERY} line:

{if $CTRL_DELIVERY}
    {assign var=CTRL_DELIVERY value=false}
    {foreach from=$ITEMS key=hash item=item}
        {if $item.digital=='0'}
            {assign var=CTRL_DELIVERY value=true}
        {/if}
    {/foreach}
{/if}


Edit Ref #9
File skins > amzin > templates > content.checkout.confirm.php
Estimated Line 84
find the following line around line 84:

{if !empty($USER.mobile)}<div><i class="fas fa-mobile"></i> {$USER.mobile}</div>{/if}

now add the following under it:

{assign var=CTRL_DELIVERY value=false}
{foreach from=$ITEMS key=hash item=item}
    {if $item.digital=='0'}
        {assign var=CTRL_DELIVERY value=true}
    {/if}
{/foreach}

{if $CTRL_DELIVERY}

Now find line 105

<a href="#" class="btn btn-default show_address_form"><i class="fas fa-edit"></i> {$LANG.form.make_changes}</a>

and add the following just below it

{/if}


Edit Ref #10
File skins > amzin > templates > content.checkout.confirm.php
Estimated Line 234,235,236,237,238
find the following lines starting around line 234:

{if $ALLOW_DELIVERY_ADDRESS}
     <div class="well well-sm">
         <input type="checkbox" name="delivery_is_billing" id="delivery_is_billing" {$DELIVERY_CHECKED}><label for="delivery_is_billing">{$LANG.address.delivery_is_billing}</label>
     </div>
{/if}

now replace it with the following:

{assign var=CTRL_DELIVERY value=false}
{foreach from=$ITEMS key=hash item=item}
     {if $item.digital=='0'}
         {assign var=CTRL_DELIVERY value=true}
     {/if}
{/foreach}

{if !$CTRL_DELIVERY}
     <input type="hidden" name="delivery_is_billing" id="delivery_is_billing" value="1">
{else if $ALLOW_DELIVERY_ADDRESS}
     <div class="well well-sm">
         <input type="checkbox" name="delivery_is_billing" id="delivery_is_billing" {$DELIVERY_CHECKED}><label for="delivery_is_billing">{$LANG.address.delivery_is_billing}</label>
     </div>
{/if}


Edit Ref #11
File skins > amzin > templates > content.checkout.confirm.php
Estimated Line 128,129,130
find the following lines starting around line 128:

<div class="text-right">
     <a href="{$STORE_URL}/index.php?_a=recover">{$LANG.account.forgotten_password}</a>
</div>

now replace it with the following:

<div class="text-right clearfix">
     <button type="submit" name="proceed" id="checkout_login_btn" class="btn btn-default pull-left g-recaptcha">{$LANG.account.login}</button>
     <a href="{$STORE_URL}/index.php?_a=recover">{$LANG.account.forgotten_password}</a>
</div>


Edit Ref #12
File skins > amzin > templates > content.checkout.php
Estimated Line 244
find the following line at 244:

<hr>

now just above it add the following:

{if $TERMS_CONDITIONS && isset($ALTERNATE_TERMS) && $ALTERNATE_TERMS=='0'}
     <ul class="list-group checkout-accepts">
         <li class="list-group-item">
             <span id="error_terms_agree"><input type="checkbox" id="reg_terms" name="terms_agree" value="1" rel="error_terms_agree"><label for="reg_terms">{$LANG.account.register_terms_agree_link|replace:'%s':{$TERMS_CONDITIONS}}</label></span>
         </li>
     </ul>
{/if}


Edit Ref #13
File skins > amzin > js > 1.amzin.js
Estimated Line 620
find the following line around line 620:

$("#login-password").prop('disabled', true);

now add the following below it:

$("#checkout_login_btn").prop('disabled', true);

now find line 628

$("#login-password").prop('disabled', false);

now add the following below it

$("#checkout_login_btn").prop('disabled', false);


Edit Ref #14
File skins > amzin > js > 3.cubecart.validate.js
Estimated Line 21
find the following line around line 21:

return this.optional(element) || phone.match(/^[0-9-+()]+$/);

and change it to this:

return this.optional(element) || phone.match(/^[0-9-+().]+$/);

Amzin Update - V1.02


Edit Ref #1
File skins > amzin > templates > content.checkout.php
Estimated Line 156
find the following line around line 156:

<select name="estimate[country]" id="estimate_country" class="form-control country-list" rel="estimate_state">

change it to :

<select name="estimate[country]" id="estimate_country" class="nosubmit form-control country-list" rel="estimate_state">

Amzin Update - V1.03


Edit Ref #1 - Minimum Quantity Fix
File skins > amzin > templates > element.product.call_to_action.php
Estimated Line 39
find the following line around line 39:

<input type="text" name="quantity" value="1" maxlength="3" class="quantity required text-center form-control">

change it to :

<input type="number" name="quantity" value="{if $PRODUCT.minimum_quantity}{$PRODUCT.minimum_quantity}{else}1{/if}" min="{if $PRODUCT.minimum_quantity}{$PRODUCT.minimum_quantity}{else}1{/if}" maxlength="3" class="quantity required text-center form-control">



Edit Ref #2 - Minimum Quantity Fix
File skins > amzin > templates > element.product.call_to_action.php
Estimated Line 54
find the following line around line 54:

{/if}

Now add the following BEFORE the {/if}

{if $PRODUCT.minimum_quantity && $PRODUCT.minimum_quantity>1}
     <div class="text-muted"><small>{$LANG.catalogue.min_purchase_quantity|replace:'%s':$PRODUCT.minimum_quantity}</small></div>
{/if}



Edit Ref #3 - Minimum Quantity Fix
File skins > amzin > templates > content.homepage.php
Estimated Line 77 - 87
Find the following block around starting around line 77

<form action="{$VAL_SELF}" method="post" class="add_to_basket">
     {if $product.available <= 0}
          <button type="submit" value="{$LANG.common.unavailable}" title="{$LANG.common.unavailable}" class="btn btn-default btn-block disabled postfix" disabled><i class="fas fa-ban"></i> {$LANG.common.unavailable}</button>
     {elseif $product.ctrl_stock && !$CATALOGUE_MODE}
          <input type="hidden" name="add" value="{$product.product_id}">
     <input type="hidden" name="quantity" value="1" maxlength="3" class="form-control text-center">
          <button type="submit" value="{$LANG.catalogue.add_to_basket}" title="{$LANG.catalogue.add_to_basket}" class="btn btn-default btn-block postfix"><i class="fas fa-shopping-basket"></i> {$LANG.catalogue.add_to_basket}</button>
     {elseif !$CATALOGUE_MODE}
          <button type="submit" value="{$LANG.catalogue.out_of_stock_short}" title="{$LANG.catalogue.out_of_stock_short}" class="btn btn-default btn-block disabled postfix" disabled><i class="fas fa-ban"></i> {$LANG.catalogue.out_of_stock_short}</button>
     {/if}
</form>

Now replace it with:

<form action="{$VAL_SELF}" method="post" class="add_to_basket">
     {if $product.available <= 0}
          <button type="submit" value="{$LANG.common.unavailable}" title="{$LANG.common.unavailable}" class="btn btn-default btn-block disabled postfix" disabled><i class="fas fa-ban"></i> {$LANG.common.unavailable}</button>
     {elseif $product.ctrl_stock && !$CATALOGUE_MODE}
          <input type="hidden" name="add" value="{$product.product_id}">
          {if $product.minimum_quantity && $product.minimum_quantity>1}
               <div class="dropup min-qty-dropup">
                    <button class="btn btn-default btn-block dropdown-toggle" type="button" id="mq{$product.product_id}" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                         <i class="fas fa-shopping-basket"></i> {$LANG.catalogue.add_to_basket}
                    </button>
                    <div class="dropdown-menu" aria-labelledby="mq{$product.product_id}">
                         <div class="text-muted text-center">
                              <label class="clearfix">{$LANG.common.quantity} : <span class="pull-right">X</span></label>
                              <div class="text-muted"><small>{$LANG.catalogue.min_purchase_quantity|replace:'%s':$product.minimum_quantity}</small></div>
                              <input type="number" name="quantity" value="{$product.minimum_quantity}" min="{$product.minimum_quantity}" maxlength="3" class="form-control qty-input text-center">
                              <button type="submit" value="{$LANG.catalogue.add_to_basket}" title="{$LANG.catalogue.add_to_basket}" class="btn btn-default btn-block postfix"><i class="fas fa-shopping-basket"></i> {$LANG.catalogue.add_to_basket}</button>
                         </div>
                    </div>
               </div>
          {else}
               <input type="hidden" name="quantity" value="1" maxlength="3" class="form-control text-center">
               <button type="submit" value="{$LANG.catalogue.add_to_basket}" title="{$LANG.catalogue.add_to_basket}" class="btn btn-default btn-block"><i class="fas fa-shopping-basket"></i> {$LANG.catalogue.add_to_basket}</button>
          {/if}
     {elseif !$CATALOGUE_MODE}
          <button type="submit" value="{$LANG.catalogue.out_of_stock_short}" title="{$LANG.catalogue.out_of_stock_short}" class="btn btn-default btn-block disabled postfix" disabled><i class="fas fa-ban"></i> {$LANG.catalogue.out_of_stock_short}</button>
     {/if}
</form>



Edit Ref #4 - Minimum Quantity Fix
File skins > amzin > templates > content.category.php
Estimated Line 146
find the following 3 lines around line 148:

<div class="pr_description clearfix text-muted">
     {$product.description_short|escape:"html"}
</div>

Now replace them with

<div class="pr_description clearfix text-muted">
     {$product.description_short|escape:"html"}
     {if $product.minimum_quantity && $product.minimum_quantity>1}
          <div class="text-muted"><small>*{$LANG.catalogue.min_purchase_quantity|replace:'%s':$product.minimum_quantity}</small></div>
    {/if}
</div>



Edit Ref #5 - Minimum Quantity Fix
File skins > amzin > templates > content.category.php
Estimated Line 167
find the following block of lines around line 167:

<form action="{$VAL_SELF}" method="post" class="add_to_basket">
     {if $product.available <= 0}
          <button type="submit" value="{$LANG.common.unavailable}" title="{$LANG.common.unavailable}" class="btn btn-default btn-block disabled postfix" disabled><i class="fas fa-ban"></i> {$LANG.common.unavailable}</button>
     {elseif $product.ctrl_stock && !$CATALOGUE_MODE}
          <input type="hidden" name="add" value="{$product.product_id}">
          <input type="hidden" name="quantity" value="1" maxlength="3" class="form-control text-center">
          <button type="submit" value="{$LANG.catalogue.add_to_basket}" title="{$LANG.catalogue.add_to_basket}" class="btn btn-default btn-block postfix"><i class="fas fa-shopping-basket"></i> {$LANG.catalogue.add_to_basket}</button>
     {elseif !$CATALOGUE_MODE}
          <button type="submit" value="{$LANG.catalogue.out_of_stock_short}" title="{$LANG.catalogue.out_of_stock_short}" class="btn btn-default btn-block disabled postfix" disabled><i class="fas fa-ban"></i> {$LANG.catalogue.out_of_stock_short}</button>
     {/if}
</form>

Now replace them with

<form action="{$VAL_SELF}" method="post" class="add_to_basket atb_2">
     {if $product.available <= 0}
          <button type="submit" value="{$LANG.common.unavailable}" title="{$LANG.common.unavailable}" class="btn btn-default btn-block disabled postfix" disabled><i class="fas fa-ban"></i> {$LANG.common.unavailable}</button>
     {elseif $product.ctrl_stock && !$CATALOGUE_MODE}
          <input type="hidden" name="add" value="{$product.product_id}">
          {if $product.minimum_quantity && $product.minimum_quantity>1}
               <div class="dropup cat-min-qty-dropup">
                    <button class="btn btn-default btn-block dropdown-toggle" type="button" id="mq{$product.product_id}" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                         <i class="fas fa-shopping-basket"></i> {$LANG.catalogue.add_to_basket}
                    </button>
                    <div class="dropdown-menu" aria-labelledby="mq{$product.product_id}">
                         <div class="text-muted text-center">
                         <label class="clearfix">{$LANG.common.quantity} : <span class="pull-right">X</span></label>
                         <div class="text-muted"><small>{$LANG.catalogue.min_purchase_quantity|replace:'%s':$product.minimum_quantity}</small></div>
                         <input type="number" name="quantity" value="{$product.minimum_quantity}" min="{$product.minimum_quantity}" maxlength="3" class="form-control qty-input text-center">
                         <button type="submit" value="{$LANG.catalogue.add_to_basket}" title="{$LANG.catalogue.add_to_basket}" class="btn btn-default btn-block postfix"><i class="fas fa-shopping-basket"></i> {$LANG.catalogue.add_to_basket}</button>
                         </div>
                    </div>
               </div>
          {else}
               <input type="hidden" name="quantity" value="1" maxlength="3" class="form-control text-center">
               <button type="submit" value="{$LANG.catalogue.add_to_basket}" title="{$LANG.catalogue.add_to_basket}" class="btn btn-default btn-block"><i class="fas fa-shopping-basket"></i> {$LANG.catalogue.add_to_basket}</button>
          {/if}
     {elseif !$CATALOGUE_MODE}
          <button type="submit" value="{$LANG.catalogue.out_of_stock_short}" title="{$LANG.catalogue.out_of_stock_short}" class="btn btn-default btn-block disabled postfix" disabled><i class="fas fa-ban"></i> {$LANG.catalogue.out_of_stock_short}</button>
     {/if}
</form>

<form action="{$VAL_SELF}" method="post" class="add_to_basket">
     {if $product.available <= 0}
          <button type="submit" value="{$LANG.common.unavailable}" title="{$LANG.common.unavailable}" class="btn btn-default btn-block disabled postfix" disabled><i class="fas fa-ban"></i> {$LANG.common.unavailable}</button>
     {elseif $product.ctrl_stock && !$CATALOGUE_MODE}
          <input type="hidden" name="add" value="{$product.product_id}">
          {if $product.minimum_quantity && $product.minimum_quantity>1}
               <div class="clearfix">
                    <button type="submit" value="{$LANG.catalogue.add_to_basket}" title="{$LANG.catalogue.add_to_basket}" class="btn btn-default btn-block pull-right"><i class="fas fa-shopping-basket"></i></button>
                    <input type="number" name="quantity" value="{$product.minimum_quantity}" min="{$product.minimum_quantity}" maxlength="3" style="width:80px;" class="form-control text-center pull-right">
               </div>
          {else}
               <input type="hidden" name="quantity" value="1" maxlength="3" class="form-control text-center">
               <button type="submit" value="{$LANG.catalogue.add_to_basket}" title="{$LANG.catalogue.add_to_basket}" class="btn btn-default"><i class="fas fa-shopping-basket"></i> {$LANG.catalogue.add_to_basket}</button>
          {/if}
     {elseif !$CATALOGUE_MODE}
          <button type="submit" value="{$LANG.catalogue.out_of_stock_short}" title="{$LANG.catalogue.out_of_stock_short}" class="btn btn-default btn-block disabled postfix" disabled><i class="fas fa-ban"></i> {$LANG.catalogue.out_of_stock_short}</button>
     {/if}
</form>



Edit Ref #6 - Minimum Quantity Fix
File skins > amzin > css > style.css
Estimated Line - -
Add the following styling to the bottom of the file

/***************************
Homepage Min Quantity DropUP - ADDED 1.03
*****************************/
.min-qty-dropup .dropdown-menu{
     width: 100%;
     padding: 5px;
     bottom:0px;
}
.min-qty-dropup .dropdown-menu .dropdown-header{
     white-space: break-spaces;
     padding: 0px 0px 5px 0px;
     border-bottom: 1px solid #ddd;
     margin-bottom: 5px;
}
.min-qty-dropup .dropdown-menu label{
     display: block;
     padding: 0px 0px 5px 0px;
     border-bottom: 1px solid #ddd;
     margin-bottom: 5px;
}
.min-qty-dropup .dropdown-menu .qty-input{
     width: 100px;
     margin: 5px auto;
}

/***************************
Category Min Quantity DropUP - ADDED 1.03
*****************************/
.product_list .add_to_basket{
     overflow:unset;
}
.product_list .add_to_basket{
     display:block;
}
.product_list.grid_view .add_to_basket{
     display:none;
}
.product_list .add_to_basket.atb_2{
     display:none;
}
.product_list.grid_view .add_to_basket.atb_2{
     display:block;
}
.product_list .add_to_basket .error{
     display: block;
     float: right;
     width: 100%;
     text-align: right;
}
.product_list .add_to_basket .form-control.error{
     text-align: center;
}
.product_list.grid_view li.product_list_item .pr_description_ab{
     z-index:99;
}
.cat-min-qty-dropup .dropdown-menu{
     width: 100%;
     padding: 5px;
     bottom:0px;
}
.cat-min-qty-dropup .dropdown-menu .dropdown-header{
     white-space: break-spaces;
     padding: 0px 0px 5px 0px;
     border-bottom: 1px solid #ddd;
     margin-bottom: 5px;
}
.cat-min-qty-dropup .dropdown-menu label{
     display: block;
     padding: 0px 0px 5px 0px;
     border-bottom: 1px solid #ddd;
     margin-bottom: 5px;
}
.cat-min-qty-dropup .dropdown-menu .qty-input{
     width: 100px;
     margin: 5px auto;
}





Edit Ref #7 - What3Words Support Added (Requires CC 6.4.1)
File skins > amzin > templates > content.addressbook.php
Estimated Line 146
find the following lines around line 146:

<div class="row">
     <dl class="col-xs-12 col-sm-6">
          <dt><label for="addr_postcode">{$LANG.address.postcode}</label></dt>
          <dd><input type="text" name="postcode" id="addr_postcode" class="form-control" value="{$DATA.postcode}" required placeholder="{$LANG.address.postcode} {$LANG.form.required}"></dd>
     </dl>
</div>

and now replace the lines with

<div class="row">
     <dl class="col-xs-12 col-sm-6">
          <dt><label for="addr_postcode">{$LANG.address.postcode}</label></dt>
          <dd><input type="text" name="postcode" id="addr_postcode" class="form-control" value="{$DATA.postcode}" required placeholder="{$LANG.address.postcode} {$LANG.form.required}"></dd>
     </dl>
     {if !empty($CONFIG.w3w)}
          <dl class="col-xs-12 col-sm-6">
               <dt><label for="w3w">{$LANG.address.w3w_address} {$LANG.common.optional}</label></dt>
               <dd>
                    <what3words-autosuggest id="w3w_as" value="{$DATA.w3w}" debug="true" validate="false" />
                    <input type="hidden" name="w3w" id="w3w" value="{$DATA.w3w}" />
                    {literal}
                         <script>
                              const w3w_as = document.getElementById("w3w_as");
                              w3w_as.addEventListener("select", function(value) {
                                   document.getElementById("w3w").value = value.detail;
                              });
                         </script>
                    {/literal}
               </dd>
          </dl>
     {/if}
</div>



Edit Ref #8 - What3Words Support Added (Requires CC 6.4.1)
File skins > amzin > templates > content.checkout.confirm.php
Estimated Line 233
find the following line around line 233:

</address>

Now, add the following just BEFORE the </address>

{if !empty($CONFIG.w3w)}
     <div class="row">
          <dl class="col-xs-12 col-sm-6">
               <dt><label for="w3w">{$LANG.address.w3w_address} {$LANG.common.optional}</label></dt>
               <dd>
                    <what3words-autosuggest id="w3w_as_billing" />
                    <input type="hidden" name="billing[w3w]" id="w3w_billing" value="{$BILLING.w3w}" />
                    {literal}
                         <script>
                              const w3w_as_billing = document.getElementById("w3w_as_billing");
                              w3w_as_billing.addEventListener("select", function(value) {
                                   document.getElementById("w3w_billing").value = value.detail;
                              });
                         </script>
                    {/literal}
               </dd>
          </dl>
     </div>
{/if}



Edit Ref #9 - What3Words Support Added (Requires CC 6.4.1)
File skins > amzin > templates > content.checkout.confirm.php
Estimated Line 327
find the following around line 327:

</address>

Now, add the following just BEFORE the </address>

{if !empty($CONFIG.w3w)}
     <div class="row">
          <dl class="col-xs-12 col-sm-6">
               <dt><label for="w3w">{$LANG.address.w3w_address} {$LANG.common.optional}</label></dt>
               <dd>
                    <what3words-autosuggest id="w3w_as_delivery" />
                    <input type="hidden" name="delivery[w3w]" id="w3w_delivery" value="{$DELIVERY.w3w}" />
                    {literal}
                         <script>
                              const w3w_as_delivery = document.getElementById("w3w_as_delivery");
                              w3w_as_delivery.addEventListener("select", function(value) {
                                   document.getElementById("w3w_delivery").value = value.detail;
                              });
                         </script>
                    {/literal}
               </dd>
          </dl>
     </div>
{/if}



Edit Ref #10 - What3Words Support Added (Requires CC 6.4.1)
File skins > amzin > templates > content.receipt.php
Estimated Line 130
find the following line around line 130:

{$SUM.country}{/if}

Now, add the following BELOW the above line

{if !empty($SUM.w3w)}
     <div class="w3w">///<a href="https://what3words.com/{$SUM.w3w}">{$SUM.w3w}</a></div>
{/if}



Edit Ref #11 - What3Words Support Added (Requires CC 6.4.1)
File skins > amzin > templates > content.receipt.php
Estimated Line 145
find the following line around line 130:

{$SUM.country_d}{/if}

Now, add the following BELOW the above line

{if !empty($SUM.w3w_d)}
     <div class="w3w">///<a href="https://what3words.com/{$SUM.w3w_d}">{$SUM.w3w_d}</a></div>
{/if}



Edit Ref #12 - What3Words Support Added (Requires CC 6.4.1)
File skins > amzin > templates > element.js_head.php
Estimated Line 6
Add the following to the bottom of the file

{if !empty($CONFIG.w3w)}
     <script src="https://assets.what3words.com/sdk/v3.1/what3words.js?key={$CONFIG.w3w}"></script>
{/if}



Edit Ref #13 - What3Words Support Added (Requires CC 6.4.1)
File skins > amzin > templates > print.receipt.php
Estimated Line 57
find the following around line 57:

{$order.country}{/if}

Now add the following just below the above line

{if !empty($order.w3w)}<div class="w3w">///<a href="https://what3words.com/{$SUM.w3w}">{$order.w3w}</a></div>{/if}



Edit Ref #14 - What3Words Support Added (Requires CC 6.4.1)
File skins > amzin > css > style.css
Estimated Line -- --
Add the following styling to the bottom of the file

/**********************************************
What3Words Support - ADDED V1.03
**********************************************/
.w3w {
     color: #E11F26;
     display: block;
}
.w3w a {
     color: #333333;
     text-decoration: none;
}
.what3words-autosuggest_input {
     padding: 4px 10px;
}





Edit Ref #15 - Remove option_description from Checkout
File skins > amzin > templates > content.checkout.php
Estimated Line 38
find the following line around line 38:

<strong>{if empty($option.option_description)}{$option.option_name}{else}{$option.option_description}{/if}</strong>: {$option.value_name|truncate:45:"&hellip;":true}{if !empty($option.price_display)} ({$option.price_display}){/if}

Now replace it with

<strong>{$option.option_name}</strong>: {$option.value_name|truncate:45:"&hellip;":true}{if !empty($option.price_display)} ({$option.price_display}){/if}





Edit Ref #16 - SEO EXT SUPPORT (Requires CC 6.4.1)
File skins > amzin > templates > box.session.php
Estimated Line 38
find the following line around line 38:

<a href="{$STORE_URL}/login.html" class="login-link">{$LANG.account.login}</a>

Now replace it with

<a href="{$STORE_URL}/login{$CONFIG.seo_ext}" class="login-link">{$LANG.account.login}</a>


find the following line around line 40:

<a href="{$STORE_URL}/register.html" class="reg-link">{$LANG.account.register}</a>

Now replace it with

<a href="{$STORE_URL}/register{$CONFIG.seo_ext}" class="reg-link">{$LANG.account.register}</a>



Edit Ref #17 - SEO EXT SUPPORT (Requires CC 6.4.1)
File skins > amzin > templates > main.php
Estimated Line 73
find the following line around line 73:

<li><a href="{$STORE_URL}/search.html" class="search-adv-link"><i class="fas fa-search"></i> {$LANG.search.advanced}</a></li>

Now replace it with

<li><a href="{$STORE_URL}/search{$CONFIG.seo_ext}" class="search-adv-link"><i class="fas fa-search"></i> {$LANG.search.advanced}</a></li>


find the following line around line 123:

<div class="clearfix"><a href="{$STORE_URL}/search.html" class="pull-right"><i class="fas fa-search"></i> {$LANG.search.advanced}</a></div>

Now replace it with

<div class="clearfix"><a href="{$STORE_URL}/search{$CONFIG.seo_ext}" class="pull-right"><i class="fas fa-search"></i> {$LANG.search.advanced}</a></div>



Edit Ref #18 - SEO EXT SUPPORT (Requires CC 6.4.1)
File skins > amzin > templates > content.register.php
Estimated Line 16
find the following line around line 16:

<a href="{$STORE_URL}/login.html" class="btn btn-sm btn-default">{$LANG.account.login_here}</a>

Now replace it with

<a href="{$STORE_URL}/login{$CONFIG.seo_ext}" class="btn btn-sm btn-default">{$LANG.account.login_here}</a>



Edit Ref #19 - SEO EXT SUPPORT (Requires CC 6.4.1)
File skins > amzin > templates > box.search.php
Estimated Line 13
find the following line around line 13:

<form action="{$STORE_URL}/search.html" class="search_form" method="get">

Now replace it with

<form action="{$STORE_URL}/search{$CONFIG.seo_ext}" class="search_form" method="get">



Edit Ref #20 - SEO EXT SUPPORT (Requires CC 6.4.1)
File skins > amzin > templates > box.search_collasped.php
Estimated Line 13
find the following line around line 13:

<form action="{$STORE_URL}/search.html" class="search_form" method="get">

Now replace it with

<form action="{$STORE_URL}/search{$CONFIG.seo_ext}" class="search_form" method="get">



Edit Ref #21 - SEO EXT SUPPORT (Requires CC 6.4.1)
File skins > amzin > templates >
Estimated Line -- --
Download latest version of Amzin and locate the following file:

amzin > templates > element.markup.json-ld.php

Now upload the file to the following directory replacing the old version of the file.

yoursite > skins > amzin > templates > HERE





Edit Ref #22 - Other Product Options types Support (Requires CC 6.4.1)
File skins > amzin > templates > element.product.options.php
Estimated Line 61 - 74
find the following block of code starting around line 61:

{else}

     <div class="product-options-sec text-options">
         <label for="option_{$option.option_id}" class="return option-title">{if empty($option.option_description)}{$option.option_name}{else}{$option.option_description}{/if}{if $option.price}<span class="option-cost">{$option.symbol}{$option.price}</span>{/if}{if $option.required} ({$LANG.common.required}){/if}</label>
         <div>
             {if $option.type == Catalogue::OPTION_TEXTBOX}
                 <input class="form-control" type="text" name="productOptions[{$option.option_id}][{$option.assign_id}]" id="option_{$option.option_id}"{if $option.absolute_price == '1'} class="absolute"{/if}{if !$CTRL_HIDE_PRICES} data-price="{$option.decimal_price}"{/if} {if $option.required}required{/if}>
             {elseif $option.type == Catalogue::OPTION_TEXTAREA}
                 <textarea class="form-control" name="productOptions[{$option.option_id}][{$option.assign_id}]" id="option_{$option.option_id}"{if $option.absolute_price == '1'} class="absolute"{/if}{if !$CTRL_HIDE_PRICES} data-price="{$option.decimal_price}"{/if} {if $option.required}required{/if}></textarea>
             {/if}
         </div>
     </div>

{/if}

Now replace them with

{elseif $option.type == Catalogue::OPTION_TEXTBOX ||$option.type == Catalogue::OPTION_TEXTAREA }

     <div class="product-options-sec text-options">
         <label for="option_{$option.option_id}" class="return option-title">{if empty($option.option_description)}{$option.option_name}{else}{$option.option_description}{/if}{if $option.price}<span class="option-cost">{$option.symbol}{$option.price}</span>{/if}{if $option.required} ({$LANG.common.required}){/if}</label>
         <div>
             {if $option.type == Catalogue::OPTION_TEXTBOX}
                 <input class="form-control" type="text" name="productOptions[{$option.option_id}][{$option.assign_id}]" id="option_{$option.option_id}"{if $option.absolute_price == '1'} class="absolute"{/if}{if !$CTRL_HIDE_PRICES} data-price="{$option.decimal_price}"{/if} {if $option.required}required{/if}>
             {elseif $option.type == Catalogue::OPTION_TEXTAREA}
                 <textarea class="form-control" name="productOptions[{$option.option_id}][{$option.assign_id}]" id="option_{$option.option_id}"{if $option.absolute_price == '1'} class="absolute"{/if}{if !$CTRL_HIDE_PRICES} data-price="{$option.decimal_price}"{/if} {if $option.required}required{/if}></textarea>
             {/if}
         </div>
     </div>

{else}

     {if $OTHER_CHOOSERS}{include file='templates/element.product.other_choosers.php'}{/if}

{/if}





Edit Ref #23 - Prevent Add To Cart Cache
File skins > amzin > js > 2.amzin.js
Estimated Line 596
find the following line around line 596:

url: action + '_g=ajaxadd',

Now replace it with

url: action + '_g=ajaxadd&t=' + new Date().getTime(),





Edit Ref #24 - Absolute Price Fix
File skins > amzin > js > 2.amzin.js
Estimated Line 523
find the following function around line 523:

function price_inc_options() {
         var action = $('form.add_to_basket').attr('action');
         var absolute = false;
         var total = 0;
         var ptp = parseFloat($('#ptp').attr("data-price"));
         var fbp = parseFloat($('#fbp').attr("data-price"));
         var ptp_original = ptp;
         var fbp_original = fbp;
         var parts = action.split("?");

         if (parts.length > 1) {
             action += "&";
         } else {
             action += "?";
         }
         action += '_g=ajax_price_format&price[0]=';

         $("[name^=productOptions]").each(function () {

             if($(this).is('input:radio') && $(this).is(':checked')) {
                 if($(this).hasClass('absolute')) { total = ptp = 0; absolute = true; }
                 total += parseFloat($(this).attr("data-price"));
             } else if ($(this).is('select') && $(this).val()) {
                 if($("option:selected", this).hasClass('absolute')) { total = ptp = 0; absolute = true; }
                 total += parseFloat($(this).find("option:selected").attr("data-price"));
             } else if (($(this).is('textarea') || $(this).is('input:text')) && $(this).val() !== '') {
                 if($(this).hasClass('absolute')) { total = ptp = 0; absolute = true; }
                 total += parseFloat($(this).attr("data-price"));
             }
         });

         ptp = (absolute ? total : ptp + total);

         if($('#fbp').length > 0) {
             fbp = (absolute ? total : fbp + total);
             $.ajax({
                 url: action + ptp + '&price[1]='+ fbp,
                 cache: true,
                 complete: function(returned) {
                     var prices = $.parseJSON(returned.responseText);
                     $('#ptp').html(prices[0]);
                     $('#fbp').html(prices[1]);
                     if (absolute && prices[0] <= prices[1]) {
                         $('#fbp').hide();
                         $('#ptp').removeClass('sale_price');
                     } else {
                         $('#fbp').show();
                         $('#ptp').addClass('sale_price');
                     }
                 }
             });
         } else {
             $.ajax({
                 url: action + ptp,
                 cache: true,
                 complete: function(returned) {
                     var prices = $.parseJSON(returned.responseText);
                     $('#ptp').html(prices[0]);
                 }
             });
         }
     }

Now replace it with

function price_inc_options() {
         var action = $('form.add_to_basket').attr('action');
         var absolute = false;
         var total = 0;
         var ptp = parseFloat($('#ptp').attr("data-price"));
         var fbp = parseFloat($('#fbp').attr("data-price"));
         var parts = action.split("?");

         if (parts.length > 1) {
             action += "&";
         } else {
             action += "?";
         }
         action += '_g=ajax_price_format&price[0]=';

         $("[name^=productOptions]").each(function () {
             if($(this).is('input:radio') && $(this).is(':checked')) {
                 if($(this).hasClass('absolute')) {
                     total -= ptp;
                 }
                 total += parseFloat($(this).attr("data-price"));
                 } else if ($(this).is('select') && $(this).val()) {
                     if($("option:selected", this).hasClass('absolute')) {
                         total -= ptp;
                     }
                     total += parseFloat($(this).find("option:selected").attr("data-price"));
                 } else if (($(this).is('textarea') || $(this).is('input:text')) && $(this).val() !== '') {
                     if($(this).hasClass('absolute')) {
                         total -= ptp;
                     }
                     total += parseFloat($(this).attr("data-price"));
                 }
             }
         );
         ptp = ptp + total;

         if($('#fbp').length > 0) {
             fbp = fbp + total;
             $.ajax({
                 url: action + ptp + '&price[1]='+ fbp,
                 cache: true,
                 complete: function(returned) {
                     var prices = $.parseJSON(returned.responseText);
                     $('#ptp').html(prices[0]);
                     $('#fbp').html(prices[1]);
                     if (absolute && prices[0] <= prices[1]) {
                         $('#fbp').hide();
                         $('#ptp').removeClass('sale_price');
                     } else {
                         $('#fbp').show();
                         $('#ptp').addClass('sale_price');
                     }
                 }
             });
         } else {
             $.ajax({
                 url: action + ptp,
                 cache: true,
                 complete: function(returned) {
                     var prices = $.parseJSON(returned.responseText);
                     $('#ptp').html(prices[0]);
                 }
             });
         }
}





Edit Ref #25 - Media Stream Support
File skins > amzin > templates >
Estimated Line -- --
Download latest version of Amzin and locate the following file:

amzin > templates > main.stream.php

Now upload the file to the following directory

yoursite > skins > amzin > templates > HERE



Edit Ref #26 - Media Stream Support
File skins > amzin > templates > content.downloads.php
Estimated Line 59 AND 79
Find the following line around line 59

<a href="{$STORE_URL}/index.php?_a=download&accesskey={$download.accesskey}" title="{$LANG.common.download} {$download.file_info.filename}">

Now replace it with

<a href="{$STORE_URL}/index.php?_a=download&s={$download.file_info.stream}&accesskey={$download.accesskey}" title="{$download.action} {$download.file_info.filename}">


Find the following line around line 79

<a href="{$STORE_URL}/index.php?_a=download&accesskey={$download.accesskey}" class="btn btn-success btn-block" title="{$LANG.common.view_details}"><i class="fas fa-download"></i> {$LANG.common.download} {$download.downloads}/{$MAX_DOWNLOADS}</a>

Now replace it with

<a href="{$STORE_URL}/index.php?_a=download&s={$download.file_info.stream}&accesskey={$download.accesskey}" class="btn btn-success btn-block" title="{$download.action}"><i class="fas fa-download"></i> {$download.action} {$download.downloads}/{$MAX_DOWNLOADS}</a>



Edit Ref #27 - Media Stream Support (Requires CC 6.4.1)
File skins > amzin > css > style.css
Estimated Line -- --
Add add the following to the bottom of the file

/****************************************************
Stream Page
****************************************************/
body.stream {
     background-color: #000;
}
body.stream h1, body.stream h2, body.stream h3, body.stream p {
     color: #fff;
}





Edit Ref #28 - Add "Digital Download" ref in Spec Table
File skins > amzin > templates > element.product.tabs.php
Estimated Line 37
find the following around line 37:

<tbody>

Now add the following just below the above line

{if $PRODUCT.digital > 0}
     <tr>
         <td>{$LANG.catalogue.product_type_digital}</td>
         <td>{$LANG.common.download}</td>
     </tr>
{/if}



Edit Ref #29 - Add "Digital Download" ref in Spec Table
File skins > amzin > templates > element.product.tabs_panel_group.php
Estimated Line 40
find the following around line 40:

<tbody>

Now add the following just below the above line

{if $PRODUCT.digital > 0}
     <tr>
         <td>{$LANG.catalogue.product_type_digital}</td>
         <td>{$LANG.common.download}</td>
     </tr>
{/if}





Edit Ref #30 - Update Cookies JS File
File skins > amzin > js > vendor
Estimated Line -- --
Download the latest version of Amzin and locate the following file

amzin > js > vendor > jquery.cookie.js

Now upload the new cookie file to the following directory replacing the old version :

yoursite > skins > amzin > js > vendor > here

Amzin Update - V1.04


Edit Ref #1
File skins > amzin > js > 2.amzin.js
Estimated Line 298
find the following line around line 298:

if($('div.alert').length) {

change it to :

if($('div.alert.alert-danger').length) {



Edit Ref #2
File skins > amzin > templates > content.checkout.confirm.php
Estimated Lines 67
find the following line around line 67:

<div id="register_false_address" class="row{if empty($BILLING.line1)} hidden{/if}">

change it to :

<div id="register_false_address" {if empty($BILLING.line1)}class=" hidden"{/if}>

Edit Ref #3
File skins > amzin > templates > content.checkout.confirm.php
Estimated Lines 81 - 83
find the following line around lines 81-83:

<div><i class="fas fa-envelope"></i> {$USER.email}</div>
<div><i class="fas fa-phone"></i> {$USER.phone}</div>
{if !empty($USER.mobile)}<div><i class="fas fa-mobile"></i> {$USER.mobile}</div>{/if}

change it to :

<div class="panel panel-default">
     <div class="panel-body">
         <p><i class="fas fa-envelope"></i> {$USER.email}</p>
         <p><i class="fas fa-phone"></i> {$USER.phone}</p>
         {if !empty($USER.mobile)}<p><i class="fas fa-mobile"></i> {$USER.mobile}</p>{/if}
     </div>
</div>



Edit Ref #4
File skins > amzin > templates > element.product.call_to_action.php
Estimated Line 63 - 70
find the following line around lines 63 - 70:

<div class="alert alert-danger text-center">
     {if $CTRL_HIDE_PRICES}
         <p class="buy_button"><strong>{$LANG.catalogue.login_to_view}</strong></p>
     {else if $CTRL_OUT_OF_STOCK}
         <link itemprop="availability" href="http://schema.org/OutOfStock" />
         <p class="buy_button"><strong>{$LANG.catalogue.out_of_stock}</strong></p>
     {/if}
</div>

change it to :

{if $CTRL_HIDE_PRICES}
     <div class="alert alert-info text-center">
         <strong>{$LANG.catalogue.login_to_view}</strong>
     </div>
{else if $CTRL_OUT_OF_STOCK}
     <div class="alert alert-info text-center">
         <link itemprop="availability" href="http://schema.org/OutOfStock" />
         <strong>{$LANG.catalogue.out_of_stock}</strong>
     </div>
{/if}



Clear site cache when you are finished!

Amzin Update - V1.05


Edit Ref #1
File skins > amzin > templates > element.product.call_to_action.php
Estimated Line 39
find the following line around line 39:

<input type="text" name="quantity" value="{if $PRODUCT.minimum_quantity}{$PRODUCT.minimum_quantity}{else}1{/if}" min="{if $PRODUCT.minimum_quantity}{$PRODUCT.minimum_quantity}{else}1{/if}" maxlength="3" class="quantity required text-center form-control">

change it to :

<input type="number" name="quantity" value="{if $PRODUCT.minimum_quantity}{$PRODUCT.minimum_quantity}{else}1{/if}" min="{if $PRODUCT.minimum_quantity}{$PRODUCT.minimum_quantity}{else}1{/if}" {if $PRODUCT.maximum_quantity gte $PRODUCT.minimum_quantity}max="{$PRODUCT.maximum_quantity}"{/if} maxlength="3" class="quantity required text-center form-control">



Edit Ref #2
File skins > amzin > templates > element.product.call_to_action.php
Estimated Lines 56-58
find the following line around line 56:

{if $PRODUCT.minimum_quantity && $PRODUCT.minimum_quantity>1}
       <div class="text-muted"><small>{$LANG.catalogue.min_purchase_quantity|replace:'%s':$PRODUCT.minimum_quantity}</small></div>
{/if}

now add the following just below it :

{if $PRODUCT.maximum_quantity gte $PRODUCT.minimum_quantity}
       <div class="text-muted"><small>{$LANG.catalogue.max_purchase_quantity|replace:'%s':$PRODUCT.maximum_quantity}</small></div>
{/if}



Edit Ref #3
File skins > amzin > js > 2.amzin.js
Estimated Line 385
find the following line around line 385:

var next = $('a.ccScroll-next', page);

now add the following below it :

$('.product_list li').removeClass("newTop");
$(list[0]).addClass('newTop');

now find the following around line 393 :

$("#loading").addClass('hidden');

and add the following just below it:

$('html, body').animate({
        scrollTop: $("li.newTop").offset().top
}, 500);



Edit Ref #4
File skins > amzin > config.xml
Estimated Line 17
find the following line around line 17:

<newsletter_recaptcha>true</newsletter_recaptcha>

now add the following below it :

<gravatar_ajax>false</gravatar_ajax>



Edit Ref #5
File skins > amzin > js > 2.amzin.js
Estimated Line 3
find the following line around line 3:

$(document).ready(function(){

now add the following below it :

$('#element-reviews .review_row').each(function() {
    var gravatar_id = $(this).attr('rel');
    var img_url = 'https://gravatar.com/avatar/'+gravatar_id+'?s=90';
    $.ajax({
         url:img_url,
         type:"HEAD",
         crossDomain:true,
         success:function(){
             $('#g_'+gravatar_id).attr("src", img_url);
         }
    });
});



Edit Ref #6
File skins > amzin > templates > element.product_reviews.php
Estimated Line 34
find the following line around line 34:

<div class="row">

now change it to :

<div class="row review_row" rel="{$review.gravatar}">


now around line 60-64 find

<span class="review-gravatar">
    <a href="http://gravatar.com/emails/">
        <img class="th marg-right" src="{$review.gravatar_src}&s=90" align="left">
    </a>
</span>

and change it to:

<span class="review-gravatar gravatar">
    <a href="http://gravatar.com/emails/">
        <img class="th marg-right" id="g_{$review.gravatar}" src="">
    </a>
</span>



Edit Ref #7
File skins > amzin > templates > box.sale_items.php
Estimated Line 13
find the following line around line 13:

{if $PRODUCTS && $CONFIG['catalogue_sale_mode']>0}

now change it to :

{if $SALE_PRODUCTS && $CONFIG['catalogue_sale_mode']>0}


Now, find the following line around line 17:

{foreach from=$PRODUCTS item=product name=products}

now change it to :

{foreach from=$SALE_PRODUCTS item=product name=products}


Now, find the following line around line 29:

{if empty($product.sale_price)}

now change it to :

{if empty($product.sale_price_unformatted)}



Edit Ref #8
File skins > amzin > templates > main.php
Estimated Line 135
find the following line around line 135:

{if $PRODUCTS && $CONFIG['catalogue_sale_mode']>0 && $POPULAR}

now change it to :

{if $SALE_PRODUCTS && $CONFIG['catalogue_sale_mode']>0 && $POPULAR}



Clear site cache when you are finished!