diff --git a/common/models/Fields.php b/common/models/Fields.php index dcd60fc..ca60c59 100755 --- a/common/models/Fields.php +++ b/common/models/Fields.php @@ -1,155 +1,184 @@ 255] - ]; - } - /** - * @inheritdoc - */ - public function attributeLabels() - { - return [ - 'id' => 'ID', - 'table_name' => 'Model Name', - 'table_id' => 'Model ID', - 'value' => 'Value', - 'field_name' => 'Field Name', - 'language' => 'Language', - ]; - } - - public static function getData($id, $model, $type){ - $data = ArrayHelper::toArray(self::find()->where(['table_id'=>$id, 'table_name'=>$model, 'field_type'=>$type])->all()); - $result = []; - for($i=0; $i < count($data); $i ++){ - $result[$data[$i]['parent_key']][$data[$i]['field_name']] = $data[$i]['value']; + /** + * @inheritdoc + */ + public static function tableName() + { + return '{{%fields}}'; } - return $result; - } - - - /** - * @param $post - array with field data - * @param $table_id - row id in model table - * @param $table_name - madel table name - * @param $language - language id - */ - - public static function saveFieldData($post,$table_id,$table_name, $language){ - - self::deleteAll(['table_id'=>$table_id, 'table_name'=>$table_name, 'language' => $language, 'field_type' => array_keys($post)]); - - if($post){ - - - foreach($post as $k => $field){ - + /** + * @inheritdoc + */ + public function rules() + { + return [ + [ + [ + 'table_name', + 'table_id', + ], + 'required', + ], + [ + [ + 'table_id', + 'parent_key', + 'key', + ], + 'integer', + ], + [ + [ + 'table_name', + 'value', + 'field_name', + 'field_type', + 'language', + ], + 'string', + 'max' => 255, + ], + ]; + } + /** + * @inheritdoc + */ + public function attributeLabels() + { + return [ + 'id' => 'ID', + 'table_name' => 'Model Name', + 'table_id' => 'Model ID', + 'value' => 'Value', + 'field_name' => 'Field Name', + 'language' => 'Language', + ]; + } - foreach($field as $parent_key => $row){ + public static function getData($id, $model, $type) + { + $data = ArrayHelper::toArray(self::find() + ->where([ + 'table_id' => $id, + 'table_name' => $model, + 'field_type' => $type, + ]) + ->all()); + $result = [ ]; + for($i = 0; $i < count($data); $i++) { + $result[ $data[ $i ][ 'parent_key' ] ][ $data[ $i ][ 'field_name' ] ] = $data[ $i ][ 'value' ]; + } - foreach($row as $key => $value){ + return $result; + } - $field_model = new Fields(); - $field_model->field_name = array_keys($value)[0]; - $field_model->value = $value[array_keys($value)[0]]; - $field_model->table_name = $table_name; - $field_model->table_id = $table_id; - $field_model->field_type = $k; - $field_model->language = 'ru'; - $field_model->parent_key = $parent_key; - $field_model->key = $key; - $field_model->save(); + /** + * @param array $post - array with field data + * @param int $table_id - row id in model table + * @param string $table_name - madel table name + * @param int $language - language id + */ + public static function saveFieldData($post, $table_id, $table_name, $language) + { + self::deleteAll([ + 'table_id' => $table_id, + 'table_name' => $table_name, + 'language' => $language, + 'field_type' => array_keys($post), + ]); + if($post) { + /* + * $k - field group name + * $field - array of group variations + */ + foreach($post as $k => $field) { + /** + * $parent_key - group variation index + * $row - array of indexed rows + */ + foreach($field as $parent_key => $row) { + /** + * $key - row sorting index + * $value - array, where key - subfield name, value - subfield value + */ + foreach($row as $key => $value) { + if(!empty($value[array_keys($value)[0]])) { + $field_model = new Fields(); + $field_model->field_name = array_keys($value)[ 0 ]; + $field_model->value = $value[ array_keys($value)[ 0 ] ]; + $field_model->table_name = $table_name; + $field_model->table_id = $table_id; + $field_model->field_type = $k; + $field_model->language = 'ru'; + $field_model->parent_key = $parent_key; + $field_model->key = $key; + $field_model->save(); + } + } } - } } } - } - - - /** - * @param $post - array with field data - * @param $table_id - row id in model table - * @param $table_name - madel table name - * @param $language - language id - */ - - public static function saveFieldVideoData($post,$table_id,$table_name, $language){ - - self::deleteAll(['table_id'=>$table_id, 'table_name'=>$table_name, 'language' => $language, 'field_type' => array_keys($post)]); - - if($post){ - - - foreach($post as $k => $field){ - - - - foreach($field as $parent_key => $row){ - - foreach($row as $key => $value){ - - preg_match('/src=\"(.[^"]*)\"/', $value[array_keys($value)[0]], $video_url); - - if(isset($video_url[1]) && !empty($video_url[1])){ - - $field_model = new Fields(); - $field_model->field_name = array_keys($value)[0]; - $field_model->value = $video_url[1].'?showinfo=0&autoplay=0'; - $field_model->table_name = $table_name; - $field_model->table_id = $table_id; - $field_model->field_type = $k; - $field_model->language = 'ru'; - $field_model->parent_key = $parent_key; - $field_model->key = $key; - $field_model->save(); + /** + * @param $post - array with field data + * @param $table_id - row id in model table + * @param $table_name - madel table name + * @param $language - language id + */ + + public static function saveFieldVideoData($post, $table_id, $table_name, $language) + { + self::deleteAll([ + 'table_id' => $table_id, + 'table_name' => $table_name, + 'language' => $language, + 'field_type' => array_keys($post), + ]); + if($post) { + foreach($post as $k => $field) { + foreach($field as $parent_key => $row) { + foreach($row as $key => $value) { + preg_match('/src=\"(.[^"]*)\"/', $value[ array_keys($value)[ 0 ] ], $video_url); + if(isset( $video_url[ 1 ] ) && !empty( $video_url[ 1 ] )) { + $field_model = new Fields(); + $field_model->field_name = array_keys($value)[ 0 ]; + $field_model->value = $video_url[ 1 ] . '?showinfo=0&autoplay=0'; + $field_model->table_name = $table_name; + $field_model->table_id = $table_id; + $field_model->field_type = $k; + $field_model->language = 'ru'; + $field_model->parent_key = $parent_key; + $field_model->key = $key; + $field_model->save(); + + } } - - } - } } } } -} diff --git a/common/widgets/views/education_field.php b/common/widgets/views/education_field.php index b24e544..bc38657 100755 --- a/common/widgets/views/education_field.php +++ b/common/widgets/views/education_field.php @@ -22,11 +22,11 @@ 'id' => isset( $model[ $i ][ 'parent_key' ] ) ? $model[ $i ][ 'parent_key' ] : 0, ]) ?>
Строительная компания «Познякижилстрой» (официально – это корпорация) хорошо известна на столичном рынке недвижимости. Данный застройщик – единственный в Украине, который имеет сертификаты по трем международным стандартам.
-Более миллиона квадратных метров жилья и других строений разного назначения было построено компанией с 1996 года, когда молодая киевская организация начала свой славный путь. Сейчас надежный и уверенный в своих силах застройщик «Познякижилстрой» пополняет свой каталог объектов новостройками, современными ЖК, офисными помещениями, паркингами и многими другими объектами. Корпорация уверенно занимает позиции лидера на украинском строительном рынке.
-Новые подходы к проектированию, строительным работам и управлению компанией позволяют «Познякижилстрой» выставлять на продажу качественные квартиры, часть из которых реализуются с ремонтом и по приемлемой цене.
-Корпорация «Познякижилстрой» строго придерживается буквы закона, гарантируя персоналу, своим потребителям и обществу выполнение нормативных требований, связанных с экологией, охраной здоровья и качеством выполняемых работ. На официальном сайте компании опубликованы объекты застройщика, есть описание его политики и последние новости.
-![]() |
+
+ ![]() |
Петриченко Дмитрий Николаевич | 22 |
![]() |
+
+ ![]() |
Петриченко Дмитрий Николаевич | 1 |
![]() |
+
+ ![]() |
Петриченко Дмитрий Николаевич | 3 |
![]() |
+
+ ![]() |
Петриченко Дмитрий Николаевич | 22 |
![]() |
+
+ ![]() |
Петриченко Дмитрий Николаевич | 1 |
![]() |
+
+ ![]() |
Петриченко Дмитрий Николаевич | 3 |
![]() |
+
+ ![]() |
Петриченко Дмитрий Николаевич | 10 |
![]() |
+
+ ![]() |
Петриченко Дмитрий Николаевич | 1 |
![]() |
+
+ ![]() |
Петриченко Дмитрий Николаевич | 22 |
![]() |
+
+ ![]() |
Петриченко Дмитрий Николаевич | 1 |
![]() |
+
+ ![]() |
Петриченко Дмитрий Николаевич | 3 |
![]() |
+
+ ![]() |
Петриченко Дмитрий Николаевич | 22 |
![]() |
+
+ ![]() |
Петриченко Дмитрий Николаевич | 1 |
![]() |
+
+ ![]() |
Петриченко Дмитрий Николаевич | 3 |
![]() |
+
+ ![]() |
Петриченко Дмитрий Николаевич | 3 |
![]() |
+
+ ![]() |
Петриченко Дмитрий Николаевич | 22 |
![]() |
+
+ ![]() |
Петриченко Дмитрий Николаевич | 1 |
![]() |
+
+ ![]() |
Петриченко Дмитрий Николаевич | 3 |
![]() |
+
+ ![]() |
Петриченко Дмитрий Николаевич | 3 |