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

¿Fue útil?

Solución

¿Puede usted hacer esto en la base de datos? Si. En caso de que ? No.

Regla # 1 sobre Lucha Magento 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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange
scroll top