コード例 #1
0
ファイル: AttachController.php プロジェクト: kvvn/homeforpets
 /**
  * Загружаем модель категории
  */
 public function loadModel($id)
 {
     $model = CatalogCategory::model()->findByPk($id);
     /*if($model===null)
     		throw new CHttpException(404,'The requested page does not exist.');*/
     return $model;
 }
コード例 #2
0
 /**
  * Updates a particular model.
  * If update is successful, the browser will be redirected to the 'view' page.
  * @param integer $id the ID of the model to be updated
  */
 public function actionUpdate($id)
 {
     $model = $this->loadModel($id);
     // Дополнительные фото
     $productImages = new CatalogImage();
     $criteria = new CDbCriteria();
     $criteria->compare('id_product', $id);
     $photoDataProvider = new CActiveDataProvider('CatalogImage', array('criteria' => $criteria, 'pagination' => false));
     $this->breadcrumbs = CatalogCategory::getParents($model->id_category, true);
     $this->breadcrumbs[] = $model->title;
     $this->breadcrumbs[] = 'Редактирование';
     // Uncomment the following line if AJAX validation is needed
     // $this->performAjaxValidation($model);
     if (isset($_POST['CatalogProduct'])) {
         $model->attributes = $_POST['CatalogProduct'];
         // Чтобы красиво написано было
         //$model->noyml=!$model->noyml;
         $model->hide = !$model->hide;
         //$model->hide=!$this->hide;
         // if(isset($_POST['CatalogProductAttribute'])){
         //  $model->productAttrubute=$_POST['CatalogProductAttribute'];
         //}
         if ($model->save()) {
             // записываем атрибуты товара, переданные из формы
             if (isset($_POST['CatalogProductAttribute'])) {
                 $model->productAttributeSave($_POST['CatalogProductAttribute']);
             }
             $this->redirect(array('view', 'id' => $model->id));
         }
     }
     //print_r($model->productAttrubute);
     $this->render('update', array('model' => $model, 'productImages' => $productImages, 'photoDataProvider' => $photoDataProvider));
 }
コード例 #3
0
ファイル: ServiceController.php プロジェクト: xPashaNx/diet
 /**
  * Updates a particular model
  * If update is successful, the browser will be redirected to the 'view' page
  *
  * @param integer $id the ID of the model to be updated
  *
  * @throws CHttpException
  */
 public function actionUpdate($id)
 {
     $model = $this->loadModel($id);
     $serviceImages = new CatalogImage();
     $this->breadcrumbs = CatalogCategory::getParents($model->id_category, true);
     $this->breadcrumbs[] = $model->short_title;
     $this->breadcrumbs[] = 'Редактирование';
     if (isset($_POST['CatalogService'])) {
         $model->attributes = $_POST['CatalogService'];
         if ($model->save()) {
             $this->redirect(array('view', 'id' => $model->id));
         }
     }
     $this->render('update', array('model' => $model, 'serviceImages' => $serviceImages));
 }
コード例 #4
0
ファイル: CatalogUrlRule.php プロジェクト: xPashaNx/diet
 /**
  * Parse url
  *
  * @param $manager
  * @param $request
  * @param $pathInfo
  * @param $rawPathInfo
  *
  * @return bool|string
  */
 public function parseUrl($manager, $request, $pathInfo, $rawPathInfo)
 {
     if (preg_match('%^(/?([\\w\\-.]+))+$%', $pathInfo, $matches)) {
         $pages = preg_split("/\\//", $pathInfo);
         $element_arr = explode('.', end($pages));
         $element = $element_arr[0];
         if ($page = CatalogCategory::model()->find(array('condition' => 'link=:link', 'params' => array(':link' => $element)))) {
             return '/services/default/category/link/' . $element;
         } else {
             if ($service = CatalogService::model()->find(array('condition' => 'link=:link', 'params' => array(':link' => $element)))) {
                 return '/services/default/service/id/' . $service->id;
             } else {
                 return false;
             }
         }
     }
     return false;
 }
コード例 #5
0
ファイル: CatalogUrlRule.php プロジェクト: kvvn/homeforpets
 public function parseUrl($manager, $request, $pathInfo, $rawPathInfo)
 {
     if (preg_match('%^(/?([\\w\\-.]+))+$%', $pathInfo, $matches)) {
         //разбиваем путь по слешам и берем последнюю составляющую пути
         $pages = preg_split("/\\//", $pathInfo);
         //$element = end($pages);
         $element_arr = explode('.', end($pages));
         $element = $element_arr[0];
         if (in_array('brands', $pages)) {
             if (count($pages) == 3) {
                 if ($brand = CatalogBrands::model()->find(array('select' => 'id', 'condition' => 'link=:link', 'params' => array(':link' => $element)))) {
                     return 'catalog/brands/index/view/' . $element;
                 } else {
                     return false;
                 }
             } elseif (count($pages) == 4) {
                 return 'catalog/brands/index/view/' . $pages[2] . '/coll/' . $element;
             } else {
                 return false;
             }
         } else {
             if ($page = CatalogCategory::model()->find(array('select' => 'id', 'condition' => 'link=:link', 'params' => array(':link' => $element)))) {
                 // если есть - преобразуем адрес
                 return '/catalog/default/category/link/' . $element;
             } else {
                 // если такой категории нет - проверяем, может быть есть такой товар
                 if ($product = CatalogProduct::model()->find(array('select' => 'id', 'condition' => 'link=:link', 'params' => array(':link' => $element)))) {
                     // если есть - преобразуем адрес
                     return '/catalog/default/product/id/' . $product->id;
                 } else {
                     // если нет - не применяем правило
                     return false;
                 }
             }
         }
     }
     return false;
     // не применяем данное правило
 }
コード例 #6
0
ファイル: _search.php プロジェクト: kvvn/homeforpets
    <div class="row">
        <?php 
echo $form->label($model, 'price');
?>
        <?php 
echo $form->textField($model, 'price', array('maxlength' => 256));
?>
    </div>

    <div class="row">
        <?php 
echo $form->label($model, 'id_category');
?>
        <?php 
echo $form->dropDownList($model, 'id_category', CatalogCategory::getAllCategoriesList(), array('empty' => 'Не важно'));
?>
    </div>


	<div class="row">
		<?php 
echo $form->label($model, 'on_main');
?>
		<?php 
echo $form->checkBox($model, 'on_main');
?>
	</div>

	<div class="row buttons">
		<?php 
コード例 #7
0
ファイル: CatalogTableSeeder.php プロジェクト: Grapheme/dada
 public function run()
 {
     /**
      * КАТЕГОРИИ
      */
     CatalogCategory::create(array('id' => 1, 'active' => 1, 'slug' => 'bicycles', 'lft' => 1, 'rgt' => 8));
     CatalogCategoryMeta::create(array('category_id' => 1, 'language' => 'ru', 'active' => 1, 'name' => 'Велосипеды'));
     CatalogCategoryMeta::create(array('category_id' => 1, 'language' => 'en', 'active' => 1, 'name' => 'Bicycles'));
     CatalogCategory::create(array('id' => 2, 'active' => 1, 'slug' => 'mountain', 'lft' => 2, 'rgt' => 3));
     CatalogCategoryMeta::create(array('category_id' => 2, 'language' => 'ru', 'active' => 1, 'name' => 'Горные'));
     CatalogCategory::create(array('id' => 3, 'active' => 1, 'slug' => 'road', 'lft' => 4, 'rgt' => 5));
     CatalogCategoryMeta::create(array('category_id' => 3, 'language' => 'ru', 'active' => 1, 'name' => 'Шоссейные'));
     CatalogCategory::create(array('id' => 4, 'active' => 1, 'slug' => 'city', 'lft' => 6, 'rgt' => 7));
     CatalogCategoryMeta::create(array('category_id' => 4, 'language' => 'ru', 'active' => 1, 'name' => 'Городские'));
     CatalogCategory::create(array('id' => 5, 'active' => 1, 'slug' => 'pc', 'lft' => 9, 'rgt' => 10));
     CatalogCategoryMeta::create(array('category_id' => 5, 'language' => 'ru', 'active' => 1, 'name' => 'Компьютеры'));
     /**
      * ТОВАРЫ
      */
     CatalogProduct::create(array('id' => 1, 'active' => 1, 'category_id' => 1, 'slug' => 'normal_bike', 'article' => 'sku0001', 'amount' => '5', 'lft' => 1, 'rgt' => 2));
     CatalogProductMeta::create(array('product_id' => 1, 'language' => 'ru', 'active' => 1, 'name' => 'Обычный велосипед', 'description' => 'Какое-то описание продукта...', 'price' => '25000'));
     CatalogProduct::create(array('id' => 2, 'active' => 1, 'category_id' => 1, 'slug' => 'normal_bike_2', 'article' => 'sku0002', 'amount' => '5', 'lft' => 3, 'rgt' => 4));
     CatalogProductMeta::create(array('product_id' => 2, 'language' => 'ru', 'active' => 1, 'name' => 'Обычный велосипед 2', 'description' => 'Какое-то описание продукта...', 'price' => '25000'));
     CatalogProduct::create(array('id' => 3, 'active' => 1, 'category_id' => 1, 'slug' => 'normal_bike_3', 'article' => 'sku0003', 'amount' => '5', 'lft' => 5, 'rgt' => 6));
     CatalogProductMeta::create(array('product_id' => 3, 'language' => 'ru', 'active' => 1, 'name' => 'Обычный велосипед 3', 'description' => 'Какое-то описание продукта...', 'price' => '25000'));
     /**
      * АТРИБУТЫ
      */
     CatalogAttributeGroup::create(array('id' => 1, 'category_id' => 1, 'active' => 1, 'slug' => 'default', 'lft' => 1, 'rgt' => 2));
     CatalogAttributeGroupMeta::create(array('attributes_group_id' => 1, 'language' => 'ru', 'active' => 1, 'name' => 'По умолчанию'));
     CatalogAttribute::create(array('id' => 1, 'active' => 1, 'slug' => 'wheel_radius', 'attributes_group_id' => 1, 'type' => 'text', 'lft' => 1, 'rgt' => 2));
     CatalogAttributeMeta::create(array('attribute_id' => 1, 'language' => 'ru', 'active' => 1, 'name' => 'Радиус колеса'));
     CatalogAttribute::create(array('id' => 2, 'active' => 1, 'slug' => 'material', 'attributes_group_id' => 1, 'type' => 'textarea', 'lft' => 3, 'rgt' => 4));
     CatalogAttributeMeta::create(array('attribute_id' => 2, 'language' => 'ru', 'active' => 1, 'name' => 'Материал рамы'));
     CatalogAttributeGroup::create(array('id' => 2, 'category_id' => 1, 'active' => 1, 'slug' => 'additional', 'lft' => 3, 'rgt' => 4));
     CatalogAttributeGroupMeta::create(array('attributes_group_id' => 2, 'language' => 'ru', 'active' => 1, 'name' => 'Дополнительно'));
     CatalogAttribute::create(array('id' => 3, 'active' => 1, 'slug' => 'flashlight', 'attributes_group_id' => 2, 'type' => 'checkbox', 'lft' => 5, 'rgt' => 6));
     CatalogAttributeMeta::create(array('attribute_id' => 3, 'language' => 'ru', 'active' => 1, 'name' => 'Наличие фары освещения'));
     CatalogAttribute::create(array('id' => 4, 'active' => 1, 'slug' => 'breaks', 'attributes_group_id' => 2, 'type' => 'select', 'settings' => '{"selectable":1}', 'lft' => 7, 'rgt' => 8));
     CatalogAttributeMeta::create(array('attribute_id' => 4, 'language' => 'ru', 'active' => 1, 'name' => 'Тормоза', 'settings' => '{"values":"\\u0414\\u0438\\u0441\\u043a\\u043e\\u0432\\u044b\\u0435\\n\\u041a\\u043e\\u043b\\u043e\\u0434\\u043e\\u0447\\u043d\\u044b\\u0435"}'));
     /**
      * ЗНАЧЕНИЯ АТРИБУТОВ для ТОВАРА
      */
     CatalogAttributeValue::create(array('product_id' => 1, 'attribute_id' => 1, 'language' => 'ru', 'value' => 'R22'));
     CatalogAttributeValue::create(array('product_id' => 1, 'attribute_id' => 2, 'language' => 'ru', 'value' => '', 'settings' => '{"value":"\\u041a\\u0430\\u0440\\u0431\\u043e\\u043d\\/\\u0430\\u043b\\u044e\\u043c\\u0438\\u043d\\u0438\\u0439"}'));
     CatalogAttributeValue::create(array('product_id' => 1, 'attribute_id' => 3, 'language' => 'ru', 'value' => '1'));
     CatalogAttributeValue::create(array('product_id' => 1, 'attribute_id' => 4, 'language' => 'ru', 'value' => 'Дисковые'));
     /**
      * СТАТУСЫ ЗАКАЗОВ
      */
     CatalogOrderStatus::create(array('id' => 1, 'sort_order' => 1));
     CatalogOrderStatusMeta::create(array('status_id' => 1, 'language' => 'ru', 'title' => 'В обработке'));
     CatalogOrderStatus::create(array('id' => 2, 'sort_order' => 2));
     CatalogOrderStatusMeta::create(array('status_id' => 2, 'language' => 'ru', 'title' => 'Ожидает оплаты'));
     CatalogOrderStatus::create(array('id' => 3, 'sort_order' => 3));
     CatalogOrderStatusMeta::create(array('status_id' => 3, 'language' => 'ru', 'title' => 'Оплачен'));
     CatalogOrderStatus::create(array('id' => 4, 'sort_order' => 4));
     CatalogOrderStatusMeta::create(array('status_id' => 4, 'language' => 'ru', 'title' => 'Ожидает отправки'));
     CatalogOrderStatus::create(array('id' => 5, 'sort_order' => 5));
     CatalogOrderStatusMeta::create(array('status_id' => 5, 'language' => 'ru', 'title' => 'Завершен'));
     /**
      * ЗАКАЗЫ
      */
     CatalogOrder::create(array('id' => 1, 'status_id' => 4, 'total_sum' => 120000, 'client_id' => NULL, 'client_name' => 'Покупатель', 'delivery_info' => 'г.Ростов-на-Дону, ул Суворова 52а, оф.301', 'comment' => 'Комментарий покупателя к заказу'));
     CatalogOrderProduct::create(array('order_id' => 1, 'product_id' => 1, 'count' => 2, 'price' => 25000, 'product_cache' => '[]'));
     CatalogOrderProductAttribute::create(array('order_id' => 1, 'product_id' => 1, 'attribute_id' => 4, 'attribute_cache' => 'Тормоза', 'value' => 'Дисковые'));
     CatalogOrderProduct::create(array('order_id' => 1, 'product_id' => 2, 'count' => 3, 'price' => 24000, 'product_cache' => '[]'));
     CatalogOrderProductAttribute::create(array('order_id' => 1, 'product_id' => 2, 'attribute_id' => 4, 'attribute_cache' => 'Тормоза', 'value' => 'Колодочные'));
     CatalogOrderProduct::create(array('order_id' => 1, 'product_id' => 3, 'count' => 1, 'price' => 23000, 'product_cache' => '[]'));
     CatalogOrderProductAttribute::create(array('order_id' => 1, 'product_id' => 3, 'attribute_id' => 4, 'attribute_cache' => 'Тормоза', 'value' => 'Без тормозов'));
     /**
      * ИСТОРИЯ СТАТУСОВ ЗАКАЗА
      */
     CatalogOrderStatusHistory::create(array('order_id' => 1, 'status_id' => 1, 'comment' => 'Заказ сделан, ожидает обработки...', 'changer_name' => 'Покупатель'));
     CatalogOrderStatusHistory::create(array('order_id' => 1, 'status_id' => 2, 'comment' => 'Менеджер обработал заказ, ожидание оплаты', 'changer_name' => 'Продавец'));
     CatalogOrderStatusHistory::create(array('order_id' => 1, 'status_id' => 3, 'comment' => 'Покупатель оплатил товар', 'changer_name' => 'Покупатель'));
     CatalogOrderStatusHistory::create(array('order_id' => 1, 'status_id' => 4, 'comment' => 'Товар был успешно оплачен, ожидание отправки', 'changer_name' => 'Продавец'));
 }
コード例 #8
0
ファイル: _form.php プロジェクト: kvvn/homeforpets
$form = $this->beginWidget('CActiveForm', array('id' => 'catalog-product-form', 'htmlOptions' => array('enctype' => 'multipart/form-data'), 'enableAjaxValidation' => false));
?>


	<p class="note">Поля, отмеченные <span class="required">*</span>, обязательны для заполнения</p>

	<?php 
echo $form->errorSummary($model);
?>

	<div class="row">
		<?php 
echo $form->labelEx($model, 'id_category');
?>
		<?php 
echo $form->dropDownList($model, 'id_category', CHtml::listData(CatalogCategory::model()->findAll('parent_id = 0'), 'id', 'title'));
?>
		<?php 
echo $form->error($model, 'id_category');
?>
	</div>

	<div class="row">
		<?php 
echo $form->labelEx($model, 'title');
?>
		<?php 
echo $form->textField($model, 'title', array('size' => 60, 'maxlength' => 256, 'id' => 'productTitle'));
?>
		<?php 
echo $form->error($model, 'title');
コード例 #9
0
ファイル: CatalogProduct.php プロジェクト: kvvn/homeforpets
 public function getFullLinkFast()
 {
     if (isset($this->idCategoryFast)) {
         // возвращаем путь к категории товара и прибавляем в конце id
         return '/catalog' . CatalogCategory::getCategoryRouteFast($this->idCategoryFast) . '/' . $this->link . '.html';
     } else {
         return '/catalog/' . $this->link . '.html';
     }
 }
コード例 #10
0
ファイル: DefaultController.php プロジェクト: xPashaNx/diet
 /**
  * Create url
  *
  * @param string $route
  * @param array  $params
  * @param string $ampersand
  *
  * @return string
  */
 public function createUrl($route, $params = array(), $ampersand = '&')
 {
     if ($route == 'category') {
         if (isset($params['link'])) {
             return '/services' . CatalogCategory::getCategoryRoute($params['link']);
         }
     }
     if ($route == 'service') {
         if (isset($params['id'])) {
             if ($service = CatalogService::model()->find(array('condition' => 'id=:id', 'params' => array(':id' => $params['id'])))) {
                 $category = CatalogCategory::model()->findByPk($service->id_category);
                 return '/services' . CatalogCategory::getCategoryRoute($category->link) . '/' . $service->id;
             }
         }
     }
     return parent::createUrl($route, $params, $ampersand);
 }
コード例 #11
0
ファイル: searchbox.php プロジェクト: kvvn/homeforpets
<?php 
}
$form = $this->beginWidget('CActiveForm', array('id' => 'seacrh-form', 'action' => '/catalog/default/selection', 'method' => 'get', 'htmlOptions' => array('style' => 'display:' . ($params['category'] ? 'none' : 'block'))));
?>
<div class="s-form">
	<div class="row">
		<h1>Подобрать питомца</h1>
	</div>
	<div class="row">
		<div class="column">
			<?php 
echo CHtml::label('Вид животного', 'params_category');
?>
:
			<?php 
echo CHtml::dropDownList('params[category]', $params['category'], CHtml::listData(CatalogCategory::model()->findAll('parent_id = 0'), 'id', 'title'), array('empty' => 'Любое животное', 'class' => 'form-group'));
?>
		</div>
		<div class="column mh">
			<?php 
echo CHtml::label('Возраст', 'params_ageFrom');
?>
:
			<div class="column-left">
				<div class="text">от</div>
				<?php 
echo CHtml::textField('params[ageFrom]', $params['ageFrom'], array('maxlength' => 256));
?>
				<?php 
echo CHtml::dropDownList('params[ageFromUnit]', $params['ageFromUnit'], array(7 => 'Недель', 30 => 'Месяцев', 365 => 'Лет'));
?>
コード例 #12
0
ファイル: CatalogService.php プロジェクト: xPashaNx/diet
 /**
  * Returns the full link to the service
  *
  * @return string
  */
 public function getFullLink()
 {
     if (isset($this->idCategory)) {
         return '/services' . CatalogCategory::getCategoryRoute($this->idCategory->link) . '/' . $this->link . '.html';
     } else {
         return '/services/' . $this->link . '.html';
     }
 }
コード例 #13
0
 public function createUrl($route, $params = array(), $ampersand = '&')
 {
     // если формируем ссылку на категорию
     if ($route == 'category') {
         if (isset($params['link'])) {
             return '/catalog' . CatalogCategory::getCategoryRoute($params['link']);
         }
     }
     // если формируем ссылку на товар
     if ($route == 'product') {
         // если передано id товара
         if (isset($params['id'])) {
             // если существует такой продукт
             if ($product = CatalogProduct::model()->find(array('condition' => 'id=:id', 'params' => array(':id' => $params['id'])))) {
                 // берем категорию продукта
                 $category = CatalogCategory::model()->with('parentShort')->findByPk($product->id_category);
                 // возвращаем путь к категории товара и прибавляем в конце id
                 return '/catalog' . CatalogCategory::getCategoryRouteFast($category) . '/' . $product->id;
             }
         }
     }
     // если условия не сработали - формируем адрес обычным образом
     return parent::createUrl($route, $params, $ampersand);
 }
コード例 #14
0
ファイル: index.php プロジェクト: kvvn/homeforpets
    ?>
:
			<?php 
    echo $form->textField($model, 'phone', array('maxlength' => 256));
    ?>
		</div>
	</div>

	<div class="row">
		<div class="column">
			<?php 
    echo $form->labelEx($model, 'id_category');
    ?>
:
			<?php 
    echo $form->dropDownList($model, 'id_category', CHtml::listData(CatalogCategory::model()->findAll('parent_id = 0'), 'id', 'title'), array('empty' => 'Выберите вид животного', 'class' => 'form-group'));
    ?>
		</div>
		<div class="column">
			<?php 
    echo $form->label($model, 'title');
    ?>
:
			<?php 
    echo $form->textField($model, 'title', array('maxlength' => 256));
    ?>
		</div>
	</div>
	
	<div class="row">
		<div class="column">
コード例 #15
0
ファイル: CatalogCategory.php プロジェクト: kvvn/homeforpets
 public static function getAllCategoriesList()
 {
     $root_category = new CatalogCategory();
     $root_category->id = 0;
     return $root_category->getAllChildsList(0);
 }
コード例 #16
0
ファイル: DefaultController.php プロジェクト: xPashaNx/diet
 /**
  * Load category model
  *
  * @param $id
  *
  * @return mixed
  */
 public function loadModel($id)
 {
     $result = null;
     if ($model = CatalogCategory::model()->findByPk($id)) {
         $result = $model;
     }
     return $result;
 }
コード例 #17
0
ファイル: CatalogCategory.php プロジェクト: xPashaNx/diet
 /**
  * Create url
  *
  * @param string $route
  * @param array  $params
  *
  * @return string
  */
 public function createUrl($route, $params = array())
 {
     if ($route == 'category') {
         if (isset($params['link'])) {
             return '/services' . CatalogCategory::getCategoryRoute($params['link']);
         }
     }
 }