Select Box personalizado en system.xml de Magento 2

Select Box personalizado en system.xml de Magento 2

Magento 2 es hoy en día el mejor CMS de venta en linea, su nueva versión trae muchas novedades y la forma en la que se crean los módulos fue el cambio más destacado.

En esta publicación veremos un ejemplo de como crear un selectbox personalizado en las opciones de nuestro modulo personalizado.

Dentro de nuestro archivo sytem.xml ubicado en: [vendor]/[module]/etc/adminhtml/system.xml



           
   VendorModuleModelConfigSourceListMode

En la etiqueta <source_model> es donde se declara la ruta de la clase que tomará los datos a colocar en el select box, en este caso la llamamos "ListMode"

Ahora crearemos un archivo llamado "ListMode.php" en la siguiente rutas:

[vendor]/[module]/Model/Config/Source


namespace Vendor\Module\Model\Config\Source;

class ListMode implements MagentoFrameworkOptionArrayInterface
{
 public function toOptionArray()
 {
  return [
    ['value' => '', 'label' => __('')],
    ['value' => 'value1', 'label' => __('Valor 1')],
    ['value' => 'value2', 'label' => __('Valor 2')],
    ['value' => 'value3', 'label' => __('Valor 3')],
    ['value' => 'value4', 'label' => __('Valor 4')]
  ];
 }
}

toOptionArray es la función que retornará el array de las opciones, esta función sigue siendo la misma que en magento 1.

Recomiendo colocar el primer valor en blanco ya que Magento lo tomará como "seleccione una opción" que normalmente se ejecuta en los select box.