我在admin中有一个带有CRUD的工作模块,现在我想为产品添加一个自定义属性,但是该属性的选项应该是现有数据库表中的值,但是网络上的每个教程都在教如何对这些属性进行硬编码属性选项,那么我该怎么做?
谢谢大家!
我在Magento 2文档中找到了如何创建自定义属性,使用该属性创建InstallData的方法,但是需要更正Source模型提供的代码,这样才能从我的数据库表中获取值
namespace Learning\ClothingMaterial\Model\Attribute\Source;
class Material extends
\Magento\Eav\Model\Entity\Attribute\Source\AbstractSource
{
/**
* Get all options
* @return array
*/
public function getAllOptions()
{
if (!$this->_options) {
$this->_options = [
['label' => __('Cotton'), 'value' => 'cotton'],
['label' => __('Leather'), 'value' => 'leather'],
['label' => __('Silk'), 'value' => 'silk'],
['label' => __('Denim'), 'value' => 'denim'],
['label' => __('Fur'), 'value' => 'fur'],
['label' => __('Wool'), 'value' => 'wool'],
];
}
return $this->_options;
}
}