¿Cómo puedo añadir opciones adicionales para el género cliente?
-
16-10-2019 - |
Pregunta
Tengo un cliente que le gustaría añadir la opción 'transgénero', además de masculino y femenino en el campo de género.
¿Puedo hacer esto directamente en la base de datos? ¿Me necesidad de actualizar nada más allá de las siguientes tablas:
eav_attribute_option
eav_attribute_option_value
Estoy en el CE 1.7
Gracias
Solución
¿Puede usted hacer esto en la base de datos? Si. En caso de que ? No.
Regla # 1 sobre
LuchaMagento club -. Nunca toque la base de datos directamente
Por lo tanto crear un script de instalación. Hay docenas de tutoriales que hay para eso. Una vez que tenga que configurar, el proceso no es diferente de la adición de opciones para otros tipos de opciones EAV:
<?php
$installer = $this;
/* @var $installer Mage_Customer_Model_Entity_Setup */
$installer->startSetup();
$tableOptions = $installer->getTable('eav_attribute_option');
$tableOptionValues = $installer->getTable('eav_attribute_option_value');
// add options for level of politeness
$attributeId = (int)$installer->getAttribute('customer', 'gender', 'attribute_id');
// add option
$data = array(
'attribute_id' => 'Non-Binary, Prefer not to say',
'sort_order' => 99,
);
$installer->getConnection()->insert($tableOptions, $data);
// add option label
$optionId = (int)$installer->getConnection()->lastInsertId($tableOptions, 'option_id');
$data = array(
'option_id' => $optionId,
'store_id' => 0,
'value' => $label,
);
$installer->getConnection()->insert($tableOptionValues, $data);
$installer->endSetup();
Otros consejos
creo que esto también es igual a la consulta. Ya que el código anterior es sólo de conseguir esas dos mesas y simplemente insertando values.THere no son ninguna llamada al método de Magento en el guión anterior.
Si es un desarrollador con MySQL se puede hacer simplemente a través de consultas de bases de datos.