Example #1
0
 public function categoryDeepDelete(Category $oCategory)
 {
     $oChildCategories = DataSource::factory(Category::cls());
     $oChildCategories->builder()->where("category_id={$oCategory->getPrimaryKey()}");
     /** @var Category[] $aChildCategories */
     $aChildCategories = $oChildCategories->findAll();
     foreach ($aChildCategories as $oChildCategory) {
         $this->categoryDeepDelete($oChildCategory);
     }
     /** @var Item $oItems */
     $oItems = DataSource::factory(Item::cls());
     $oItems->builder()->where("category_id={$oCategory->getPrimaryKey()}");
     /** @var Item[] $aItems */
     $aItems = $oItems->findAll();
     foreach ($aItems as $oItem) {
         $oItem->deleted = true;
         $oItem->commit();
     }
     $oCategory->deleted = true;
     $oCategory->commit();
 }
Example #2
0
    public function currentRender()
    {
        ?>
        <form action="/admin/modules/catalogue/save/category/<?php 
        echo $this->parentId ? "?parent_pk={$this->parentId}" : '';
        ?>
" method="post" id="catalogue-category-edit-form">
            <fieldset>
                <legend>Редактирование категории</legend>
                <input type="hidden" id="catalogue-category-id" name="catalogue-category-id" value="<?php 
        echo $this->oCategory->getPrimaryKey();
        ?>
" />

                <div class="row">
                    <div class="col-lg-6">
                        <div class="row">
                            <div class="col-lg-2">
                                <div class="form-group">
                                    <label for="catalogue-category-number">№</label>
                                    <input class="form-control input-sm" name="catalogue-category-number" id="catalogue-category-number" disabled="disabled" type="number" placeholder="№" value="<?php 
        echo $this->oCategory->getPrimaryKey();
        ?>
">
                                    <span class="help-block">Номер</span>
                                </div>
                            </div>
                            <div class="col-lg-10">
                                <div class="form-group">
                                    <label for="catalogue-category-name">Наименование</label>
                                    <input class="form-control input-sm" name="catalogue-category-name" id="catalogue-category-name" type="text" placeholder="Наименование" value="<?php 
        echo $this->oCategory->name;
        ?>
">
                                    <span class="help-block">Наименование категории элементов</span>
                                </div>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-lg-12">
                                <div class="form-group">
                                    <label for="catalogue-category-parent_id">Родительская категория</label>
                                    <select class="form-control input-sm" name="catalogue-category-parent_id" id="catalogue-category-parent_id">
                                        <option value="0">Не выбрана</option>
                                        <?php 
        foreach ($this->aCategories as $oCategory) {
            ?>
                                            <option value="<?php 
            echo $oCategory->id;
            ?>
"<?php 
            echo $oCategory->id == $this->parentId ? ' selected="selected"' : '';
            ?>
><?php 
            echo "({$oCategory->id}) {$oCategory->name}";
            ?>
</option>
                                        <?php 
        }
        ?>
                                    </select>
                                    <span class="help-block">Категория, в которой находится данная категория</span>
                                </div>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-lg-12">
                                <div class="form-group">
                                    <label for="catalogue-category-description">Описание</label>
                                    <textarea class="form-control input-sm" name="catalogue-category-description" id="catalogue-category-description" placeholder="Описание"><?php 
        echo $this->oCategory->description;
        ?>
</textarea>
                                    <span class="help-block">Описание категории элементов</span>
                                </div>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-lg-6">
                                <div class="form-group">
                                    <label for="catalogue-category-priority">Приоритет</label>
                                    <input class="form-control input-sm" name="catalogue-category-priority" id="catalogue-category-priority" title="Отвечает за порядок вывода элементов структуры в меню." type="number" placeholder="Приоритет" value="<?php 
        echo $this->oCategory->priority;
        ?>
">
                                    <span class="help-block">Сортировка в списке</span>
                                </div>
                            </div>
                            <div class="col-lg-6">
                                <div class="form-group">
                                    <label for="catalogue-category-active">Активность</label>
                                    <input class="checkbox" name="catalogue-category-active" id="catalogue-category-active" title="Доступен ли данный раздел в пользовательской части сайта." type="checkbox"<?php 
        echo !$this->oCategory->getPrimaryKey() || $this->oCategory->active ? ' CHECKED' : '';
        ?>
>
                                    <span class="help-block">Доступна ли данная категория в пользовательской части сайта.</span>
                                </div>
                            </div>
                        </div>
                    </div>
                    <div class="col-lg-6">
                        <div class="row">
                            <?php 
        $href = $this->oCategory->thumbnail == '' ? '/public/assets/images/system/no-image.svg' : $this->oCategory->thumbnail;
        ?>
                            <div class="col-lg-5">
                                <div class="form-group">
                                    <label for="catalogue-category-thumbnail">Миниатюра</label>
                                    <div class="input-append">
                                        <input type="hidden" id="catalogue-category-thumbnail" name="catalogue-category-thumbnail" value="<?php 
        echo $href;
        ?>
" />
                                        <a href="/filemanager/dialog.php?type=1&field_id=catalogue-category-thumbnail" class="btn btn-success btn-sm catalogue-category-thumbnail-btn" type="button">Выбрать изображение</a>
                                        <button id="catalogue-category-thumbnail-remove-btn" type="button" class="btn btn-danger btn-sm" title="Убрать изображение"><span class="glyphicon glyphicon-remove"></span></button>
                                    </div>
                                    <hr/>
                                    <span class="help-block">Выбор миниатюры категории. Данное изображение будет отображаться в пользовательской части сайта в качестве иконки категории.</span>
                                </div>
                            </div>
                            <div class="col-lg-7 text-center">
                                <a id="catalogue-category-thumbnail-a" href="<?php 
        echo $href;
        ?>
" class="fancybox"><img id="catalogue-category-thumbnail-img" class="fancybox-image" src="<?php 
        echo $href;
        ?>
" alt="Изображение"/></a>
                            </div>
                        </div>
                    </div>
                </div>

                <hr/>
                <a href="<?php 
        echo $this->backUrl;
        ?>
" class="btn btn-warning">Отмена</a>
                <button name="catalogue-category-save" id="catalogue-category-save" type="submit" class="btn btn-primary">Сохранить</button>
                <button name="catalogue-category-accept" id="catalogue-category-accept" type="submit" class="btn btn-success">Применить</button>
            </fieldset>
        </form>
        <?php 
    }