Первый блог
Первый блог
Я думаю что этот пост будет полезен не только мне, но и тем кто считает что использование генератора в начале обучения - зло
Цель:
Создать блог без дизайна, только функционал в целях обучения и получения необходимых знаний.
Возможности блога:
1. Вывод всех статей
2. Вывод одной статьи с комментариями
3. Листалка статей
4. Админка:
Как таковой админ-панели не будет. Вверху каждой страницы будут два поля для ввода логина и пароля.
При входе они будут меняется на пункты:
- если пользователь смотрит список статей, то "Добавить новую статью" и "Выход".
- если пользователь просматривает конкретную статью, то "Изменить статью", "Удалить статью" и "Выход".
- возле каждого комментария появляется пункт на удаление
Если пользователь не вошел, то вверху отображается поле для ввода Логина и Пароля
Подробное ТЗ:
1. Вывод всей статей: каждая статья имеет заголовок, время создания, краткое описание, количество комментариев и
ссылку "Подробнее...".
- Заголовок - ссылка ведущая на полную статью, эквивалента ссылке "Подробнее..."
- Время создания, в американском формате, без каких либо преобразований.
- Краткое описание - обрезает полный текст статьи(первые 250 символов и добавляет "...").
2. Вывод одной статьи: здесь ничего особенного, обычный вывод статьи с комментариями. Внизу страницы форма для
для добавления комментария.
- Имя
- Время комментария(создается автоматически)
- Текст комментария
3. Листалка статей: По 5 постов на 1 странице.
4. Админка:
- Добавление статьи :
- Заголовок
- Время создания(создается автоматически)
- Текст поста
- Изменение статьи: Всё тоже самое, только поля автоматически заполняются из БД
- Удаление статьи: Без пометки на удаление. Полное удаление статьи всех комментариев, которые к ней относятся
Если администрация не против, то я тут буду спрашивать что мне не понятно, воизбежние создания кучи ненужных тем с 1-им ответом.
Сразу возник вопрос по поводу контроллеров. Как будет правильно - создать 1 контроллер и для постов и для комментариев, или создать два контроллера, каждый для своего. Если второе, то как им вдвоём взаимодействовать, выводя текст статьи и комментарии.
Цель:
Создать блог без дизайна, только функционал в целях обучения и получения необходимых знаний.
Возможности блога:
1. Вывод всех статей
2. Вывод одной статьи с комментариями
3. Листалка статей
4. Админка:
Как таковой админ-панели не будет. Вверху каждой страницы будут два поля для ввода логина и пароля.
При входе они будут меняется на пункты:
- если пользователь смотрит список статей, то "Добавить новую статью" и "Выход".
- если пользователь просматривает конкретную статью, то "Изменить статью", "Удалить статью" и "Выход".
- возле каждого комментария появляется пункт на удаление
Если пользователь не вошел, то вверху отображается поле для ввода Логина и Пароля
Подробное ТЗ:
1. Вывод всей статей: каждая статья имеет заголовок, время создания, краткое описание, количество комментариев и
ссылку "Подробнее...".
- Заголовок - ссылка ведущая на полную статью, эквивалента ссылке "Подробнее..."
- Время создания, в американском формате, без каких либо преобразований.
- Краткое описание - обрезает полный текст статьи(первые 250 символов и добавляет "...").
2. Вывод одной статьи: здесь ничего особенного, обычный вывод статьи с комментариями. Внизу страницы форма для
для добавления комментария.
- Имя
- Время комментария(создается автоматически)
- Текст комментария
3. Листалка статей: По 5 постов на 1 странице.
4. Админка:
- Добавление статьи :
- Заголовок
- Время создания(создается автоматически)
- Текст поста
- Изменение статьи: Всё тоже самое, только поля автоматически заполняются из БД
- Удаление статьи: Без пометки на удаление. Полное удаление статьи всех комментариев, которые к ней относятся
Если администрация не против, то я тут буду спрашивать что мне не понятно, воизбежние создания кучи ненужных тем с 1-им ответом.
Сразу возник вопрос по поводу контроллеров. Как будет правильно - создать 1 контроллер и для постов и для комментариев, или создать два контроллера, каждый для своего. Если второе, то как им вдвоём взаимодействовать, выводя текст статьи и комментарии.
Re: Первый блог
Сделать 2 контроллера. Комментарии можно выводить виджетом, а методы для добавления, редактирования и удаления поместить в контроллер CommentsController
Re: Первый блог
А как идёт переопределение макета? Например вот вырезка из доков:
А где они задаются? В контроллере?
Написано что переопределение идёт CWebApplication::layout или CController::layout.Метод actionContact() выводит представление contact. При этом подключается файл представления /wwwroot/blog/protected/views/site/contact.php и результат его выполнения подставляется в макет /wwwroot/blog/protected/views/layouts/column1.php.
А где они задаются? В контроллере?
Re: Первый блог
В руководстве http://yiiframework.ru/doc/blog/ru/prototype.database говорится что нужно выполнить SQLite запрос. И для этого нужна утилита sqlite3. Я установил, но как использовать не знаю. Может кто то имел с ней дело?
Re: Первый блог
А у тебя что стоит в качестве вебсервера, денвер ? Если да, то в поиске можно найти решения как подключить sqlite к денверу.systemiv писал(а):В руководстве http://yiiframework.ru/doc/blog/ru/prototype.database говорится что нужно выполнить SQLite запрос. И для этого нужна утилита sqlite3. Я установил, но как использовать не знаю. Может кто то имел с ней дело?
Re: Первый блог
В качестве сервера стоит не сборка, а голые апачи, пхп и mysql.
OS: Linux
OS: Linux
Re: Первый блог
Ок. Ты поставил sqlite. А в чем собственно сама проблема? sqlite такой же sql-сервер как и mysql и прочие. Ты пропиши в конфиге yii "строку коннекта" для sqlite и все у тебя должно заработать.systemiv писал(а):В качестве сервера стоит не сборка, а голые апачи, пхп и mysql.
OS: Linux
Вот здесь читаем Установка подключения к базе данных
Re: Первый блог
Вот и я про тоже=)
Если процитировать:
Если процитировать:
А как выполнить???Чтобы создать базу данных вручную, можно выполнить SQL-выражения из файла /wwwroot/yii/demos/blog/protected/data/schema.sqlite.sql.
Re: Первый блог
попробуй в консоли выполнить что-то типа этого: sqlite test.dbsystemiv писал(а):Вот и я про тоже=)
Если процитировать:А как выполнить???Чтобы создать базу данных вручную, можно выполнить SQL-выражения из файла /wwwroot/yii/demos/blog/protected/data/schema.sqlite.sql.
Точнее сказать не могу, так как не силен в линуксе.
p.s. Если в английском силен, читай тут
Последний раз редактировалось kosenka 2011.06.29, 19:54, всего редактировалось 1 раз.
Re: Первый блог
там файл есть. sqlite через который можно загрузить sqlite < file.sqlsystemiv писал(а):Вот и я про тоже=)
Если процитировать:А как выполнить???Чтобы создать базу данных вручную, можно выполнить SQL-выражения из файла /wwwroot/yii/demos/blog/protected/data/schema.sqlite.sql.
Точный синтаксис не помню давно делал
http://www.sqlite.org/download.html
A command-line shell for accessing and modifying SQLite databases.