Example #1
0
 public function actionIndex()
 {
     //        $category = Category::model()->findByPk(5);
     //        $childs = $category->descendants()->findAll();
     //        foreach ($childs as $c)
     //            $ids[] = $c->id;
     //        $ids_string = implode(',', $ids);
     //        $criteria = new CDbCriteria(array(
     //            'condition' => 'status=' . Post::STATUS_PUBLISHED .' AND  category_id in ('.$ids_string.')',
     //            'order' => 'create_time DESC',
     //            'with' => 'commentCount',
     //        ));
     //        if (isset($_GET['tag']))
     //            $criteria->addSearchCondition('tags', $_GET['tag']);
     $search = \Yii::$app->request->get('tag');
     $catgegories = Tree::findOne(['name' => '单页分类']);
     $children = $catgegories->children()->all();
     foreach ($children as $c) {
         $ids[] = $c->id;
     }
     $ids_string = implode(',', $ids);
     $dataProvider = new ActiveDataProvider(['query' => !empty($search) ? Post::find()->where('category_id not in (' . $ids_string . ')')->orderBy('id desc')->andWhere(['like', 'tags', $search]) : Post::find()->where('category_id not in (' . $ids_string . ')')->orderBy('id desc'), 'pagination' => ['pageSize' => 20]]);
     //        $dataProvider = new ActiveDataProvider('Post', array(
     //            'pagination' => array(
     //                'pageSize' => Yii::app()->params['postsPerPage'],
     //            ),
     //            'criteria' => $criteria,
     //        ));
     return $this->render('index', array('dataProvider' => $dataProvider));
 }
Example #2
0
 public static function getSalesOrderBy($categoryId = '')
 {
     $where = '';
     if ($categoryId) {
         $items = Tree::find()->where(['tree_id' => $categoryId])->all();
         $itemIds = ArrayHelper::getColumn($items, 'item_id');
         $where = ' where item_id in (' . implode(',', $itemIds) . ') ';
     }
     $sql = 'SELECT name, count(item_id) as count FROM `order_item` ' . $where . ' group by item_id order by count desc';
     return Yii::$app->db->createCommand($sql)->queryAll();
 }
Example #3
0
 public static function getTreesById($id)
 {
     /** @var \star\system\models\Tree|\creocoder\nestedsets\NestedSetsBehavior $root */
     $root = static::find()->where(['id' => $id])->one();
     if ($root) {
         $categories = Tree::find()->where('lft >= ' . $root->lft . ' and rgt <= ' . $root->rgt . ' and root = ' . $root->root . ' order by id desc')->indexBy('id')->all();
         return array_map(function ($cate) use($root) {
             return $cate->name;
         }, $categories);
     } else {
         return false;
     }
 }
Example #4
0
 public function actionList()
 {
     $catalog = Yii::$app->request->get('catalog');
     $item = Yii::createObject(Item::className());
     $items = $item::getItemsByCategory($catalog)->andWhere(['is_show' => 1]);
     $tree = Yii::createObject(Tree::className());
     $categories = $tree::getCategoriesById($catalog);
     if ($items && $categories) {
         $pages = new Pagination(['totalCount' => $items->count(), 'pageSize' => '24']);
         $items = $items->offset($pages->offset)->limit($pages->limit)->all();
         if ($items) {
             return $this->render('list', ['currentCategory' => Tree::findOne(['id' => $catalog]), 'categories' => $categories, 'items' => $items, 'pages' => $pages]);
         }
     }
     return $this->render('//site/error', ['name' => 'catalog', 'message' => Yii::t('catalog', 'There is no product')]);
 }
Example #5
0
<!--</figure>-->
<!--</div>-->
<hr class="divider_type_3 m_bottom_15">
<a href="category_grid.html" role="button" class="d_inline_b bg_light_color_2 color_dark tr_all_hover button_type_4 r_corners"><i class="fa fa-reply m_left_5 m_right_10 f_size_large"></i>Back to: Woman</a>
</section>
<!--right column-->
<aside class="col-lg-3 col-md-3 col-sm-3">
    <figure class="widget shadow r_corners wrapper m_bottom_30">
        <figcaption>
            <h3 class="color_light">Categories</h3>
        </figcaption>
        <div class="widget_content">
            <!--Categories list-->
            <ul class="categories_list">
                <?php 
$tree = Tree::find()->where(['name' => '商品分类'])->one();
$childrenTags = $tree->children('1')->all();
foreach ($childrenTags as $childrenTag) {
    $secondChildren = $childrenTag->children('1')->all();
    ?>
                    <li>
                        <a href="#" class="f_size_large color_dark d_block relative">
                            <b><?php 
    echo $childrenTag->name;
    ?>
</b>
                            <span class="bg_light_color_1 r_corners f_right color_dark talign_c"></span>
                        </a>
                    <?php 
    if ($secondChildren) {
        ?>
Example #6
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getCategory()
 {
     return $this->hasOne(Tree::className(), ['id' => 'category_id']);
 }
Example #7
0
/* @var $this yii\web\View */
/* @var $model star\catalog\models\ItemProp */
/* @var $form yii\widgets\ActiveForm */
list($path, $url) = Yii::$app->assetManager->publish('@star/catalog/assets');
$this->registerJsFile($url . '/js/dynoTable.js', ['depends' => [\core\assets\AppAsset::className()]]);
?>
<div class="content-body">
    <div class="row">
        <div class="col-md-12 col-sm-12 col-xs-12">

            <?php 
$form = ActiveForm::begin();
?>

            <?php 
echo $form->field($model, 'category_id')->dropDownList(Tree::getTreesByName('商品分类'));
?>

            <?php 
echo $form->field($model, 'prop_name')->textInput(['maxlength' => 100]);
?>

            <?php 
echo $form->field($model, 'prop_alias')->textInput(['maxlength' => 100]);
?>

            <?php 
echo $form->field($model, 'type')->radioList(['1' => '文本框', '2' => '下拉列表', '3' => '多选']);
?>

            <?php 
Example #8
0
$fields[] = $form->field($model, 'language')->dropDownList(ArrayHelper::map($language, 'language_id', 'name'));
$fieldGroups[] = ['label' => Yii::t('catalog', 'Base Info'), 'content' => implode('', $fields)];
$fields = [];
$fields[] = $form->field($model, 'desc')->widget(CKEditor::className(), ['editorOptions' => ['filebrowserBrowseUrl' => Url::to(['/elfinder/manager', 'filter' => 'image'])]]);
$fieldGroups[] = ['label' => Yii::t('catalog', 'Detailed Info'), 'content' => implode('', $fields)];
$fields = [];
$fields[] = $form->field($model, 'shipping_fee')->textInput(['maxlength' => 255]);
$fields[] = $form->field($model, 'is_show')->radioList(['No', 'Yes']);
$fields[] = $form->field($model, 'is_promote')->radioList(['No', 'Yes']);
$fields[] = $form->field($model, 'is_new')->radioList(['No', 'Yes']);
$fields[] = $form->field($model, 'is_hot')->radioList(['No', 'Yes']);
$fields[] = $form->field($model, 'is_best')->radioList(['No', 'Yes']);
$fieldGroups[] = ['label' => Yii::t('catalog', 'Other Info'), 'content' => implode('', $fields)];
$fields = [];
$fields[] = $form->field($model, 'category_id')->dropDownList(Tree::getTreesByName('商品分类'), ['data-url' => Url::to(['/catalog/core/item/item-props']), 'data-item_id' => $model->item_id, 'data-tree_id' => $model->category_id ? $model->category_id : key(Tree::getTreesByName('商品分类'))]);
$fields[] = $this->render('_form_prop', ['model' => $model, 'tree_id' => $model->category_id ? $model->category_id : key(Tree::getTreesByName('商品分类'))]);
$fieldGroups[] = ['label' => Yii::t('catalog', 'Product Info'), 'content' => implode('', $fields)];
$fields = [];
if ($model->isNewRecord) {
    $fields[] = $form->field($model, 'images[]')->widget(FileInput::classname(), ['options' => ['accept' => 'image/*', 'multiple' => true], 'pluginOptions' => ['allowedFileExtensions' => ['jpg', 'gif', 'png']]]);
} else {
    $itemImages = $model->itemImgs;
    $initialPreview = $initialPreviewConfig = [];
    foreach ($itemImages as $itemImage) {
        $initialPreview[] = "<img src='" . Yii::$app->params['imageDomain'] . '/' . $itemImage->pic . "' class='file-preview-image'>";
        $initialPreviewConfig[] = ['caption' => $itemImage->title, 'url' => Url::to(['/catalog/core/item-img/delete', 'id' => $itemImage->img_id])];
    }
    $fields[] = $form->field($model, 'images[]')->label(Yii::t('catalog', 'Image(If update,Please upload first)'))->widget(FileInput::classname(), ['language' => 'zh', 'options' => ['accept' => 'image/*', 'multiple' => true], 'pluginOptions' => ['initialPreview' => $initialPreview, 'initialPreviewConfig' => $initialPreviewConfig, 'overwriteInitial' => false, 'uploadUrl' => Url::to(['/catalog/core/item-img/create']), 'uploadExtraData' => ['item_id' => $model->item_id, 'position' => count($itemImages)], 'maxFileCount' => 10, 'allowedFileExtensions' => ['jpg', 'gif', 'png']]]);
}
$fieldGroups[] = ['label' => Yii::t('catalog', 'Product Image'), 'content' => implode('', $fields)];
echo Tabs::widget(['items' => $fieldGroups]);
Example #9
0
 public function actions()
 {
     return ['nodeChildren' => ['class' => 'gilek\\gtreetable\\actions\\NodeChildrenAction', 'treeModelName' => Tree::className()], 'nodeCreate' => ['class' => 'gilek\\gtreetable\\actions\\NodeCreateAction', 'treeModelName' => Tree::className()], 'nodeUpdate' => ['class' => 'gilek\\gtreetable\\actions\\NodeUpdateAction', 'treeModelName' => Tree::className()], 'nodeDelete' => ['class' => 'gilek\\gtreetable\\actions\\NodeDeleteAction', 'treeModelName' => Tree::className()], 'nodeMove' => ['class' => 'gilek\\gtreetable\\actions\\NodeMoveAction', 'treeModelName' => Tree::className()]];
 }
Example #10
0
            <span class="centered_db r_corners"></span>
        </button>
        <!--main menu-->
        <nav role="navigation" class="f_left f_xs_none d_xs_none">
            <ul class="horizontal_list main_menu clearfix">
                <li class="<?php 
echo Yii::$app->request->get('catalog') || Yii::$app->request->get('tab') ? '' : 'current';
?>
 relative f_xs_none m_xs_bottom_5">
                    <a href="<?php 
echo Url::to(['/']);
?>
" class="tr_delay_hover color_light tt_uppercase"><b>首页</b></a>
                </li>
                <?php 
$root = \star\system\models\Tree::find()->where(['name' => '商品分类'])->one();
if ($root) {
    $categories = $root->children(1)->indexBy('id')->limit(5)->all();
    if ($categories) {
        foreach ($categories as $category) {
            ?>
                <li class="<?php 
            echo Yii::$app->request->get('catalog') == $category->id ? 'current' : '';
            ?>
 relative f_xs_none m_xs_bottom_5">
                    <a href="<?php 
            echo Url::to(['/catalog/home/item/list', 'catalog' => $category->id]);
            ?>
" class="tr_delay_hover color_light tt_uppercase"><b><?php 
            echo $category->name;
            ?>
Example #11
0
 public static function getItemsByCategory($id)
 {
     $treeNodes = Tree::getTreesById($id);
     //category has children
     if ($treeNodes) {
         $categories = '(';
         foreach ($treeNodes as $key => $treeNode) {
             $categories = $categories . $key . ',';
         }
         $categories = substr($categories, 0, strlen($categories) - 1) . ')';
         $items = static::find()->where('category_id in ' . $categories);
     } else {
         $tree = Tree::findOne(['id' => $id]);
         if ($tree) {
             $items = static::find()->where(['category_id' => $tree->id]);
         } else {
             return false;
         }
     }
     return $items;
 }