Вот как это сделать с помощью установщика. Правильный способ сделать это в magento. Это работает для корпоративной и общественной версии. Но вам нужно настроить модуль для понимания файла в папке sql
<?php
$installer = new Mage_Customer_Model_Entity_Setup('core_setup');;
$installer->startSetup();
$installer->run("UPDATE eav_attribute SET is_required = 1 WHERE attribute_code = 'company';");
$installer->endSetup();
Вот так выглядит мой xml-файл модуля.
<?xml version="1.0" encoding="UTF-8"?>
<config>
<modules>
<Package_Customer>
<version>1.1.0.4</version>
</Package_Customer>
</modules>
<global>
....
<resources>
<package_customer_setup>
<setup>
<module>Package_Customer</module>
</setup>
</package_customer_setup>
</resources>
....
</global>
Это то, что я сделал, чтобы edit.phtml сделал его динамичным
<li class="wide">
<?php
$validation_class = $this->helper('customer/address')->getAttributeValidationClass('company') ;
$required = strstr($validation_class, 'required-entry');
?>
<label for="company" class=<?php echo $required?"required":""?>><?php echo $this->__('Company') ?> <?php echo $required?"<em>*</em>":""?> </label>
<div class="input-box">
<input type="text" name="company" id="company" title="<?php echo $this->__('Company') ?>" value="<?php echo $this->escapeHtml($this->getAddress()->getCompany()) ?>" class="input-text <?php echo $validation_class ?>" />
</div>
</li>