50], ]; } /** * {@inheritdoc} */ public function attributeLabels() { return [ 'id' => 'ID', 'name' => '标识', 'title' => '中文标识', 'type' => '类型', 'is_addons' => '是否是插件[0:否,1:是]', 'status' => '状态', 'created_at' => '创建时间', 'updated_at' => '更新时间', ]; } /** * 根据类型获取枚举 * @Author: lun * @DateTime: 2022/6/7 0007 11:05 * @Copyright: copyright (c) 2021 广东七件事集团 * @param $type * @return array */ public static function getEnumMapByType($type, $mall_id = 0) { $data = []; $list = self::find()->select('name,title,is_addons')->where(['type' => $type, 'status' => StatusEnum::ENABLED])->asArray()->all(); if ($list) { // 获取已安装的插件 $mall_id && $install_addons = MallAddons::getValidAddons($mall_id); foreach ($list as $item) { // 若枚举属于插件则需要判断插件是否存在 if ($mall_id && $item['is_addons'] == 1 && !in_array($item['name'], $install_addons)) continue; if ($item['name'] == \common\enums\AddonsEnum::ADDONS_NAME_REBATE) { $new_item_title = \Yii::$app->services->setting->addons->get($mall_id, \common\enums\AddonsEnum::ADDONS_NAME_REBATE, 'basic.addons_name'); if ($new_item_title) { $item['title'] = $new_item_title; } } $data[$item['name']] = $item['title']; } } return $data; } /** * 根据类型获取枚举name * @Author: lun * @DateTime: 2022/6/7 0007 11:06 * @Copyright: copyright (c) 2021 广东七件事集团 * @param $type * @return array */ public static function getEnumNameByType($type, $mall_id = 0) { $data = []; $list = self::find()->select('name,is_addons')->where(['type' => $type, 'status' => StatusEnum::ENABLED])->asArray()->all(); if ($list) { // 获取已安装的插件 $mall_id && $install_addons = MallAddons::getValidAddons($mall_id); foreach ($list as $item) { // 若枚举属于插件则需要判断插件是否存在 if ($mall_id && $item['is_addons'] == 1 && !in_array($item['name'], $install_addons)) continue; $data[] = $item['name']; } } return $data; } }