Русскоязычный форум, посвященный фреймворку Kohana
http://forum.kohanaframework.su/

Мой интернет магазин на Kohana 3.2
http://forum.kohanaframework.su/viewtopic.php?f=29&t=630
Страница 1 из 3

Автор:  norayrx [ 10 май 2013, 20:14 ]
Заголовок сообщения:  Мой интернет магазин на Kohana 3.2

Вы всегда можете Скачать БЕСПЛАТНО последнюю версию http://norshopcms.ru/download пользоваться
Буду рад Комментарии и предложение


Возможности и функционал NorShopCMS интернет магазина
Привлекательный и адаптивный дизайн сайта и админки Bootstrap от Twitter'а http://twitter.github.com/bootstrap/

    Многоуровневый каталог товаров
    Скрол товаров
    Поиск товаров (по названию, описанию и по артикулу)
    Автозаполнения для поиска товаров(Jquery UI)
    фильтр по ценам товаров
    Корзина товаров (Добавление в корзину AJAX)
    Регистрация и Авторизация пользователей
    Профиль пользователей
    Оформление заказов
    Способы доствака (Самовывоз и курером)
    Обратная связь
    Баннеры слойд шоу в главной странице
    Поддержка SEO заголовки и мета

Панель администратора
    Визуальный редактор TinyMCE и два вариантов менеджер изображений
    Добавление, редактирование и удаление меню
    Добавление и удаление Баннеров главной странице
    Добавление, редактирование и удаление каталога товаров
    3 варианта выбора шаблонов категории товаров
    Обычный шаблон товаров
    Шаблон список
    Колоночный шаблон товаров
    Добавление, редактирование и удаление Товаров
    Добавление, редактирование и удаление производителей
    Просмотр заказы товаров
    Добавление, редактирование и удаление страниц
    Добавление, редактирование и удаление статей
    Добавление, редактирование и удаление пользователей
    Список стран и регионов


А так же мой проект сайт онлайн фильмов сделана на kohana на моем движке NorCMS 

http://norfilms.ru , http://nornix.ru

движке NorCMS работает мой сайт http://nordev.ru

Автор:  WinterSilence [ 10 май 2013, 22:31 ]
Заголовок сообщения:  Re: Мой интернет магазин на Kohana 3.2

Спасибо за опыт, но сама cms не понравилась:
паттерн MVC не совсем верно местами организован
kohana используется местами коряво, а местами и не используется где нужно
стиль программирования хромает

Автор:  Sergey [ 11 май 2013, 02:39 ]
Заголовок сообщения:  Re: Мой интернет магазин на Kohana 3.2

Столько грамматических ошибок в жизни не видел. Исправляйте быстро :)

Автор:  norayrx [ 12 май 2013, 19:01 ]
Заголовок сообщения:  Re: Мой интернет магазин на Kohana 3.2

а какие именно

Автор:  norayrx [ 12 май 2013, 19:04 ]
Заголовок сообщения:  Re: Мой интернет магазин на Kohana 3.2

kohana используется местами коряво, а местами и не используется где нужно
стиль программирования хромает

Спасибо за комментарии , может у вас есть предложения или что то подскажите что и где улучшить?
и где используется коряво и почему ? и где не используется где нужно

Автор:  WinterSilence [ 12 май 2013, 21:00 ]
Заголовок сообщения:  Re: Мой интернет магазин на Kohana 3.2

там много всего, я бы помог, но увяз в написании своей cms.
например:
application\classes\controller\admin\category.php и в других местах
Код:
public function before() {
        parent::before();
}

зачем?

Код:
$cat = Arr::extract($_POST, array('category_title', 'cat_id'));
if (isset($_POST['submit']))

нужно использовать $this->request->post() т.к. переменные полученные таким образом более защищены

application\classes\controller\admin\products.php
function action_add() - работа над данными должна выполняться в моделях,а не контроллерах.

application\classes\model\article.php и например payment.php, повторяется function uniq_alias($value, $field), можно было бы сделать модель родитель и наследовать свои классы от нее. и еще где-то подобное у вас видел

еще в orm моделях нужно явно описывать поля таблицы иначе возникают лишние запросы

присоединяйтесь, распределенная система администрирования вам не помешает.
http://forum.kohanaframework.org/discus ... ment_77973

Автор:  norayrx [ 12 май 2013, 23:13 ]
Заголовок сообщения:  Re: Мой интернет магазин на Kohana 3.2

А как посмотреть и проверить и узнать в этом случи есть личные запросы?

и как уверится что post() ; боле защищеная?

как это все проверить и увидеть самому?

Автор:  norayrx [ 12 май 2013, 23:18 ]
Заголовок сообщения:  Re: Мой интернет магазин на Kohana 3.2

function action_add() - работа над данными должна выполняться в моделях,а не контроллерах.

а как сделать в моделях можете показать пример?

в случи ORM как же сделать в model ях?


public function action_add() {

//Получение категорий
$categories = ORM::factory('category');
$categories = $categories->fulltree()->as_array();

$manufactures = ORM::factory('manufactures')->find_all();

if (isset($_POST['submit']))
{
// Работа с товаром
$data = Arr::extract($_POST, array('cat_id', 'manufacture_id', 'title', 'code', 'description', 'price', 'images','meta_description', 'meta_keywords', 'status'));
$products = ORM::factory('product');
$products->values($data);


try {
$products->save();
$products->add('categories', $data['cat_id']);

// Работа с изображениями
if (!empty($_FILES['images']['name'][0]))
{

print_r($_FILES['images']['name'][0]);
foreach ($_FILES['images']['tmp_name'] as $image)
{

$filename = $this->_upload_img($image);

// Запись в БД
$im_db = ORM::factory('image');
$im_db->product_id = $products->pk();
$im_db->name = $filename;
$im_db->save();

$p_db = ORM::factory('product', $products->pk());
if ($p_db->image_id == 0){
$p_db->image_id = $im_db->pk();
$p_db->save();
}
}
}

$this->request->redirect('admin/products');
}
catch (ORM_Validation_Exception $e) {
$errors = $e->errors('validation');
}

}

$content = View::factory('admin/addproduct',array('manufactures'=>$manufactures))
->bind('errors', $errors)
->bind('cats', $categories)
->bind('data', $data);

// Вывод в шаблон
$this->template->page_title = 'Товары :: Добавить';
$this->template->block_center = $content;
}


Какой часть можно в моделях написать
а как сделать в моделях можете показать пример?

class Model_Product extends ORM {

protected $_table_name = 'products';
protected $_primary_key = 'id';
protected $_db_group = 'default';

protected $_has_many = array(
'images' => array(
'model' => 'image',
'foreign_key' => 'product_id',
),

'categories' => array(
'model' => 'category',
'foreign_key' => 'product_id',
'through' => 'products_categories',
'far_key' => 'category_id',
),

'orders' => array(
'model' => 'order',
'foreign_key' => 'product_id',
'through' => 'orders_products',
'far_key' => 'orders_id',
),
);

protected $_belongs_to = array(
'main_img' => array(
'model' => 'image',
'foreign_key' => 'image_id',
),

'manufactures' => array(
'model' => 'manufactures',
'foreign_key' => 'manufacture_id',
),
);


public function rules()
{
return array(
'title' => array(
array('not_empty'),
),
'description' => array(
array('not_empty'),
),
'price' => array(
// array('not_empty'),
array('numeric'),
),
);
}


public function labels()
{
return array(
'title' => 'Наименование',
'description' => 'Описание',
'price' => 'Цена',
);
}

public function filters()
{
return array(
TRUE => array(
array('trim'),
),
'title' => array(
array('strip_tags'),
),
'price' => array(
array('strip_tags'),
),
);
}

}

Автор:  WinterSilence [ 12 май 2013, 23:45 ]
Заголовок сообщения:  Re: Мой интернет магазин на Kohana 3.2

добавить в модель методы соответствующие.
например в модель добавляем метод add($data) в котором содержится код добавления данных в модель, а в контроллере в action_add() вызываем данный метод Модель->add($data_from_post)

Автор:  norayrx [ 15 май 2013, 01:45 ]
Заголовок сообщения:  Re: Мой интернет магазин на Kohana 3.2

может покажете какой не буть пример пример к этому коду

Код:
   public function action_add(){
      if(isset($_POST['submit'])){
      
         if($this->user->username =='demo') {
         $this->request->redirect('admin/articles?act=demo');
         exit;
         }
         
         $data = Arr::extract($_POST, array('article_title', 'article_alias', 'article_text', 'article_description', 'article_keywords', 'article_status'));
         $article = ORM::factory('article');
         $article->values($data);

         try{
               $article->save();
               $this->request->redirect('/admin/articles');
         }
         catch(ORM_Validation_Exception $e){
               $errors = $e->errors('validation');
         }

      }

      $content = View::factory('/admin/articlesadd')
               ->bind('errors', $errors)
               ->bind('data',$data);

      $this->template->page_title = 'Добавить страницу';
      $this->template->block_center = $content;
   }



Код:
class Model_Article extends ORM {

    protected $_table_name = 'articles';
    protected $_primary_key = 'article_id';
   protected $_db_group = 'default';

   public function rules()
    {
        return array(
            'article_title' => array(
                array('not_empty'),
            ),
            'article_alias' => array(
                array('not_empty'),
                array('alpha_dash'),
                array(array($this, 'uniq_alias'), array(':value', ':field')),
            ),
            'article_text' => array(
                array('not_empty'),
            ),
        );


    }

Страница 1 из 3 Часовой пояс: UTC + 4 часа [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/