function get_tovar_url($id) { $tovar = Products::findOne(['id' => $id]); $cat = ModArendaTree::findOne(['id' => $tovar->cat_id]); $url = []; $url[] = $cat->url; while ($cat->parent_id != 0) { $cat = ModArendaTree::findOne(['id' => $cat->parent_id]); $url[] = strtolower($cat->url); } $total_url = '/catalog'; for ($i = count($url) - 1; $i >= 0; $i--) { $total_url .= '/' . $url[$i]; } $total_url .= '/' . strtolower($this->translit($tovar->name)) . '-' . $tovar->id; return $total_url; }
?> <div class="form-group"> <?php echo Html::submitButton('Сохранить', ['class' => 'btn btn-primary']); ?> </div> <div class="form-group"> <?php echo Html::a('Вернуться к списку', [$cat_parent != 0 ? '/tree/admin?parent_id=' . $cat_parent : '/tree/admin/'], ['class' => 'btn btn-default']); ?> </div> <div class="form-group"> <?php $res = \app\modules\Tree\models\ModArendaTree::findOne(['parent_id' => $model->id]); if ($res) { echo ' <div class="alert alert-danger" role="alert">Удалить категорию нельзя (является родителем)</div>'; } else { echo '<a class="btn btn-danger" href="/tree/admin/deletecat?id=' . $model->id . '" data-confirm="Вы действительно хотите удалить категорию?" data-method="post">Удалить</a>'; } ?> </div> <?php echo $form->field($model_upload, 'imageFile')->fileInput()->label('Иконка'); ?> <?php if (!empty($icon)) { echo '<img src="/images/cats_images/' . $icon->cat_id . '/' . $icon->url . '">';
public function actionGetcharacteristics($id) { $model = new Characteristics(); $result = $model->getCharacteristics($id); while (empty($result)) { $parent = ModArendaTree::findOne(['id' => $id]); $parent = ModArendaTree::findOne(['id' => $parent->parent_id]); if (empty($parent)) { return false; } $result = $model->getCharacteristics($parent->id); $id = $parent->id; } return $result; }
public function actionEdit($id) { $model = Products::findOne(['id' => $id]); $all_cats = ModArendaTree::find()->asArray()->all(); if ($model->load(Yii::$app->request->post())) { $model->imageFile = UploadedFile::getInstance($model, 'imageFile'); if ($model->validate()) { if (!empty($model->imageFile)) { $model->upload(); $model->image = md5($model->imageFile->baseName . date("Y-m-d-H-i-s")) . '.' . $model->imageFile->extension; } if ($model->save()) { $last_id = $_GET['id']; foreach (Yii::$app->request->post('character') as $key => $value) { $model1 = CharacteristicsProducts::findOne(['product_id' => $last_id, 'character_id' => $key]); if (!$model1) { $model1 = new CharacteristicsProducts(); $model1->product_id = $last_id; } $model1->character_id = $key; $model1->value = empty($value) ? 'none' : $value; $model1->save(); } } // form inputs are valid, do something here } } $result = CharacteristicsForCats::find()->select(['characteristics_for_cats.*', 'characteristics.name AS characteristic_name'])->where(['cat_id' => $model->cat_id])->leftJoin('characteristics', 'characteristics_for_cats.character_id=characteristics.id')->leftJoin('characteristics_products', 'characteristics_for_cats.character_id=characteristics_products.character_id')->asArray()->all(); if (empty($result)) { $cat = ModArendaTree::findOne(['id' => $model->cat_id]); while ($cat->parent_id != 0) { $result = CharacteristicsForCats::find()->select(['characteristics_for_cats.*', 'characteristics.name AS characteristic_name', 'characteristics_products.value AS VALUE'])->where(['cat_id' => $cat->parent_id])->leftJoin('characteristics', 'characteristics_for_cats.character_id=characteristics.id')->leftJoin('characteristics_products', 'characteristics_for_cats.character_id=characteristics_products.character_id AND characteristics_products.product_id="' . $_GET['id'] . '"')->asArray()->all(); if (!empty($result)) { break; } $cat = ModArendaTree::findOne(['id' => $cat->parent_id]); } } else { } $html = ''; if (!empty($result)) { foreach ($result as $key => $value) { $VAL = !empty($value['VALUE']) ? $value['VALUE'] : ''; $html .= ' <div class="form-group"> <label><p>' . $value['characteristic_name'] . '</p> <input value="' . $VAL . '" type="text" class="form-control" name="character[' . $value['character_id'] . ']" > </label> </div> '; } } return $this->render('edit', ['model' => $model, 'all_cats' => $all_cats, 'html' => $html]); }
<?php use yii\helpers\Url; use yii\helpers\Html; use yii\widgets\ActiveForm; use app\modules\Tree\assets\TreeAsset; use app\modules\Tree\models\ModArendaTree; TreeAsset::register($this); $b_id = $parent_id; $result = ModArendaTree::findOne(['id' => $b_id]); if ($result) { $this_cat = $result; $this->params['breadcrumbs'][] = ['label' => 'Весь список категорий', 'url' => ['/tree/admin']]; $nn_mas = []; while ($result->parent_id != 0) { $result = ModArendaTree::findOne(['id' => $result->parent_id]); $nn_mas[] = ['id' => $result->id, 'name' => $result->name]; } for ($i = count($nn_mas) - 1; $i >= 0; $i--) { $this->params['breadcrumbs'][] = ['label' => $nn_mas[$i]['name'], 'url' => ['/tree/admin?parent_id=' . $nn_mas[$i]['id']]]; } $this->params['breadcrumbs'][] = 'Структура категории "' . $this_cat->name . '"'; $h2 = '<h2>Структура категории "' . $this_cat->name . '"</h2>'; } else { $this->params['breadcrumbs'][] = 'Весь список категорий'; $h2 = ''; } $session = Yii::$app->session; echo $session->getFlash('add_cat'); echo $session->getFlash('delete_cat'); ?>
public function actionGetcharacteristics($id) { $result = CharacteristicsForCats::find()->select(['characteristics_for_cats.*', 'characteristics.name AS characteristic_name'])->where(['cat_id' => $id])->leftJoin('characteristics', 'characteristics_for_cats.character_id=characteristics.id')->asArray()->all(); if (empty($result)) { $cat = ModArendaTree::findOne(['id' => $id]); while ($cat->parent_id != 0) { $result = CharacteristicsForCats::find()->select(['characteristics_for_cats.*', 'characteristics.name AS characteristic_name'])->where(['cat_id' => $cat->parent_id])->leftJoin('characteristics', 'characteristics_for_cats.character_id=characteristics.id')->asArray()->all(); if (!empty($result)) { break; } $cat = ModArendaTree::findOne(['id' => $cat->parent_id]); } } else { } if (!empty($result)) { $html = ''; foreach ($result as $key => $value) { $html .= ' <div class="form-group"> <label><p>' . $value['characteristic_name'] . '</p> <input type="text" class="form-control" name="character[' . $value['character_id'] . ']" > </label> </div> '; } return $html; } else { return 'empty'; } }
public function actionDeletecat($id) { $model = ModArendaTree::findOne(['id' => $id]); if ($model->delete()) { $session = Yii::$app->session; $session->setFlash('delete_cat', '<div class="alert alert-success">Вы успешно удалили категорию.</div>'); return $this->redirect('index'); } }