コード例 #1
0
ファイル: Functions.php プロジェクト: kilinanatoly/azimut
 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;
 }
コード例 #2
0
ファイル: edit.php プロジェクト: kilinanatoly/zkam
?>
    <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 . '">';
コード例 #3
0
 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;
 }
コード例 #4
0
 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]);
 }
コード例 #5
0
ファイル: index.php プロジェクト: kilinanatoly/azimut
<?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');
?>
コード例 #6
0
 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';
     }
 }
コード例 #7
0
ファイル: AdminController.php プロジェクト: kilinanatoly/zkam
 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');
     }
 }