Опубликован: 02.10.2012 | Доступ: свободный | Студентов: 1915 / 85 | Длительность: 11:48:00
Теги: joomla, mvc, php, xhtml, xml
Дополнительный материал 1:

Варианты заданий для лабораторных работ

< Лекция 8 || Дополнительный материал 1

Варианты заданий для лабораторных работ

1. Интернет-магазин Для товара храните в базе данных его код, название, цену, описание и фотографию (можно хранить название файла с фотографией, а сами файлы помещать в какую-нибудь папку). Пользователь может заказать товар - для этого он нажимает на кнопку "Заказать" и вводит свой адрес. Для каждого заказа храните в базе данных его дату, адрес покупателя и код товара. Должна быть также возможность добавлять и удалять товары, а также просматривать список товаров, страницу с конкретным товаром и список заказов. При удалении товара заодно удаляйте с диска файл с изображением. Формы: добавление товара, заказ товара.
2. Фотогалерея с категориями Для фотографии храните в базе данных его код, название соответствующего файла, название фотографии, описание фотографии, место съемки, размер файла, код категории. Можно хранить в базе данных только название файла с фотографией, а сами файлы помещать в какую-нибудь папку. Для каждой категории храните в базе данных ее код и название. Обеспечьте возможность добавления и удаления фотографий и категорий, просмотра списка всех категорий, списка всех фотографий в конкретной категории, просмотра одной фотографии. При удалении записи о фотографии из базы данных заодно удаляйте с диска файл с фотографией. Формы: добавление фотографии, добавление категории.
3. Архив mp3 с категориями Для аудиофайла храните в базе данных его код, название файла, название песни, имя исполнителя, длительность звучания песни, размер файла, код категории. Сам файл храните в какой-нибудь папке на диске. Обеспечьте возможность просмотра списка категорий, списка песен в конкретной категории, просмотра определенной песни (то есть должна быть страница, на которой выводятся все данные об аудиофайле и можно прослушать песню). Должна быть также возможность добавлять песни и удалять их, а также добавлять и удалять категории. Для каждой категории храните в базе данных ее код и название. При удалении записи об аудиофайле из базы данных заодно удаляйте с диска сам файл. Формы: добавление песни, добавление категории.
4. Видеогалерея с категориями Для видеофайла храните в базе данных его код, название файла, название видеоролика, описание видеоролика, длительность видеоролика, размер файла, код категории. Сам файл храните в какой-нибудь папке на диске. Обеспечьте возможность просмотра списка категорий, списка всех видеофайлов в конкретной категории, просмотра определенного файла (то есть должна быть страница, на которой выводятся все данные о видеофайле и можно посмотреть это видео). Должна быть также возможность добавлять файлы, просматривать их список и удалять их, а также добавлять и удалять категории. Для каждой категории храните в базе данных ее код и название.

При удалении записи о видеофайле из базы данных заодно удаляйте с диска сам файл.

Формы: добавление видеоролика, добавление категории.
5. Гостевая книга Для каждой записи (сообщения) вашей гостевой книги храните в базе данных ее код, имя автора записи, e-mail автора записи, ICQ автора записи, дату добавления записи, текст записи. Для каждого ответа на запись храните его код, текст и код записи, к которой относится этот ответ. Должна быть страница, на которой выводятся все сообщения. Обеспечьте возможность просмотра одного сообщения со всеми ответами на него, добавления сообщения, удаления сообщения, ответа на сообщение. Формы: добавление сообщения, добавление ответа на сообщение.

Обратите внимание, что на странице для ответа на сообщение выводится поле для ответа как textarea, в которое можно ввести текст, а остальные поля записи выводятся как текст (не для редактирования).

6. Форум Для каждого сообщения в базе данных храните его код, автора, текст, дату добавления и код темы. Для каждой темы - ее код и название. Обеспечьте возможность создания темы, ответа на тему, просмотра списка всех тем, просмотр темы (то есть всех ее сообщений), удаления темы, удаления сообщения. Ответить на тему - значит добавить в нее сообщение. Формы: добавление темы, добавление сообщения.
7. Новостная система с категориями Для каждой новости храните в базе данных ее код, автора, текст, дату добавления и код категории. Для каждой категории - ее код и название. Обеспечьте возможность создания новости, создания категории, удаления новости, удаления категории, просмотра списка всех категорий, просмотра списка всех новостей в конкретной категории, просмотра конкретной новости. Формы: добавление новости, добавление категории.
8. Ротатор баннеров Для каждого баннера храните в базе данных его код, название файла с изображением, ссылка, на которую будет переходить пользователь по нажатию на баннер, количество кликов - нажатий на данный баннер, количество показов баннера, код категории. Сами файлы с изображениями хранятся в какой-либо папке. Для каждой категории храните ее код и название.

Обеспечьте возможность добавления и удаления баннеров, добавления и удаления категорий, просмотра списка категорий, списка баннеров в категории.

При удалении баннера из базы данных заодно удаляйте с диска файл с изображением.

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

Формы: добавление баннера, добавление категории.
9. Доска объявлений с категориями Для каждого объявления храните в базе данных его код, автора, текст, дату добавления и код категории. Для каждой категории - ее код и название. Обеспечьте возможность добавления объявления, добавления категории, удаления объявления, удаления категории, просмотра списка всех категорий, просмотра списка всех объявлений в конкретной категории, просмотра конкретного объявления. Формы: добавление объявления, добавление категории.
10. Система управления контентом Для каждой страницы храните в базе данных ее код, автора, текст, дату добавления и код раздела. Для каждого раздела - его код, название и текстовое описание. Обеспечьте возможность создания страницы, создания раздела, удаления страницы, удаления раздела. Физически страницу на диске можно не создавать, достаточно, чтобы ее текст хранился в базе данных. Ссылки на все страницы выводятся в левой части главной страницы как пункты меню сайта. При нажатии на какой-либо пункт меню справа отображается текст соответствующей страницы, а также имя автора, дата добавления и название раздела. При этом название раздела отображается как гиперссылка, при нажатии на которую загружается страница с описанием этого раздела.

Обеспечьте также возможность просмотра всех категорий и просмотра списка страниц в определенной категории.

Формы: добавление страницы, добавление раздела.
11. Блог с облаком тегов Для каждой дневниковой записи храните в базе данных ее код, название записи, текст записи, автора записи, дату добавления записи. Для каждого тега храните в базе данных его код и название. Создайте третью таблицу в базе данных, связывающую теги с записями блога (поля: код, код записи, код тега). Обеспечьте возможность добавления и удаления записей и тегов, просмотра блога как списка всех записей, просмотра одной записи, списка тегов. В форме добавления записи в блог должен выводиться список со множественным выбором, в который выводятся все названия тегов из соответствующей таблицы базы данных. Формы: добавление записи в блог, добавление тега.
12. Статьи с облаком тегов Для каждой статьи храните в базе данных ее код, автора, текст, дату добавления. Для каждого тега храните в базе данных его код и название. Физически страницу на диске можно не создавать, достаточно, чтобы ее текст хранился в базе данных. Создайте третью таблицу в базе данных, связывающую теги со статьями (поля: код, код статьи, код тега). Обеспечьте возможность добавления и удаления как статей, так и тегов, просмотра списка статей, просмотра конкретной статьи и просмотра списка тегов.

В форме добавления статьи должен выводиться список со множественным выбором, в который выводятся все названия тегов из соответствующей таблицы базы данных.

Формы: добавление статьи, добавление тега.
13. Портфолио с категориями Для каждой работы храните в базе данных ее код, название файла с изображением, название работы, описание работы, сроки, в которые выполнялась работа, код категории. Можно хранить в базе данных только название файла с фотографией, а сами файлы помещать в какую-нибудь папку. Для каждой категории храните в базе данных ее код и название. Обеспечьте возможность добавления и удаления работ и категорий, просмотра списка всех категорий, просмотра списка всех работ в конкретной категории, просмотра одной работы.

При удалении записи о работе из базы данных заодно удаляйте с диска файл с изображением.

Формы: добавление работы, добавление категории.
14. Система "Вопрос-ответ" Для каждого вопроса храните в базе данных его код, имя автора, текст вопроса, дату добавления. Для каждого ответа - его код, код вопроса и текст ответа. Обеспечьте возможность добавления вопроса в конкретную категорию, просмотра вопроса (с ответом, если есть ответ), удаления вопроса, ответа на вопрос (на один вопрос может быть несколько ответов), просмотра списка вопросов в конкретной категории, просмотра списка категорий, добавления и удаления категорий. Формы: добавление вопроса, добавление категории, ответ на вопрос.
15. Блог с категориями Для каждой дневниковой записи храните в базе данных ее код, название записи, текст записи, автора записи, дату добавления записи, код категории. Для каждой категории храните в базе данных ее код и название. Обеспечьте возможность добавления и удаления записей и категорий, просмотра блога как списка всех записей, просмотра списка записей в конкретной категории, просмотра одной записи. Формы: добавление записи в блог, добавление категории.
16. Статьи с категориями Для каждой статьи храните в базе данных ее код, автора, текст, дату добавления и код раздела. Для каждого раздела - его код, название и текстовое описание. Физически страницу на диске можно не создавать, достаточно, чтобы ее текст хранился в базе данных. Обеспечьте возможность добавления и удаления как страниц, так и разделов, просмотра статей по разделам, просмотра конкретной статьи и списка разделов. Формы: добавление статьи, добавление раздела.
17. Календарь событий Для каждого события храните в базе данных его код, описание, дату, код места проведения. Для каждого места проведения - его код, название и фотографию (можно хранить в базе данных только названия файлов с фотографиями, а сами файлы хранить в какой-нибудь папке на диске). Обеспечьте возможность создания события, создания описания места проведения, удаления события, удаления описания места проведения, просмотра списка мест проведения событий. При удалении описания места удаляйте с диска и соответствующий файл с изображением.

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

Формы: добавление события, добавление места проведения.
18. Почтовая рассылка Для каждого сообщения рассылки храните в базе данных его код, название, текст, дату добавления. Для каждого подписчика - его код, e-mail и имя. Обеспечьте возможность добавления сообщения, регистрации подписчика, удаления подписчика, просмотра списка всех сообщений и списка всех подписчиков.

При добавлении сообщения рассылки оно автоматически должно отсылаться на e-mail всем подписчикам.

Формы: добавление сообщения рассылки, регистрация подписчика.
19. Регистрация пользователей Для каждого пользователя храните в базе данных его код, имя, e-mail, пароль, дату регистрации и фотографию. Храните в базе данных только название файла с фотографией, а сами файлы помещайте в какую-нибудь папку на диске. При удалении учетной записи пользователя из базы данных заодно удаляйте с диска файл с его фотографией.

Обеспечьте пользователю возможность заносить других пользователей в список друзей. Для этого создайте вторую таблицу в базе данных, со следующими полями: код записи id, код первого пользователя id1, код второго пользователя id2, подтвержденность связи isChecked. При отображении профиля пользователя должна выводиться кнопка "Добавить в друзья". При нажатии на эту кнопку во второй таблице создается запись, в которую заносятся коды обоих пользователей и 0 для признака подтвержденности связи. Обеспечьте пользователю возможность просмотра списка предложений дружбы и принятия или отклонения каждого из них. Выбрать предложения дружбы для пользователя с кодом 35 можно путем следующего SQL-запроса:

SELECT id1 FROM table2 WHERE id2=35 AND isChecked=0;
        
Не забудьте сделать страницы для регистрации пользователей и для просмотра профиля пользователя и списка его друзей.
Формы: регистрация, вход на сайт под логином и паролем.
20. Статьи с возможностью голосования Для каждой статьи храните в базе данных ее код, автора, текст, дату добавления. Для каждого голосования - его код, код статьи и рейтинг - численную оценку статьи от 1 до 5. Физически страницу на диске для статьи можно не создавать, достаточно, чтобы ее текст хранился в базе данных. Обеспечьте возможность добавления и удаления статей, просмотра списка статей (отсортированных по рейтингу/по дате добавления), просмотра одной из статей и голосования за каждую из них. Формы: добавление статьи, голосование (выпадающий список с числами от 1 до 5 и кнопка "Оценить").
21. Фотогалерея с возможностью голосования Для фотографии храните в базе данных его код, название соответствующего файла, название фотографии, описание фотографии, место съемки, размер файла. Можно хранить в базе данных только название файла с фотографией, а сами файлы помещать в какую-нибудь папку. Для каждого голосования храните в базе данных его код, код фотографии и рейтинг - численную оценку фотографии от 1 до 5. Обеспечьте возможность добавления и удаления фотографий, просмотра списка всех фотографий (отсортированных по рейтингу/по дате добавления), просмотра одной фотографии, голосования за каждую из них. При удалении записи о фотографии из базы данных заодно удаляйте с диска файл с фотографией. Формы: добавление фотографии, голосование (выпадающий список с числами от 1 до 5 и кнопка "Оценить").
22. Архив документов MS Office Для каждого документа MS Office (*.doc, *.docx, *.ppt, *.pptx и т.д.) храните в базе данных его код, название файла, размер файла, код категории. Сам файл храните в какой-нибудь папке на диске. Обеспечьте возможность просмотра определенного файла со ссылкой для его скачивания, просмотра списка категорий и списка файлов в определенной категории. Должна быть также возможность добавлять файлы и удалять их, а также добавлять и удалять категории. Для каждой категории храните в базе данных ее код и название. При удалении записи о файле из базы данных заодно удаляйте с диска сам файл. Формы: добавление файла, добавление категории.
23. Архив mp3 с возможностью голосования Для аудиофайла храните в базе данных его код, название файла, название песни, имя исполнителя, длительность звучания песни, размер файла. Сам файл храните в какой-нибудь папке на диске. Обеспечьте возможность просмотра списка песен (отсортированных по рейтингу/по дате добавления), просмотра определенной песни (то есть должна быть страница, на которой выводятся все данные об аудиофайле и можно прослушать песню). Должна быть также возможность добавлять песни и удалять их, а также голосовать за них. Для каждого голосования храните в базе данных его код, код файла и рейтинг - численную оценку файла от 1 до 5. При удалении записи об аудиофайле из базы данных заодно удаляйте с диска сам файл. Формы: добавление песни, голосование (выпадающий список с числами от 1 до 5 и кнопка "Оценить").
24. Видеогалерея с возможностью голосования Для видеофайла храните в базе данных его код, название файла, название видеоролика, описание видеоролика, длительность видеоролика, размер файла. Сам файл храните в какой-нибудь папке на диске. Обеспечьте возможность просмотра списка видеофайлов (отсортированных по рейтингу/по дате добавления), просмотра определенного файла (то есть должна быть страница, на которой выводятся все данные о видеофайле и можно посмотреть это видео) с возможностью проголосовать за него. Должна быть также возможность добавлять файлы и удалять их. Для каждого голосования храните в базе данных его код, код файла и рейтинг - численную оценку файла от 1 до 5.

При удалении записи о видеофайле из базы данных заодно удаляйте с диска сам файл.

Формы: добавление видеоролика, голосование (выпадающий список с числами от 1 до 5 и кнопка "Оценить").
25. Новостная система с возможностью голосования Для каждой новости храните в базе данных ее код, автора, текст, дату добавления. Для каждого голосования - его код, код новости и рейтинг - численную оценку новости от 1 до 5. Обеспечьте возможность создания новости, удаления новости, просмотра списка всех новостей, отсортированного по рейтингу/по дате добавления, просмотра одной новости с возможностью оценить ее числом от 1 до 5. Формы: добавление новости, голосование (выпадающий список с числами от 1 до 5 и кнопка "Оценить").
26. Портфолио с возможностью голосования Для каждой работы храните в базе данных ее код, название файла с изображением, название работы, описание работы, сроки, в которые выполнялась работа. Можно хранить в базе данных только название файла с фотографией, а сами файлы помещать в какую-нибудь папку. Для каждого голосования храните в базе данных его код, код работы и рейтинг - численную оценку работы от 1 до 5. Обеспечьте возможность добавления и удаления работ, просмотра списка всех работ, просмотра одной работы с возможностью оценить ее числом от 1 до 5.

При удалении записи о работе из базы данных заодно удаляйте с диска файл с изображением.

Формы: добавление работы, голосование (выпадающий список с числами от 1 до 5 и кнопка "Оценить").
27. Блог с возможностью голосования Для каждой дневниковой записи храните в базе данных ее код, название записи, текст записи, автора записи, дату добавления записи. Для каждого голосования - его код, код дневниковой записи и рейтинг - численную оценку записи от 1 до 5. Обеспечьте возможность добавления и удаления записей, просмотра блога как списка всех записей (отсортированных по рейтингу/по дате добавления), просмотра одной записи с возможностью оценить ее числом от 1 до 5. Формы: добавление записи в блог, голосование (выпадающий список с числами от 1 до 5 и кнопка "Оценить").
28. Доска объявлений с возможностью голосования Для каждого объявления храните в базе данных его код, автора, текст, дату добавления. Для каждого голосования - его код, код объявления и рейтинг - численную оценку объявления от 1 до 5. Обеспечьте возможность добавления объявления, удаления объявления, просмотра списка всех объявлений, отсортированных по рейтингу/по дате добавления. Формы: добавление объявления, голосование (выпадающий список с числами от 1 до 5 и кнопка "Оценить").
29. Система "Вопрос-ответ" с возможностью голосования Для каждого вопроса храните в базе данных его код, автора, текст вопроса, текст ответа, дату добавления. Для каждого голосования - его код, код вопроса и численную оценку ответа от 1 до 5. Обеспечьте возможность добавления вопроса, удаления вопроса, ответа на вопрос (на один вопрос можно ответить только один раз), просмотра списка вопросов, отсортированного по рейтингу/по дате добавления, просмотра одного вопроса с возможностью оценить его числом от 1 до 5.

Очевидно, что при добавлении вопроса поле для ответа на него не выводится и записывается в базу данных пустым. Наоборот, на странице для ответа на вопрос выводится поле для ответа как textarea, в которое можно ввести текст, а остальные поля записи выводятся как текст (не для редактирования).

Формы: добавление вопроса, ответ на вопрос, голосование (выпадающий список с числами от 1 до 5 и кнопка "Оценить").
< Лекция 8 || Дополнительный материал 1
Кирилл Гусаров
Кирилл Гусаров

В разделе "Первые папки и файлы. Добавление пунктов меню"

предлагается создать две файла:

- myquestions.php;

- admin.myquestions.php

с соответствуюшими адресами:

/components/com_myquestions/myquestions.php;

- /administrator/components/com_myquestions/admin.myquestions.php;

Так вот, при создании файла "admin.myquestions.php" В админке выдает ошибку - "Компонент не найден", а при переименовании его на  "myquestions.php" в последующем шаге, в админке не выводятся кнопки редактирования. 
Проверил кодировку, проверил правильность пути к файлам, пересохранил указанный код. Скажите что я делаю не так или в чем может быть причина?