Yii catalog

Собираем здесь завершённые проекты, использующие Yii. Один проект — одна тема.
chang
Сообщения: 125
Зарегистрирован: 2010.12.03, 20:01

Re: Yii catalog

Сообщение chang »

opa-na , а что конкретно является бякой?
если это _http://my.jetscreenshot.com/demo/20110830-xg51-32kb
то могу предположить что это из-за того что в представлении используются блоки <? ?> для записи пхп-кода
а сервак настроен лишь на использование <?php ?>
т.е. нужно порыться в представлении и заменить 1 на 2
opa-na
Сообщения: 84
Зарегистрирован: 2011.07.19, 13:18

Re: Yii catalog

Сообщение opa-na »

Нет. Сборку я бякой не называл и в принципе не могу иметь к ней претензий.
Бякой я назвал то, что у меня получилось в результате установки на мою локалку и это отображено на картинке.
Может по ней кто-нибудь поймёт, что я сделал не так...

Прицеплю еще раз. Судя по журналу, какая то ошибка вылезает из базы.
А сервер одинаково нормально воспринимает и <? и <?php
Изображение
chang
Сообщения: 125
Зарегистрирован: 2010.12.03, 20:01

Re: Yii catalog

Сообщение chang »

ну под бякой я подразумевал либо глюк с картинкой либо сам журнал ошибок ( вполне можно посчитать его глюком) ну или еще че-то что не особо бросается в глаза

ИМХО БД к этому никакого отношение не имеет, проблема вить в отображении
а журнал говорит лишь о том что для построения отображаемой страницы были сделаны такие то такие запросы к БД

смотрите в то месте где выводятся эти надписи и соответственно от них отталкивайтесь
если не выйдет - попробую вечерком у себя поднять и повторить ошибку
Аватара пользователя
alexk984
Сообщения: 433
Зарегистрирован: 2010.10.21, 15:03
Контактная информация:

Re: Yii catalog

Сообщение alexk984 »

<?= вот такая штука там используется, но я заменил сейчас на обычные php-тэги, можете забрать с гита.
opa-na
Сообщения: 84
Зарегистрирован: 2011.07.19, 13:18

Re: Yii catalog

Сообщение opa-na »

Большое Спасибо за внимание к моему вопросу!
Новую сборку забрал - практически работает!
Проблемки остались - в левой колонке вместо показа товаров зависает строчка "sending request..."
В админке все товары отображаются, но не редактируются...
Аватара пользователя
alexk984
Сообщения: 433
Зарегистрирован: 2010.10.21, 15:03
Контактная информация:

Re: Yii catalog

Сообщение alexk984 »

Нужно его на отдельный домен повесить, чтобы работало. Мне некогда пока это исправить но там url везде прописаны без baseUrl, поэтому только на отдельном домене работает. А не редактируется потому что запускается режим production, загляни в файл index.php там в зависимости от адреса сайта выбирается какой конфиг подключать.
opa-na
Сообщения: 84
Зарегистрирован: 2011.07.19, 13:18

Re: Yii catalog

Сообщение opa-na »

Спасибо большое!
Вечером попробую.
Я изучаю сейчас yii и мне ваш пример в самую тему. Нужны примерно такие же функции и структура, а в буржуйских мануалах разум вязнет :)
Аватара пользователя
TranceSmile
Сообщения: 562
Зарегистрирован: 2011.06.27, 19:04
Откуда: Украина
Контактная информация:

Re: Yii catalog

Сообщение TranceSmile »

Хотел посмотреть админку, не пустило. Написало
Необходимо исправить следующие ошибки:
Ваш аккаунт не активирован.
Взял виджет PerformanceStatisticWidget.php, а он не считает количество запросов к БД
Изображение
Аватара пользователя
alexk984
Сообщения: 433
Зарегистрирован: 2010.10.21, 15:03
Контактная информация:

Re: Yii catalog

Сообщение alexk984 »

Видимо какой-то вредитель удалил админа, там можно если захотеть. Я сейчас снова создал запись в БД, но заблокировать эту возможность пока нет времени. Виджет считает кол-во запросов, не знаю почему у вас не работает.
Аватара пользователя
TranceSmile
Сообщения: 562
Зарегистрирован: 2011.06.27, 19:04
Откуда: Украина
Контактная информация:

Re: Yii catalog

Сообщение TranceSmile »

то у меня логирование отключено)
Изображение
Saturn
Сообщения: 3
Зарегистрирован: 2011.08.30, 17:54
Откуда: Minsk
Контактная информация:

Re: Yii catalog

Сообщение Saturn »

из открытых проектов, лучшее, что я увидел. не допиленная копия стандартного blog, а реально нормальный проект. чутка подшлифовать и будет просто класс!
Аватара пользователя
TranceSmile
Сообщения: 562
Зарегистрирован: 2011.06.27, 19:04
Откуда: Украина
Контактная информация:

Re: Yii catalog

Сообщение TranceSmile »

alexk984, выложи страничку определения требований yii
Изображение
emslt
Сообщения: 12
Зарегистрирован: 2011.06.27, 14:34

Re: Yii catalog

Сообщение emslt »

Warning: require(C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\catalog\protected\config\production.php) [function.require]: failed to open stream: No such file or directory in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\framework\base\CApplication.php on line 123

Fatal error: require() [function.require]: Failed opening required 'C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\catalog/protected/config/production.php' (include_path='.;C:\php\pear') in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\framework\base\CApplication.php on line 123

Где этот файлик? :)
Аватара пользователя
alexk984
Сообщения: 433
Зарегистрирован: 2010.10.21, 15:03
Контактная информация:

Re: Yii catalog

Сообщение alexk984 »

Пришлось удалить его с гитхаба, подключи dev.php вместо него в index.php.
alisherdavronov
Сообщения: 21
Зарегистрирован: 2011.09.21, 15:34

Re: Yii catalog

Сообщение alisherdavronov »

спасибо за проект
очень помогает изучению yii

была бы еще лучше если там поддерживался многоязычность
я сам думаю как проектировать и много читаю об этом
но к практике пока не дошел
BioSin
Сообщения: 15
Зарегистрирован: 2011.11.15, 21:08
Откуда: Красноярск

Re: Yii catalog

Сообщение BioSin »

А как исправить ошибку с перетаскиванием в управлении категориями товаров?
У меня и на локальном ошибка и по вашему адресу...
При перетаскивании перекидывает на 404 ошибку с сообщением - Невозможно обработать запрос "admin/moveNode/action/child/to/21/id/20".
Заранее спасибо )
Аватара пользователя
alexk984
Сообщения: 433
Зарегистрирован: 2010.10.21, 15:03
Контактная информация:

Re: Yii catalog

Сообщение alexk984 »

У меня есть ограничение на редактирование данных, чтобы ничего не могли менять. На локальном можно исправить файл index.php так

Код: Выделить всё

$yii = dirname(__FILE__) . '/../../yii/framework/yiiBase.php';
require_once($yii);

    class Yii extends YiiBase
    {
        /**
         * @static
         * @return CWebApplication
         */
        public static function app()
        {
            return parent::app();
        }
    }

$config = dirname(__FILE__) . '/protected/config/dev.php';
defined('YII_DEBUG') or define('YII_DEBUG', true);
defined('YII_TRACE_LEVEL') or define('YII_TRACE_LEVEL', 3);

Yii::createWebApplication($config)->run();
 
Flicker
Сообщения: 15
Зарегистрирован: 2010.12.21, 12:17

Re: Yii catalog

Сообщение Flicker »

Здравствуйте,
Для обучения Yii я за основу взял ваш каталог.
В данный момент создал категории, добавил нужные экшины.
Но у меня возникла проблема с добавлением breadcrumbs ("хлебных крошек") для категорий, а именно: в данный момент breadcrumbs выводится следуюшим образом:
Home->Category->sub-sub-test
то есть ссылка на домашнею и на список категорий. Я же хотел бы чтобы выводились ссылки и на предыдущие категории то есть имел вид:
Home->Category->test->sub-test->sub-sub-test
Для этого в модуле Category, я создал статический метод:

Код: Выделить всё

public static function setBreadcrumbs($id){
        $descendants = array();
        $category=Category::model()->findByPk((int)$id);
        $descendants=$category->ancestors()->findAll();
        $breadcrumbs = array();
        foreach ($descendants as $k=>$par){
            $breadcrumbs[$k][$par['title']] =$par['alias'];            
        } 
               
       return $breadcrumbs; 
    }
который выводит следующие

Код: Выделить всё

array
  0 => 
    array
      'test' => string 'test' (length=4)
  1 => 
    array
      'sub-test' => string 'test/sub-test' (length=13)
 
Но вот как добавить результат в breadcrumbs виджит не знаю.
Подскажите пожалуйста.
Flicker
Сообщения: 15
Зарегистрирован: 2010.12.21, 12:17

Re: Yii catalog

Сообщение Flicker »

Руководство по выводу статистики:
редактируем /config/main.php

Код: Выделить всё

'db'=>array(
    'connectionString' => 'mysql:host=localhost;dbname=dbName',
    'emulatePrepare' => true,
    'username' => 'user',
    'password' => 'pass',
    'charset' => 'utf8',
    'tablePrefix' => 'tbl_',
    
    'enableProfiling' => true, /*добавляем*/
    'enableParamLogging' => true, /*добавляем*/            
),
 
по умолчанию у нас log

Код: Выделить всё

'log'=>array(
    'class'=>'CLogRouter',
    'routes'=>array(
        array(
            'class'=>'CFileLogRoute',
            'levels'=>'error, warning',
        ),
        // uncomment the following to show log messages on web pages
        /*
        array(
            'class'=>'CWebLogRoute',
        ),
        */
    ),
),
 
заменяем на

Код: Выделить всё

'log' => array(
    'class' => 'CLogRouter',
    'routes' => array(
        array(
            'class' => 'CProfileLogRoute',
        ),
    ),
), 
также не забудьте добавить код в шаблон и подключить widgets
Аватара пользователя
Ozzy
Сообщения: 269
Зарегистрирован: 2009.04.02, 15:09
Откуда: Украина, Одесса

Re: Yii catalog

Сообщение Ozzy »

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

фикс1. Возможно проглюк только у меня, но при добавлении категории в родительский узел - это сделать не возможно т.к. $_POST['Category']['parent_id'] приходит пустым, а не нулевым как это в скрипте. Может я конечно что то не достроил при установке скрипта, или просто автор пропустил этот момент.

Фиксится просто, файл modules/admin/controllers/CategoryController.php строчка 36:

Код: Выделить всё

 if ($_POST['Category']['parent_id'] == '0') { 
заменяем на:

Код: Выделить всё

 if ((int)$_POST['Category']['parent_id'] == '0') { 
фикс2. Могу ошибатся, но в том же файле (modules/admin/controllers/CategoryController.php) строчка 89

Код: Выделить всё

if ($_POST['Category']['parent_id'] == $model->parent()->id) { 
вроде бы parent() больше не используется и метод не брежно переименован в getParent? Не брежно потому что упустили совместимость старых/новых версий. В конечном итоге пока не поменять parent() на getParent() - будет выдавать ошибку что метод parent не существует в моделе Category.

Я могу предположить что автор разрабатывал на версии nestedsetbehavior до версии 0,99, а затем просто обновил и не поправил в коде. Бывает

фикс3. Что то блин не везет мне сегодня. Удалил все товары с базы и почистил все справочники тк. мой магазин под технику не подходит. Решил создавать все с нуля. Конечно понимаю что используется nestedset и создавать записи через базу не стал, прошел в админку. Создание родительских узлов - проблем не создало, а вот создание деток для этих узлов стало не возможным. Причина очень проста - почему то все они создаются так же как родители. Начал смотреть данные с формы, они у меня вот такие ($_POST['Category']):

Код: Выделить всё

Array
(
    [id] => 
    [parentId] => 1
    [name] => test3
    [alias] => 333
) 
И прошу обратить внимание на поле parentId. А вот в самих сорцах автор использует parent_id, поэтому то и не определяло в какую категорию я хочу добавить новую. Это опять таки в файле modules/admin/controllers/CategoryController.php. Везде меняем

Код: Выделить всё

$_POST['Category']['parent_id'] 
на

Код: Выделить всё

$_POST['Category']['parentId'] 
И все отлично теперь работает и добавляет в родителей

фикс4. Перестало работать перемещение узлов т.к. теряло в url при формировании запроса - модуль. Может быть конечно это я поломал в два часа ночи ведь, но на форуме нашел у людей аналогичную проблему, но нормального решения не ковыряя самое расширение так и не нашлось. Поэтому extensions/QTreeGridView/CQTreeGridView.php, после:

Код: Выделить всё

 window.location.href =
добавляем

Код: Выделить всё

Yii::app()->createUrl('//admin/'.Yii::app()->controller->id)
вот так выглядят все три строчки:

Код: Выделить всё

                      if($(this).hasClass("initialized")) {
                        window.location.href = "'.Yii::app()->createUrl('//admin/'.Yii::app()->controller->id).'/moveNode/action/child/to/"+$(this).attr("id")+"/id/"+$(ui.draggable).attr("id");
                      }
                      if($(this).hasClass("before")) {
                        window.location.href = "'.Yii::app()->createUrl('//admin/'.Yii::app()->controller->id).'/moveNode/action/before/to/"+$(this).attr("id").replace("before-", "")+"/id/"+$(ui.draggable).attr("id");
                      }
                      if($(this).hasClass("after")) {
                        window.location.href = "'.Yii::app()->createUrl('//admin/'.Yii::app()->controller->id).'/moveNode/action/before/to/"+$(this).attr("id").replace("after-", "")+"/id/"+$(ui.draggable).attr("id");
                      }
это конечно не вариант если используется больше одно дерево или за пределами модуля admin. В моем случае таких исключений нет, поэтому юзаю такой топорный фикс что бы двигатся дальше.
Мой маленький блог - http://dbhelp.ru
Ответить