Пришло время начать жизнь «с чистого листа». Сегодня мы научимся создавать свою собственную структуру сайта, свое собственное меню. Да, и еще мы научимся добавлять в материал изображения — как же без них?!

1.
Установив «Joomla!» без демонстрационных данных, вы получаете сайт, внешне очень похожий на тот, что было у нас раньше, только в нем нет меню и в нем нет информации.

 «Пустой сайт» без контента
Рис. 15. «Пустой сайт» без контента.

Весь контент (информацию) в джумле можно разделить на три группы:

Во-первых, материалы. С ними мы встречались, создавая сообщения в ленте новостей. Каждая станица такого типа хранится в таблице jos_content, управление осуществляется с помощью «Менеджера материалов», редактирование страницы происходит в стандартном «визуальном» редакторе. Любой материал принадлежит какой-нибудь категории, а она, в свою очередь, принадлежит разделу.

Во-вторых, статичные материалы. Они очень похожи на просто материалы, и все отличие их в том, что они не встроены в структуру материал – категория – раздел. В некоторых случаях это удобно. Для создания и редактирования статичных материалов используется «Менеджер статичных материалов», который находится в системе администрирования, меню «Материалы».

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

2.
Первый тип контента рассмотрим подробнее. Может создаться впечатление, что такая трехступенчатая структура раздел – категория – материал является излишней для небольшого сайта. Но у нее несколько важных достоинств:

  • Уже известную нам ленту новостей можно организовать только для материалов одной «Категории».
  • Если вы хотите своим авторам (пользователь author) дать возможность писать только для определенного раздела сайта, проще всего материалы вынести в отдельный «Раздел».
  • И для раздела, и для категории, и для отдельного материала можно задавать уровень доступа – Registered, т. е. только для зарегистрированных пользователей или Special, т. е. только для менеджера и администраторов. Создавая для своих материалов достаточно сложную структуру, вы получаете легкий способ управления видимостью материалов. Так изменив уровень доступа для раздела, вы автоматически меняете доступ для всех вложенных категорий и документов.
  • Как мы увидим дальше, очень часто ссылка меню привязывается именно к «Разделу» или «Категории».

Рассмотрим возможную структуру школьного сайта. У него четыре ссылки в главном меню, меню учеба имеет два подраздела. Раздел «новости» доступен для учеников, они могут создавать новые сообщения в этом разделе. Материал «о школе» располагается на главной странице. Далее в уроке я буду показывать, как организовать подобную структуру сайта. В практической работе вы сможете повторить мою структуру или создать свою.

Структура контента сайта
Рис. 16. Структура контента сайта.

Новая структура сайта создается в системе администрирования, пользователем, права которого не ниже «Manager».

3.
Сначала создаем раздел (кнопка «Разделы» на главной странице, либо меню Материалы – Разделы). В открывшемся «Менеджере разделов» нажимаем на кнопку «Новый» и оказываемся в окне «Новый раздел».

Добавление нового раздела
Рис. 17. Добавление нового раздела.

Внешний вид окна у вас будет немного другим, я постарался уместить все важные элементы, а для этого переместил некоторые поля.

  • В окне вам нужно обязательно заполнить поля «Заголовок» и «Имя раздела». Смысл у каждого свой, но различия столь незначительны, что если содержимое полей будет одно, ошибки не будет.
  • В поле MOSImage выберите каталог для загрузки изображений, как показано на рисунке. О загрузке изображений мы поговорим чуть позже.
  • Можно добавить комментарии к разделу, хотя и не обязательно.

Для созданного раздела создаем категорию (кнопка «Категории» на главной странице, либо меню Материалы – Категории). Далее все аналогично созданию раздела, кроме того, при задании новой категории, вы должны обязательно выбрать имя раздела, которому она принадлежит.

Новый материал, как мы уже знаем, создается в «Менеджере материалов» (кнопка «Материалы» на главной странице, либо меню Материалы – Все материалы). Для материала нужно задать имя, а также раздел и категорию, которым принадлежит материал. Новый материал не обязательно сразу наполнять содержимым, достаточно сделать заголовок и наполнить «рыбой» (бессмысленным текстом).

Материалы нового сайта
Рис. 18. Материалы нового сайта.

Проанализируйте, сколько материалов, в каких они категориях и каких разделах.

4.
У сайта может быть несколько объектов меню: главное, меню авторизированного пользователя, нижнее, верхнее и т. д. В каждом меню может быть неограниченное количество элементов. Посмотреть, какие объекты меню доступны вам, и при необходимости создать новые можно с помощью «Менеджера меню» (кнопка на главной страница «админки» или Меню – Менеджер меню).

 Управление меню
Рис. 19. Управление меню.

Как видно из рисунка, реально существует только один пункт в главном меню.
Создание нового элемента меню происходит в четыре этапа:
1. Перейдите в mainmenu (главное меню вашего сайта). Для этого щелкните на ярлычок Состав меню, либо Меню – mainmenu.
2. Щелкните на кнопку «Новый». Перед вами появится выбор типа меню. Это не самое простое место в джумле.

Выбор типа меню
Рис. 20. Выбор типа меню

3. Для ленты новостей выберите тип «Блог – содержимое категории». Под этим странным термином понимается следующее: все материалы, относящиеся к одной категории, будут располагаться на одной странице.
4. В окне «Пункт меню» задайте название, свяжите его с категорией. В правой части окна задайте параметры ленты новостей, например, сколько новостей будет отображаться на одной странице.

Параметры меню типа «Блог – содержимое категории»
Рис. 21. Параметры меню типа «Блог – содержимое категории»

  • Для страницы «контакты» тип элемента меню нужно задать «Ссылка – материал» и выбрать соответствующий материал.
  • Для страницы «учеба» тип элемента меню можно задать «Таблица – материалы категории» и выбрать категорию учеба.
  • Для страниц раздела учеба создайте дополнительные пункты меню и разместите их внутри подраздела «учеба». Для этого в окне «Пункт меню» в поле родитель вместо Top выбираем Учеба.

У вас должно получиться меню с такой структурой.

Структура меню сайта
Рис. 22. Структура меню сайта.

5.
Если вы зайдете с правами «Публикатора» на созданный вами сайт, то не увидите в меню пользователя ни одной ссылки. Не удивляйтесь, меню пользователя еще не создано. В меню usermenu создадим два пункта:

  • личные данные – тип меню «Ссылка URL». В поле ссылка введите: index.php?option=com_user&task=UserDetails (можно копировать эту ссылку и вставлять через буфер обмена)
  • добавить новость – тип меню «Ссылка URL». В поле ссылка введите: index.php?option=com_content&task=new&sectionid=1&Itemid=0

Обратите внимание, в ссылке передается значение переменной sectionid равное единице. Это – идентификатор (номер) раздела «Новости» в базе данных. Номер раздела можно посмотреть в «Менеджере разделов» в таблице это поле id-раздела.

6.
Вы ждете, что я расскажу как публиковать изображения в материалах. Я считаю, что если я расскажу про это прямо сейчас, то урок станет не тяжелым, а просто не подъемным. Про изображения на сегодня опять не вышло, выходит, я вас обманул. Придется следующий урок полностью посвятить загрузке изображений. Обещаю!

Практическая работа:

  1. Установите новую копию «Joomla!» без демонстрационных данных. Для этого создайте новый каталог для сайта и новый каталог для базы данных.
  2. Создайте проект структуры сайта вашего образовательного учреждения. Работу выполните в графическом редакторе или MS Word. Графический файл с вашим проектом опубликуйте на форуме.
  3. Реализуйте ваш проект. Создайте свою структуру (разделы – категории – материал).
  4. Разберитесь с параметрами, которые вы можете задать для ленты новостей (параметры меню).
  5. Создайте меню пользователя: «личные данные» и «добавление новостей»

Контрольные вопросы:

  1. Какое максимальное количество меню может быть у вашего сайта?
  2. Сколько минимально элементов меню может быть у вашего сайта?
  3. Какие типы меню вы использовали в практической работе?
  4. Для чего в окнах «пункт меню», «новый материал» и многих других используется кнопка «Применить»?
  5. Каким образом связан с меню материал «о школе»?
  6. Как создать вложенный элемент меню?
  7. Опишите, какие параметры ленты новостей вы изменили в своем проекте?
  8. Может ли в одном сайте быть несколько лент новостей?
  9. Как узнать, какой номер нужно поставить в строке адреса, чтобы дать пользователю право создавать материал в определенном разделе?
  10. Может ли в одном сайте быть несколько категорий с одним именем?