Magento 2 также поставляется с пользовательскими переменными, как в Magento 1. Ранее для установки пользовательской переменной в Magento 1 программным способом выполнялось что-то похожее на следующее:
$variable = Mage::getModel('core/variable')
->setCode('variable-code')
->setName('Variable Name')
->setPlainValue(0)
->save();
Для Magento 2 в моем текущем сценарии я хотел бы создать пользовательские переменные программно в сценарии InstallData.php вместо серверной части веб-сайта. Я нахожу только через веб-сайт, но я всегда предпочитаю программно из-за преимуществ управления версиями.
Решаемые. Что-то вроде следующего работает как ожидалось
...
use Magento\Variable\Model\VariableFactory;
class InstallData implements InstallDataInterface
{
protected $varFActory;
public function __construct(VariableFactory $varFactory)
{
$this->varFActory = $varFactory;
}
/**
* {@inheritdoc}
*/
public function install(
ModuleDataSetupInterface $setup,
ModuleContextInterface $context
) {
$variable = $this->varFActory->create();
$data = [
'code' => '',
'name' => '',
'html_value' => '',
'plain_value' => '',
];
$variable->setData($data);
$variable->save();
}
}
Других решений пока нет …