Bruna BSPCU Posted April 23, 2013 Share Posted April 23, 2013 Hey everybody, How can i add address fields, that is already created in database, in a certain page? The page would be inside my-account/address.tpl and this fields should be saved in the database. Thanks for all, Bruna Link to comment Share on other sites More sharing options...
PascalVG Posted April 23, 2013 Share Posted April 23, 2013 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 More sharing options...
Bruna BSPCU Posted April 23, 2013 Author Share Posted April 23, 2013 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 More sharing options...
Bruna BSPCU Posted April 23, 2013 Author Share Posted April 23, 2013 PascalVG i just want the address form to not show in the authentication.tpl but to appear inside My-account, when the user clicks My Addresses, and there he can register his address..... It is easier this way , right? Link to comment Share on other sites More sharing options...
Bruna BSPCU Posted April 23, 2013 Author Share Posted April 23, 2013 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 More sharing options...
Artx Posted February 16, 2014 Share Posted February 16, 2014 This is late answer, but you had to look in BO country configuration "address format" Link to comment Share on other sites More sharing options...
vekia Posted February 16, 2014 Share Posted February 16, 2014 but you can't define there own fieds, you can use there only predefined fields Link to comment Share on other sites More sharing options...
Sandeep Tiwari Posted January 16, 2015 Share Posted January 16, 2015 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 More sharing options...
Recommended Posts