Первый блог

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Закрыто
systemiv
Сообщения: 360
Зарегистрирован: 2011.06.26, 22:55
Откуда: Липецк
Контактная информация:

Первый блог

Сообщение systemiv »

Я думаю что этот пост будет полезен не только мне, но и тем кто считает что использование генератора в начале обучения - зло 8-)

Цель:
Создать блог без дизайна, только функционал в целях обучения и получения необходимых знаний.

Возможности блога:
1. Вывод всех статей
2. Вывод одной статьи с комментариями
3. Листалка статей
4. Админка:
Как таковой админ-панели не будет. Вверху каждой страницы будут два поля для ввода логина и пароля.
При входе они будут меняется на пункты:
- если пользователь смотрит список статей, то "Добавить новую статью" и "Выход".
- если пользователь просматривает конкретную статью, то "Изменить статью", "Удалить статью" и "Выход".
- возле каждого комментария появляется пункт на удаление
Если пользователь не вошел, то вверху отображается поле для ввода Логина и Пароля

Подробное ТЗ:
1. Вывод всей статей: каждая статья имеет заголовок, время создания, краткое описание, количество комментариев и
ссылку "Подробнее...".
- Заголовок - ссылка ведущая на полную статью, эквивалента ссылке "Подробнее..."
- Время создания, в американском формате, без каких либо преобразований.
- Краткое описание - обрезает полный текст статьи(первые 250 символов и добавляет "...").

2. Вывод одной статьи: здесь ничего особенного, обычный вывод статьи с комментариями. Внизу страницы форма для
для добавления комментария.
- Имя
- Время комментария(создается автоматически)
- Текст комментария

3. Листалка статей: По 5 постов на 1 странице.

4. Админка:
- Добавление статьи :
- Заголовок
- Время создания(создается автоматически)
- Текст поста
- Изменение статьи: Всё тоже самое, только поля автоматически заполняются из БД
- Удаление статьи: Без пометки на удаление. Полное удаление статьи всех комментариев, которые к ней относятся


Если администрация не против, то я тут буду спрашивать что мне не понятно, воизбежние создания кучи ненужных тем с 1-им ответом.

Сразу возник вопрос по поводу контроллеров. Как будет правильно - создать 1 контроллер и для постов и для комментариев, или создать два контроллера, каждый для своего. Если второе, то как им вдвоём взаимодействовать, выводя текст статьи и комментарии.
rak
Сообщения: 2181
Зарегистрирован: 2010.11.02, 23:40
Контактная информация:

Re: Первый блог

Сообщение rak »

Сделать 2 контроллера. Комментарии можно выводить виджетом, а методы для добавления, редактирования и удаления поместить в контроллер CommentsController
systemiv
Сообщения: 360
Зарегистрирован: 2011.06.26, 22:55
Откуда: Липецк
Контактная информация:

Re: Первый блог

Сообщение systemiv »

А как идёт переопределение макета? Например вот вырезка из доков:
Метод actionContact() выводит представление contact. При этом подключается файл представления /wwwroot/blog/protected/views/site/contact.php и результат его выполнения подставляется в макет /wwwroot/blog/protected/views/layouts/column1.php.
Написано что переопределение идёт CWebApplication::layout или CController::layout.
А где они задаются? В контроллере?
rak
Сообщения: 2181
Зарегистрирован: 2010.11.02, 23:40
Контактная информация:

Re: Первый блог

Сообщение rak »

да

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

$this->layout = 'mylayout'; 
systemiv
Сообщения: 360
Зарегистрирован: 2011.06.26, 22:55
Откуда: Липецк
Контактная информация:

Re: Первый блог

Сообщение systemiv »

В руководстве http://yiiframework.ru/doc/blog/ru/prototype.database говорится что нужно выполнить SQLite запрос. И для этого нужна утилита sqlite3. Я установил, но как использовать не знаю. Может кто то имел с ней дело?
Аватара пользователя
kosenka
Сообщения: 677
Зарегистрирован: 2009.09.26, 12:41
Откуда: москва
Контактная информация:

Re: Первый блог

Сообщение kosenka »

systemiv писал(а):В руководстве http://yiiframework.ru/doc/blog/ru/prototype.database говорится что нужно выполнить SQLite запрос. И для этого нужна утилита sqlite3. Я установил, но как использовать не знаю. Может кто то имел с ней дело?
А у тебя что стоит в качестве вебсервера, денвер ? Если да, то в поиске можно найти решения как подключить sqlite к денверу.
systemiv
Сообщения: 360
Зарегистрирован: 2011.06.26, 22:55
Откуда: Липецк
Контактная информация:

Re: Первый блог

Сообщение systemiv »

В качестве сервера стоит не сборка, а голые апачи, пхп и mysql.
OS: Linux
Аватара пользователя
kosenka
Сообщения: 677
Зарегистрирован: 2009.09.26, 12:41
Откуда: москва
Контактная информация:

Re: Первый блог

Сообщение kosenka »

systemiv писал(а):В качестве сервера стоит не сборка, а голые апачи, пхп и mysql.
OS: Linux
Ок. Ты поставил sqlite. А в чем собственно сама проблема? sqlite такой же sql-сервер как и mysql и прочие. Ты пропиши в конфиге yii "строку коннекта" для sqlite и все у тебя должно заработать.
Вот здесь читаем Установка подключения к базе данных
systemiv
Сообщения: 360
Зарегистрирован: 2011.06.26, 22:55
Откуда: Липецк
Контактная информация:

Re: Первый блог

Сообщение systemiv »

Вот и я про тоже=)
Если процитировать:
Чтобы создать базу данных вручную, можно выполнить SQL-выражения из файла /wwwroot/yii/demos/blog/protected/data/schema.sqlite.sql.
А как выполнить???
Аватара пользователя
kosenka
Сообщения: 677
Зарегистрирован: 2009.09.26, 12:41
Откуда: москва
Контактная информация:

Re: Первый блог

Сообщение kosenka »

systemiv писал(а):Вот и я про тоже=)
Если процитировать:
Чтобы создать базу данных вручную, можно выполнить SQL-выражения из файла /wwwroot/yii/demos/blog/protected/data/schema.sqlite.sql.
А как выполнить???
попробуй в консоли выполнить что-то типа этого: sqlite test.db
Точнее сказать не могу, так как не силен в линуксе.

p.s. Если в английском силен, читай тут
Последний раз редактировалось kosenka 2011.06.29, 19:54, всего редактировалось 1 раз.
Аватара пользователя
BuCeFaL
Сообщения: 447
Зарегистрирован: 2010.03.17, 21:22
Откуда: Kiev
Контактная информация:

Re: Первый блог

Сообщение BuCeFaL »

systemiv писал(а):Вот и я про тоже=)
Если процитировать:
Чтобы создать базу данных вручную, можно выполнить SQL-выражения из файла /wwwroot/yii/demos/blog/protected/data/schema.sqlite.sql.
А как выполнить???
там файл есть. sqlite через который можно загрузить sqlite < file.sql
Точный синтаксис не помню давно делал

http://www.sqlite.org/download.html
A command-line shell for accessing and modifying SQLite databases.
Закрыто