Добрый день! Возник вопрос после Вашего ответа ...
Ситуация такая: ИНН и КПП регистрируемого покупателя заносятся в БД, при редактировании они видны на странице simpleedit,
НО при оформлении заказа или логауте, по видимому, из-за завершения сессии данные в БД исчезают в NULL.
При этом, если авторизироваться и зайти в редактирование данные есть; если подтвердить редактирование они снова занесутся в БД...
код в simple_custom_in_db.xml:
<modification>
<id>Simple Custom In Db</id>
<version>1.0.0</version>
<vqmver>2.1</vqmver>
<author>deeman</author>
<file name="catalog/model/account/customer.php">
<operation>
<search position="after" ><![CDATA[
$customer_id = $this->db->getLastId();
]]></search>
<add><![CDATA[
$custom_inn = '';
$custom_kpp = '';
$custom_job_title = '';
if (isset($data['simple']['customer']['custom_inn']['value'])) {
$custom_inn = $data['simple']['customer']['custom_inn']['value'];
}
if (isset($data['simple']['customer']['custom_kpp']['value'])) {
$custom_kpp = $data['simple']['customer']['custom_kpp']['value'];
}
if (isset($data['simple']['customer']['custom_job_title']['value'])) {
$custom_job_title = $data['simple']['customer']['custom_job_title']['value'];
}
$this->db->query("UPDATE " . DB_PREFIX . "customer SET inn = '" . $this->db->escape($custom_inn) . "', kpp = '" . $this->db->escape($custom_kpp) . "', job_title = '" . $this->db->escape($custom_job_title) . "' WHERE customer_id = '" . (int)$customer_id . "'");
]]></add>
</operation>
<operation>
<search position="after" ><![CDATA[
public function editCustomer($data) {
]]></search>
<add><![CDATA[
$custom_inn = '';
$custom_kpp = '';
$custom_job_title = '';
if (isset($data['simple']['customer']['custom_inn']['value'])) {
$custom_inn = $data['simple']['customer']['custom_inn']['value'];
}
if (isset($data['simple']['customer']['custom_kpp']['value'])) {
$custom_kpp = $data['simple']['customer']['custom_kpp']['value'];
}
if (isset($data['simple']['customer']['custom_job_title']['value'])) {
$custom_job_title = $data['simple']['customer']['custom_job_title']['value'];
}
$this->db->query("UPDATE " . DB_PREFIX . "customer SET inn = '" . $this->db->escape($custom_inn) . "', kpp = '" . $this->db->escape($custom_kpp) . "', job_title = '" . $this->db->escape($custom_job_title) . "' WHERE customer_id = '" . (int)$this->customer->getId() . "'");
]]></add>
</operation>
</file>
</modification>