Jump to content

Add address fields in address.tpl


Recommended Posts

Hi Bruna,

As I remember, you want to add an address3 field, right?

Indeed you need to add it to the database, and then maintain the field within PS.

Before starting this, beware that changing the database structure can give problems when upgrading.

 

(If you really want to do it, see if it's worth the effort to add a new table (structure id, country_id, address3 or so) that you can ADD to the address table as it is. This way the original structure isn't affected, just added upon. Just an idea... However, may need extra SQL effort...)

 

If you take the jump and really want to add the address3 field, probably the 'simplest' way to do it is searching for 'address2' in all prestafiles and then add the address3 field there. A quick count came to at least 81 files in the standard installation, so it's not a simple operation in any way.

 

My 2 cents,

pascal

Link to comment
Share on other sites

PascalVG, I would like to understand more this Address1 and Address2 codes, because in the database there is only one ps_address.

 

Where can i found some content that explain that better, please?

 

Some book or i don't know....

 

Thanks for all!

Link to comment
Share on other sites

My address.tpl is like that:

 

 

{*

* 2007-2011 PrestaShop

*

* NOTICE OF LICENSE

*

* This source file is subject to the Academic Free License (AFL 3.0)

* that is bundled with this package in the file LICENSE.txt.

* It is also available through the world-wide-web at this URL:

* http://opensource.org/licenses/afl-3.0.php

* If you did not receive a copy of the license and are unable to

* obtain it through the world-wide-web, please send an email

* to [email protected] so we can send you a copy immediately.

*

* DISCLAIMER

*

* Do not edit or add to this file if you wish to upgrade PrestaShop to newer

* versions in the future. If you wish to customize PrestaShop for your

* needs please refer to http://www.prestashop.com for more information.

*

* @author PrestaShop SA <[email protected]>

* @copyright 2007-2011 PrestaShop SA

* @version Release: $Revision: 7576 $

* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)

* International Registered Trademark & Property of PrestaShop SA

*}

 

{*

** Compatibility code for Prestashop older than 1.4.2 using a recent theme

** Ignore list isn't require here

** $address exist in every PrestaShop version

*}

 

{* Will be deleted for 1.5 version and more *}

{* If ordered_adr_fields doesn't exist, it's a PrestaShop older than 1.4.2 *}

{if !isset($ordered_adr_fields)}

{if isset($address)}

{counter start=0 skip=1 assign=address_key_number}

{foreach from=$address key=address_key item=address_value}

{$ordered_adr_fields.$address_key_number = $address_key}

{counter}

{/foreach}

{else}

{$ordered_adr_fields.0 = 'company'}

{$ordered_adr_fields.1 = 'firstname'}

{$ordered_adr_fields.2 = 'lastname'}

{$ordered_adr_fields.3 = 'address1'}

{$ordered_adr_fields.4 = 'address2'}

{$ordered_adr_fields.5 = 'postcode'}

{$ordered_adr_fields.6 = 'city'}

{$ordered_adr_fields.7 = 'country'}

{$ordered_adr_fields.8 = 'state'}

{/if}

{/if}

 

<script type="text/javascript">

// <![CDATA[

var baseDir = '{$base_dir_ssl}';

//]]>

</script>

 

<script type="text/javascript">

// <![CDATA[

idSelectedCountry = {if isset($smarty.post.id_state)}{$smarty.post.id_state|intval}{else}{if isset($address->id_state)}{$address->id_state|intval}{else}false{/if}{/if};

countries = new Array();

countriesNeedIDNumber = new Array();

countriesNeedZipCode = new Array();

{foreach from=$countries item='country'}

{if isset($country.states) && $country.contains_states}

countries[{$country.id_country|intval}] = new Array();

{foreach from=$country.states item='state' name='states'}

countries[{$country.id_country|intval}].push({ldelim}'id' : '{$state.id_state}', 'name' : '{$state.name|escape:'htmlall':'UTF-8'}'{rdelim});

{/foreach}

{/if}

{if $country.need_identification_number}

countriesNeedIDNumber.push({$country.id_country|intval});

{/if}

{if isset($country.need_zip_code)}

countriesNeedZipCode[{$country.id_country|intval}] = {$country.need_zip_code};

{/if}

{/foreach}

$(function(){ldelim}

$('.id_state option[value={if isset($smarty.post.id_state)}{$smarty.post.id_state}{else}{if isset($address->id_state)}{$address->id_state|escape:'htmlall':'UTF-8'}{/if}{/if}]').attr('selected', 'selected');

{rdelim});

{if $vat_management}

{literal}

$(document).ready(function() {

$('#company').blur(function(){

vat_number();

});

vat_number();

function vat_number()

{

if ($('#company').val() != '')

$('#vat_number').show();

else

$('#vat_number').hide();

}

});

{/literal}

{/if}

//]]>

</script>

 

{capture name=path}{l s='Your addresses'}{/capture}

{include file="$tpl_dir./breadcrumb.tpl"}

 

<h1>{l s='Your addresses'}</h1>

 

<h3 class="add_new_add">

{if isset($id_address) && (isset($smarty.post.alias) || isset($address->alias))}

{l s='Modify address'}

{if isset($smarty.post.alias)}

"{$smarty.post.alias}"

{else}

{if isset($address->alias)}"{$address->alias|escape:'htmlall':'UTF-8'}"{/if}

{/if}

{else}

{l s='To add a new address, please fill out the form below.'}

{/if}

</h3>

 

{include file="$tpl_dir./errors.tpl"}

 

<form action="{$link->getPageLink('address.php', true)}" method="post" class="std">

<fieldset>

<h3>{if isset($id_address)}{l s='Your address'}{else}{l s='New address'}{/if}</h3>

<p class="required text dni">

<label for="dni">{l s='Identification number'}</label>

<input type="text" class="text" name="dni" id="dni" value="{if isset($smarty.post.dni)}{$smarty.post.dni}{else}{if isset($address->dni)}{$address->dni|escape:'htmlall':'UTF-8'}{/if}{/if}" />

<span class="form_info">{l s='DNI / NIF / NIE'}</span>

<sup>*</sup>

</p>

{if $vat_display == 2}

<div id="vat_area">

{elseif $vat_display == 1}

<div id="vat_area" style="display: none;">

{else}

<div >

{/if}

<div id="vat_number">

<p class="text">

<label for="vat_number">{l s='VAT number'}</label>

<input type="text" class="text" name="vat_number" value="{if isset($smarty.post.vat_number)}{$smarty.post.vat_number}{else}{if isset($address->vat_number)}{$address->vat_number|escape:'htmlall':'UTF-8'}{/if}{/if}" />

</p>

</div>

</div>

{assign var="stateExist" value="false"}

{foreach from=$ordered_adr_fields item=field_name}

{if $field_name eq 'company'}

<p class="text">

<input type="hidden" name="token" value="{$token}" />

<label for="company">{l s='Company'}</label>

<input type="text" id="company" name="company" value="{if isset($smarty.post.company)}{$smarty.post.company}{else}{if isset($address->company)}{$address->company|escape:'htmlall':'UTF-8'}{/if}{/if}" />

</p>

{/if}

{if $field_name eq 'firstname'}

<p class="required text">

<label for="firstname">{l s='First name'}</label>

<input type="text" name="firstname" id="firstname" value="{if isset($smarty.post.firstname)}{$smarty.post.firstname}{else}{if isset($address->firstname)}{$address->firstname|escape:'htmlall':'UTF-8'}{/if}{/if}" />

<sup>*</sup>

</p>

{/if}

{if $field_name eq 'lastname'}

<p class="required text">

<label for="lastname">{l s='Last name'}</label>

<input type="text" id="lastname" name="lastname" value="{if isset($smarty.post.lastname)}{$smarty.post.lastname}{else}{if isset($address->lastname)}{$address->lastname|escape:'htmlall':'UTF-8'}{/if}{/if}" />

<sup>*</sup>

</p>

{/if}

{if $field_name eq 'address1'}

<p class="required text">

<label for="address1">{l s='Address'}</label>

<input type="text" id="address1" name="address1" value="{if isset($smarty.post.address1)}{$smarty.post.address1}{else}{if isset($address->address1)}{$address->address1|escape:'htmlall':'UTF-8'}{/if}{/if}" />

<sup>*</sup>

</p>

{/if}

{if $field_name eq 'address2'}

<p class="required text">

<label for="address2">{l s='Address (Line 2)'}</label>

<input type="text" id="address2" name="address2" value="{if isset($smarty.post.address2)}{$smarty.post.address2}{else}{if isset($address->address2)}{$address->address2|escape:'htmlall':'UTF-8'}{/if}{/if}" />

</p>

{/if}

{if $field_name eq 'postcode'}

<p class="required postcode text">

<label for="postcode">{l s='Zip / Postal Code'}</label>

<input type="text" id="postcode" name="postcode" value="{if isset($smarty.post.postcode)}{$smarty.post.postcode}{else}{if isset($address->postcode)}{$address->postcode|escape:'htmlall':'UTF-8'}{/if}{/if}" onkeyup="$('#postcode').val($('#postcode').val().toUpperCase());" />

<sup>*</sup>

</p>

{/if}

{if $field_name eq 'city'}

<p class="required text">

<label for="city">{l s='City'}</label>

<input type="text" name="city" id="city" value="{if isset($smarty.post.city)}{$smarty.post.city}{else}{if isset($address->city)}{$address->city|escape:'htmlall':'UTF-8'}{/if}{/if}" maxlength="64" />

<sup>*</sup>

</p>

<!--

if customer hasn't update his layout address, country has to be verified

but it's deprecated

-->

{/if}

{if $field_name eq 'Country:name' || $field_name eq 'country'}

<p class="required select">

<label for="id_country">{l s='Country'}</label>

<select id="id_country" name="id_country">{$countries_list}</select>

<sup>*</sup>

</p>

{if isset($vatnumber_ajax_call) && $vatnumber_ajax_call}

<script type="text/javascript">

var ajaxurl = '{$ajaxurl}';

{literal}

$(document).ready(function(){

$('#id_country').change(function() {

$.ajax({

type: "GET",

url: ajaxurl+"vatnumber/ajax.php?id_country="+$('#id_country').val(),

success: function(isApplicable){

if(isApplicable == "1")

{

$('#vat_area').show();

$('#vat_number').show();

}

else

{

$('#vat_area').hide();

}

}

});

});

 

});

{/literal}

</script>

{/if}

{/if}

{if $field_name eq 'State:name' || $field_name eq 'state'}

{assign var="stateExist" value="true"}

<p class="required id_state select">

<label for="id_state">{l s='State'}</label>

<select name="id_state" id="id_state">

<option value="">-</option>

</select>

<sup>*</sup>

</p>

{/if}

{/foreach}

{if $stateExist eq "false"}

<p class="required id_state select">

<label for="id_state">{l s='State'}</label>

<select name="id_state" id="id_state">

<option value="">-</option>

</select>

<sup>*</sup>

</p>

{/if}

<p class="textarea">

<label for="other">{l s='Additional information'}</label>

<textarea id="other" name="other" cols="26" rows="3">{if isset($smarty.post.other)}{$smarty.post.other}{else}{if isset($address->other)}{$address->other|escape:'htmlall':'UTF-8'}{/if}{/if}</textarea>

</p>

<p style="margin-left:50px;">{l s='You must register at least one phone number'} <sup style="color:red;">*</sup></p>

<p class="text">

<label for="phone">{l s='Home phone'}</label>

<input type="text" id="phone" name="phone" value="{if isset($smarty.post.phone)}{$smarty.post.phone}{else}{if isset($address->phone)}{$address->phone|escape:'htmlall':'UTF-8'}{/if}{/if}" />

</p>

<p class="text">

<label for="phone_mobile">{l s='Mobile phone'}</label>

<input type="text" id="phone_mobile" name="phone_mobile" value="{if isset($smarty.post.phone_mobile)}{$smarty.post.phone_mobile}{else}{if isset($address->phone_mobile)}{$address->phone_mobile|escape:'htmlall':'UTF-8'}{/if}{/if}" />

</p>

<p class="required text" id="address_alias">

<label for="alias">{l s='Assign an address title for future reference'}</label>

<input type="text" id="alias" name="alias" value="{if isset($smarty.post.alias)}{$smarty.post.alias}{else}{if isset($address->alias)}{$address->alias|escape:'htmlall':'UTF-8'}{/if}{if isset($select_address)}{else}{l s='My address'}{/if}{/if}" />

<sup>*</sup>

</p>

</fieldset>

<p class="submit2 address_navigation" style="padding:0">

{if isset($id_address)}<input type="hidden" name="id_address" value="{$id_address|intval}" />{/if}

{if isset($back)}<input type="hidden" name="back" value="{$back}" />{/if}

{if isset($mod)}<input type="hidden" name="mod" value="{$mod}" />{/if}

{if isset($select_address)}<input type="hidden" name="select_address" value="{$select_address|intval}" />{/if}

<a class="button" href="{$link->getPageLink('addresses.php', true)}" title="{l s='Previous'}">« {l s='Previous'}</a>

<input type="submit" name="submitAddress" id="submitAddress" value="{l s='Save'}" class="button" />

<br class="clear"/>

</p>

<p class="required"><sup>*</sup>{l s='Required field'}</p>

</form>

 

 

 

 

but it is only displaying: vat number, state, additional information, phone, phone_mobile and alias.

 

Why??????

Link to comment
Share on other sites

  • 9 months later...
  • 10 months later...

Hello Vekia

 

I want to get enable DNI field on Guest checkout for Italy country, I enabled the country Italy from backoffice and enalbed tax identification no to Yes by editing Italy country . But still I can't see DNI field in Guest Checkout form if Italy is chosen from drop-down.

 

What's the solution for that ?  plz help.

 

Regards

Sandeep

Link to comment
Share on other sites

×
×
  • Create New...