public function getProperty($varName) { $value = CmsProperty::find()->where(['nav_id' => $this->id])->leftJoin('admin_property', 'admin_prop_id=admin_property.id')->select(['cms_nav_property.value', 'admin_property.class_name'])->andWhere(['admin_property.var_name' => $varName])->asArray()->one(); if ($value) { return AdminProperty::getObject($value['class_name'], $value['value']); } return false; }
public function actionDataProperties() { $data = []; foreach (Property::find()->all() as $item) { $object = Property::getObject($item->class_name); $data[] = ['id' => $item->id, 'var_name' => $object->varName(), 'option_json' => $object->options(), 'label' => $object->label(), 'type' => $object->type(), 'default_value' => $object->defaultValue()]; } return $data; }