/** * @param InputInterface $input * @param OutputInterface $output * * @return int|void */ protected function execute(InputInterface $input, OutputInterface $output) { $this->detectMagento($output, true); if (!$this->initMagento()) { return; } $output->writeln("<warning>This only create sample attribute values, do not use on production environment</warning>"); // Ask for Arguments $argument = $this->askForArguments($input, $output); if (!in_array($input->getArgument('locale'), $this->supportedLocales)) { $output->writeln(sprintf("<warning>Locale '%s' not supported, switch to default locale 'us_US'.</warning>", $input->getArgument('locale'))); $argument['locale'] = "en_US"; } else { $argument['locale'] = $input->getArgument('locale'); } /** @var $attribute Mage_Eav_Model_Entity_Attribute */ $attribute = Mage::getModel('eav/entity_attribute')->load($argument['attribute-id']); $dummyValues = new DummyValues(); for ($i = 0; $i < $argument['values-number']; $i++) { $value = $dummyValues->createValue($argument['values-type'], $argument['locale']); if (!$this->attributeValueExists($attribute, $value)) { try { $attribute->setData('option', array('value' => array('option' => array($value, $value)))); $attribute->save(); } catch (\Exception $e) { $output->writeln("<error>" . $e->getMessage() . "</error>"); } $output->writeln("<comment>ATTRIBUTE VALUE: '" . $value . "' ADDED!</comment>\r"); } } }