Posting in the Magento forums has been disabled pending the implementation of a new and improved forum solution which should better serve the community.

For new questions please post at magento.stackexchange.com, the community-run support site for the Magento community. We will be providing updates on the new forum solution soon. For questions or concerns please email community@magento.com.

Magento Forum

Cum fac sa nu mai fie obligatoriu codul postal? SOLVED
 
smlaci
Sr. Member
 
Avatar
Total Posts:  122
Joined:  2008-04-15
Bacau
 

Vreau ca la finalizarea comenzii sa nu mai fie obligatorie completarea casutei codului postal.
Am gasit pe forum o explicatie:

-you have to modify the value of the is_required field in the eav_attribute table for postal code to 0
-remove all the ‘class="required”’ instances that you have in your templates for th postal code field
-for the checkout to work you have to override a model: checkout/Model/Type/OnePage.php

N-am reusit prima parte, nu ma pricep la SQL, restul le-am rezolvat.
Poate cineva sa ma indrume?
Mersi.

 
Magento Community Magento Community
Magento Community
Magento Community
 
smlaci
Sr. Member
 
Avatar
Total Posts:  122
Joined:  2008-04-15
Bacau
 

Nu-si da nimeni cu parerea?

 
Magento Community Magento Community
Magento Community
Magento Community
 
BVU
Jr. Member
 
Total Posts:  1
Joined:  2009-08-05
 

UPDATE eav_attribute SET is_required 0 WHERE attribute_id 14;
 
Magento Community Magento Community
Magento Community
Magento Community
 
smlaci
Sr. Member
 
Avatar
Total Posts:  122
Joined:  2008-04-15
Bacau
 

am facut chestia asta dar tot imi cere cod postal.
attribute id 14 este default shipping, de fapt id 28 este postcode, l-am setat required 0 si nimic.
EDIT: SOLVED

ok, s-a rezolvat problema.
1. in phpmyadmin

UPDATE eav_attribute SET is_required 0 WHERE attribute_id 28;

2. am sters
<span class="required">*</span>
din urmatoarele fisiere, la zip/postal code:
.../template/checkout/onepage/billing.phtml
.../template/checkout/onepage/shipping.phtml
.../template/customer/address/edit.phtml
3. in aceleasi fisiere, la zip/postal code am inlocuit:
class="validate-zip-international required-entry input-text"
cu
class="input-text validation-passed"
4. am copiat fisierul /app/code/core/Mage/Customer/Model/Address/Abstract.php si l-am pus in /app/code/local/Mage/Customer/Model/Address/
am comentat urmatoarele linii de cod:
/*
if (!Zend_Validate::is($this->getPostcode(), 'NotEmpty')) {
    $errors[] = $helper->__('Please enter zip/postal code.');
}
*/

Cam asta a fost. Sper sa ajute si pe altii.

 
Magento Community Magento Community
Magento Community
Magento Community
 
danielifrim7
Member
 
Avatar
Total Posts:  63
Joined:  2009-04-29
Bucuresti
 
smlaci - 23 October 2009 11:00 AM

1. in phpmyadmin

UPDATE eav_attribute SET is_required 0 WHERE attribute_id 28;

Banuiesc ca attribute_id==28 este numai pentru `entity_type_id`==2, adica “customer_address” din tabela `eav_entity_type`.
Trebuie sa mai faci update si pe `entity_type_id`==12(order_address).
Campul `is_required` este folosit in special in admin cand sunt randate automat attributele/fields.

Mai corect:

UPDATE `eav_attributeSET `is_required`=0 WHERE `attribute_code`="postcode"
AND (`entity_type_id`=OR `entity_type_id`="12");

La primele versiuni de Magento erau 3 sau chiar 4 ‘entity types’ folosite in general pentru adrese.
Ca sa fim mai siguri:

UPDATE `eav_attribute`, `eav_entity_type`
    
SET `eav_attribute`.`is_required`=0
WHERE
    
`eav_attribute`.`attribute_code`="postcode"
    
AND (`eav_entity_type`.`entity_type_code`="customer_address"
        
OR `eav_entity_type`.`entity_type_code`="order_address")
    AND `
eav_attribute`.`entity_type_id`=`eav_entity_type`.`entity_type_id`;

Cel mai usor ar fi sa rulezi odata un action dintr-un controller cu urmatorul cod:

$modelSetup Mage::getModel("eav/entity_setup");
$modelSetup->updateAttribute($modelSetup->getEntityTypeId('customer_address'), 'postcode''is_required'0);
$modelSetup->updateAttribute($modelSetup->getEntityTypeId('order_address'), 'postcode''is_required'0);
 
Magento Community Magento Community
Magento Community
Magento Community
 
smlaci
Sr. Member
 
Avatar
Total Posts:  122
Joined:  2008-04-15
Bacau
 

Mie nu mi-a dat deocamdata nicio eroare, dar o sa fac o verificare mai minutioasa. Mersi pentru completare.

 
Magento Community Magento Community
Magento Community
Magento Community
 
danielifrim7
Member
 
Avatar
Total Posts:  63
Joined:  2009-04-29
Bucuresti
 
smlaci - 24 November 2009 10:05 PM

Mie nu mi-a dat deocamdata nicio eroare, dar o sa fac o verificare mai minutioasa. Mersi pentru completare.

M-am uitat mai atent prin eav_attribute la order_address. Ai dreptate, la entity_type_id=12 toate atributele erau deja cu is_required=0.
My bad.

 
Magento Community Magento Community
Magento Community
Magento Community
 
olicristea
Jr. Member
 
Avatar
Total Posts:  17
Joined:  2012-06-21
Pitest, Romania
 
smlaci - 23 October 2009 11:00 AM

am facut chestia asta dar tot imi cere cod postal.
attribute id 14 este default shipping, de fapt id 28 este postcode, l-am setat required 0 si nimic.
EDIT: SOLVED

ok, s-a rezolvat problema.
1. in phpmyadmin

UPDATE eav_attribute SET is_required 0 WHERE attribute_id 28;

2. am sters
<span class="required">*</span>
din urmatoarele fisiere, la zip/postal code:
.../template/checkout/onepage/billing.phtml
.../template/checkout/onepage/shipping.phtml
.../template/customer/address/edit.phtml
3. in aceleasi fisiere, la zip/postal code am inlocuit:
class="validate-zip-international required-entry input-text"
cu
class="input-text validation-passed"
4. am copiat fisierul /app/code/core/Mage/Customer/Model/Address/Abstract.php si l-am pus in /app/code/local/Mage/Customer/Model/Address/
am comentat urmatoarele linii de cod:
/*
if (!Zend_Validate::is($this->getPostcode(), 'NotEmpty')) {
    $errors[] = $helper->__('Please enter zip/postal code.');
}
*/

Cam asta a fost. Sper sa ajute si pe altii.

nu ma descurc in phpmyadmin unde ai postat acel cod in ce rubrica? am gasit eav_attribute_set dar nu stiu cum sa pun codul poti fii mai explicit sau cel putin pentru cei care sunt la inceput ca mine. cu respect!

 
Magento Community Magento Community
Magento Community
Magento Community
 
smlaci
Sr. Member
 
Avatar
Total Posts:  122
Joined:  2008-04-15
Bacau
 

Nu le mai stiu nici eu pe de rost ca a trecut mult timp dar parca in tab-ul SQL ai treaba. Acolo rulezi query-urile. Sper. smile
Fa backup si apoi bijutereste.

 
Magento Community Magento Community
Magento Community
Magento Community
 
olicristea
Jr. Member
 
Avatar
Total Posts:  17
Joined:  2012-06-21
Pitest, Romania
 
smlaci - 07 March 2013 07:36 AM

Nu le mai stiu nici eu pe de rost ca a trecut mult timp dar parca in tab-ul SQL ai treaba. Acolo rulezi query-urile. Sper. smile
Fa backup si apoi bijutereste.

ms de info dar nu m-am descurcat smile

am intrat in mgnt_eav_attribute_set, apoi SQL

acolo aveam deja acest cod:1 SELECT * FROM `mgnt_eav_attribute_set` WHERE 1
apoi am bagat codul 2 UPDATE eav_attribute SET is_required = 0 WHERE attribute_id = 28;

si mi-a dat eroare.

Astept raspuns daca stiti.

 
Magento Community Magento Community
Magento Community
Magento Community
 
smlaci
Sr. Member
 
Avatar
Total Posts:  122
Joined:  2008-04-15
Bacau
 

Explicatiile mele de mai sus sunt vechi, valabile la o versiune mai veche de Magento.

Ultima versiune de Magento are optiunea asta in admin, adica sa selectezi tarile pentru care nu e obligatoriu codul postal, nu mai trebuie sa faci hack-uri prin sql si linii de cod.

 
Magento Community Magento Community
Magento Community
Magento Community
 
cmarius
Jr. Member
 
Total Posts:  2
Joined:  2011-11-28
 

Salut,

am selectat toate tarile in System->Configuration->General la Postal Code is Optional for the following countries
insa tot imi spune ca e obligatoriu codul postal.
am dat si clear cache.
Folosesc Magento 1.7.0.2

Pe unde as putea sa mai verific ?

Mersi.

 
Magento Community Magento Community
Magento Community
Magento Community
 
smlaci
Sr. Member
 
Avatar
Total Posts:  122
Joined:  2008-04-15
Bacau
 

E de ajuns sa selectezi doar Romania, salvezi si dai clear cache.
Si eu am tot 1702 si merge.

 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
Back to top