crisfiore Posted April 5, 2011 Share Posted April 5, 2011 Ciao a tuttisto cercando da un pò di utilizzare la versione 1.3.6 di prestashop, dovrei rendere obbligatori i campi Azienda (company) e Informazioni Addizionali (other) che compaiono nel modulo di iscrizione al sito dell'utente (li devo usare per altri scopi, ho già modificato le etichette). Avevo già modificato in questo modo il campo del Codice fiscale con successo e ho cercato di fare le stesse cose per questi altri campi ma non funziona. Ho modificato i seguenti files:themes/address.tpl themes/ authentication.tpl classes/customer.php modules/paypalapi/express/authentication.tplho aggiunto ' required ' al tag in questo modo per il campo ' company ' ho aggiunto ' required ' al tag in questo modo per il campo ' other ' ho aggiunto i tag * prima del tag di chiusura Tutto questo l' ho fatto in tutti i file elencati sopra.Poi ho modificato il file ' prestashop/classes/customer.php ' aggiungendo ' company ' e ' other ' in fondo alla riga 85 in questo modo:protected $fieldsRequired = array('lastname', 'passwd', 'firstname', 'email','cf','company','other');Non mi pare che ci siano altri file con queste righe di codice a parte quelli nella cartella Tools/Smary/Compile che non credo di dover modificare. Dove sbaglio?Ringrazio chiunque voglia darmi una dritta. Grazie Link to comment Share on other sites More sharing options...
disarci Posted April 5, 2011 Share Posted April 5, 2011 devi guarda nella:classes/Address.phpverifica sempre che le variabili siano quelle della classe che stai usando prima di metterle in required! Link to comment Share on other sites More sharing options...
crisfiore Posted April 6, 2011 Author Share Posted April 6, 2011 CiaoMi son accorto ora che non tutto il testo che avevo copiato e incollato da notepad è stato visualizzato nel topic per cui mancavano gli altri file che ho modificato, ora li ho aggiunti, comunque fra questi non c'è classes/address.php, per cui lo vado a vedere anche se non capisco totalmente quello che mi suggerisci, sto scercando di studiare php e html, ma sono tutt'altro che un maestro.Ti ringrazio mostissimo per le informazioni che mi hai datoCiao Link to comment Share on other sites More sharing options...
crisfiore Posted April 9, 2011 Author Share Posted April 9, 2011 CiaoHo modificato il file classes/Address.php aggiungendo al fondo della riga Company e Other in questo modo:protected $fieldsRequired = array(‘lastname’, ‘passwd’, ‘firstname’, ‘email’,‘cf’,‘company’,‘other’);Ma non ho ottenuto alcun risultato. Non so più cosa fare, questa modifica è essenziale per me. Qualcuno ha qualche idea in proposito? Ringrazio e saluto tutti. Link to comment Share on other sites More sharing options...
crisfiore Posted April 13, 2011 Author Share Posted April 13, 2011 CiaoProprio nessuno che abbia avuto questo problema o che sappia come risolverlo? Link to comment Share on other sites More sharing options...
clalla Posted April 30, 2011 Share Posted April 30, 2011 nella 1.3.7 avevo trovato questa guidadovresti fare questo per ogni campo, salva il file prima non si sa mai.....PIVA E CF OBBLIGATORIclasses/Customer.phpTrova:protected $fieldsRequired = array('lastname', 'passwd', 'firstname', 'email');Sostituisci con:protected $fieldsRequired = array('lastname', 'passwd', 'firstname', 'email', 'cf');authentication.tpl: {l s='CF'} <input type="text" class="text" name="cf" id="cf" value="{if isset($smarty.post.cf)}{$smarty.post.cf|escape:'htmlall':'UTF-8'}{/if}" maxlength="16" /> * Link to comment Share on other sites More sharing options...
crisfiore Posted May 7, 2011 Author Share Posted May 7, 2011 Ti ringrazio Clalla anche se un pò in ritardo.Quello che mi consigli lo avevo già provato ed aveva funzionato perfettamento con il campo CF ma non funziona con i campi che devo modificare ora. Se qualcuno leggesse questo post non ho ancora risolto questa cosa, al punto che sono in effetti bloccato ed ho un pò messo da parte la cosa perchè l' uso di questi campi è assolutamente necessario per la mia attività.Comprendo che non saranno in molti fra quelli che mi leggono a poter risolvere questa cosa ed i pochissimi che potrebbero farlo avranno altri problemi. Grazie comunque per le opportunità offerte da questo forum. Link to comment Share on other sites More sharing options...
Nsfr750 Posted October 3, 2011 Share Posted October 3, 2011 devi anche modificare il tpl del tuo layout. esempio di mia modifica per azienda e P.Iva obbligatori. /classes/Address.php (verso la linea 90) protected $fieldsRequired = array('id_country', 'alias', 'lastname', 'firstname', 'address1', 'city', 'company', 'vat_number'); /themes/tuotema/Address.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 style="display: none;"> {/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> poi cancella la cache dello smarty in /tools/smarty/compile e/o in /tools/smarty_v2/compile Link to comment Share on other sites More sharing options...
navlaca Posted October 14, 2011 Share Posted October 14, 2011 I would like to render the VAT number mandatory. Apparently this post gives the solution but I do not understand italian. Can someone help me by summarizing the solution in english or french. Grazie. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now