Magento 2-如何检索列值作为自定义属性选项?

时间:2019-02-01 10:39:34

标签: php attributes magento2 entity-attribute-value

我在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;
    }
}

0 个答案:

没有答案