d9e5a92d

Ограничение прав просмотра



Рис. 7.9. Диалог Редактирование меню
Изменение порядка в меню возможно двумя способами. Первый:
¦ Щелкните по кнопке со стрелкой вверх в строке раздела О клубе. Строка переедет на уровень выше.
¦ Повторите это действие столько раз, сколько нужно, чтобы раздел О клубе расположился под Главная.
Второй способ это типовое перетаскивание:
¦ Наведите указатель мыши на крестообразную стрелку левее названия Блоги. Указатель сменит свой вид с обычной стрелки на крестообразную.
¦ Удерживая левую кнопку мыши, переместите строку раздела Блоги в самый низ списка.
Вы попробовали оба способа формирования порядка меню. Теперь:
¦ Расположите все разделы в утвержденном порядке любым удобным для вас способом.
¦ Сохраните внесенные изменения.
Итак, вы расположили пункты меню в нужном вам порядке.

ЗАМЕЧАНИЕ

В дальнейшем мы не будем так подробно описывать эти действия, а будем просто говорить: Расставьте пункты в утвержденном порядке.
Если вам нужно удалить пункт меню, то:
¦ Вызовите функцию Редактировать пункты меню из контекстного меню компонента Меню. Откроется диалог Редактирование меню.
¦ Щелкните по крестику в строке пункта меню, который нужно удалить. Пункт удалится.

ЗАМЕЧАНИЕ

При удалении пункта меню не происходит удаления папки, относящейся к нему. Если вам не нужна и папка, то ее удаление нужно выполнить дополнительно через панель управления.

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

Ограничение прав просмотра

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

ЗАМЕЧАНИЕ

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

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

Это делается с помощью кнопки Доступ (рис. 7.10).



Рис. 7.10. Меню кнопки Доступ
Для ограничения доступа:
¦ Выполните команду Доступ ^ К странице (или к разделу, в зависимости от потребности). Откроется диалог Права доступа к файлу (рис.

7.11) с единственной строкой: Доступ по умолчанию для всех групп.



Рис. 7.11. Диалог Права доступа
Если нужно ограничить права доступа для всех сразу, то:
¦ Щелкните по кнопке в строке Доступ по умолчанию для всех групп. Появится окно с раскрывающимся списком, в котором надо выбрать вариант Доступ закрыт.
¦ Сохраните внесенные изменения.
Доступ будет закрыт для всех групп, кроме самого администратора. Если нужно ограничить права для определенных групп, то:
¦ Щелкните по кнопке Добавить право доступа. Появится еще одна строка с активными полями.
¦ В колонке Группа выберите нужную группу пользователей, скажем,
Незарегистрированные пользователи.
¦ В колоне Права доступа установите права доступа для данной группы .
¦ Сохраните внесенные изменения. Диалог закроется.
Теперь доступ для выбранной группы пользователей ограничен. При необходимости можно установить произвольный уровень доступа для каждой из групп.

ЗАМЕЧАНИЕ

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

ЗАМЕЧАНИЕ

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

Это не совсем правильно. Лучше создайте страницу site_closed.php и поместите ее в папку /bitrix/php_interface/include/.

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

Меню разделов и подразделов

Меню разделов и подразделов формируются аналогичным способом. Если в том или ином разделе не создано собственное меню, то в раздел автоматически транслируется меню верхнего уровня.

Это не всегда удобно. Скажем, в разделе О клубе не нужны, согласно ТЗ, разделы Общение, Снаряжение и т. д., но нужны ссылки на страницы самого раздела.

Из панели Редактирование нам не удастся создать меню отдельного раздела.


¦ Перейдите в раздел Разработка.
¦ Перейдите в раздел сайта, меню которого вы хотите создать.
¦ Вызовите команду Создать меню в текущем разделе из контекстного меню компонента Меню. Откроется уже известный вам диалог Редактирование меню, только в нем не будет ни одной строки, так как меню еще создается.
¦ Создайте пункты меню для раздела.
¦ Расставьте пункты в утвержденном порядке.
¦ Сохраните внесенные изменения.

ЗАМЕЧАНИЕ

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

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

Создание страницы

В основе каждой структуры всегда лежат конкретные страницы с информацией. Поэтому при составлении структуры сайта вы рано или поздно дойдете до страниц.

На примере раздела О клубе рассмотрим механизм создания страниц.
Создание страницы
Структура раздела предполагает только наличие страниц, без подразделов:
- Устав клуба текст устава.
- Регистрационные документы тексты или сканы регистрационных документов.
- Как к нам добраться адрес и схема проезда.
- Наши заслуги фотографии призов, сканы грамот и прочих атрибутов.
- Контакты адреса электронной почты, телефон.
Для создания страницы:
¦ Выполните команду Создать ^ Страницу. Откроется Мастер создания новой страницы (рис.

7.12).
Мастер создания новой страницы аналогичен Мастеру создания нового раздела, поэтому мы не будем подробно расписывать заполнение полей. Если не разберетесь, перечитайте страницы про создание раздела.



Рис. 7.12. Мастер создания новой страницы
¦ В поле Имя файла введите имя на латинице, например ustav.
¦ В поле Заголовок страницы введите название самой страницы и ссылки на нее из меню. В нашем случае Устав клуба.
С остальных полей флажки не снимайте.
¦ Щелкните по кнопке [ Далее ]. Мастер перейдет к следующему
шагу, который аналогичен Мастеру создания раздела: ничего в нем не меняйте.
¦ Щелкните по кнопке [ Далее |. Мастер перейдет к следующему
шагу.
¦ Настройте свойства страницы.
¦ Сохраните внесенные изменения. Диалог закроется, создастся новая страница, и появится новый пункт меню.
¦ Создайте все остальные страницы раздела, повторив семь последних шагов.
¦ Расставьте страницы в разделе в утвержденном порядке.
Мы уже несколько раз обращали внимание на то, что создание страницы или раздела по умолчанию происходит в активном, то есть открытом на данный момент разделе.
В ходе работы возможна ситуация, когда вы не смените раздел и создадите подраздел или страницу не в том месте. Что делать? Можно, конечно, удалить ошибочно созданный раздел или страницу.

Но если страница или раздел уже наполнены контентом, будет жалко потраченного времени и усилий. Страницу (раздел) можно перенести.
Перенос страницы
Перенос страницы, к сожалению, невозможен из публичной части. Для этого действия нужно воспользоваться панелью управления.
¦ Создайте в разделе О клубе страницу. Назовите ее Ошибка, а сам файл mistake.php.

Пусть эта страница имитирует ошибочно созданную не в том разделе страницу.
Общий порядок действий по переносу аналогичен работе в любом файловом менеджере: найти сам файл и перенести его в нужную директорию.
¦ Перейдите на панель управления.
¦ Перейдите в раздел Контент ^ Структура сайта ^ Файлы и папки ^ Club.
¦ В списке файлов найдите файл mistake.php и перенесите его в нужную папку так, как мы это описывали в главе 3. Для примера перенесите ее в раздел Снаряжение.
Но просто перенести файл это половина дела. Надо еще и изменить логическую структуру сайта.
¦ Перейдите в раздел О клубе раздела Редактирование.
Вы увидите, что ссылка Ошибка в меню раздела О клубе по-прежнему присутствует. Если перейти по этой ссылке, откроется страница уведомления об ошибке 404 (рис.

7.13, в нашем конкретном дистрибутиве страница 404 настроена на карту сайта).
¦ Вызовите команду Редактировать пункты меню из контекстного меню компонента Меню.
¦ Удалите из пункта меню ссылку Ошибка.
¦ Перейдите в раздел Снаряжение.
¦ Вызовите команду Редактировать пункты меню из контекстного меню компонента Меню.
¦ Добавьте пункт меню Ошибка в этом разделе со ссылкой на только что перенесенный файл mistake.php.
Страница находится на новом месте, и все моменты логической структуры учтены.
¦ Создайте все страницы во всех разделах, согласно утвержденной структуре, и расставьте их в соответствующем порядке.
Удаление страницы или раздела
Сейчас мы имеем в виду физическое удаление страницы или раздела. Для логического достаточно просто отключить пункт меню или ограничить доступ, как делалось выше.

Для удаления страницы необходимо обязательно открыть ее.



Рис. 7.13. Ссылка не удалена и ведет на страницу с уведомлением об ошибке 404
; Удалить на административной панели. Си
Перейдите в раздел Редактирование. Щелкните по кнопке
стема попросит подтверждение на удаление (рис. 7.14).


Рис. 7.14. Подтверждение удаления страницы

ЗАМЕЧАНИЕ

Если вы снимете флажок Удалить страницу из меню, то файл страницы удалится, а ссылка в меню останется.
¦ Подтвердите удаление страница удалится.
Если вам нужно удалить раздел, учтите, что использование кнопки
J Удалить удалит только индексную страницу раздела. При этом в диалоге предупреждения появится дополнительная строка о том, что раздел станет недоступным. Физическое удаление папки раздела осуществляется через панель управления, как описывалось в главе 3.

Настройка нижнего меню

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

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

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

ЗАМЕЧАНИЕ

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

Однако этот шаблон по умолчанию приспособлен под верхнее размещение: меню раскрываются вниз. Изменение направления раскрытия возможно, но требует знания JavaScript.

Поэтому мы не используем этот очень удобный шаблон в данном примере.
¦ Перейдите на главную страницу сайта.
¦ Вызовите команду Редактировать пункты меню из контекстного меню компонента Меню нижнего меню. Откроется прекрасно известный вам диалог Редактирование меню.
¦ Отредактируйте меню так, как делали выше. Включите в него только ссылки на главные разделы.
Так как это меню едино для всех страниц, нам не потребуется создание меню в каждом разделе. Так что считаем, что работа с нижним меню надолго завершена.

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

Применение шаблонов

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

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

Вполне вероятно, что при наполнении сайта контентом мы изменим условия использования шаблонов для отдельных страниц.
Для применения шаблона для блогов и форумов:
¦ Перейдите в раздел Настройки ^ Настройки продукта ^ Сайты ^ Список сайтов.
¦ В группе параметров Шаблон во второй строке колонки Шаблон выберите из раскрывающегося списка test_blogs.
¦ В этой же строке в колонке Тип условия выберите вариант Для папки или файла. Активируется поле Условие.
С помощью кнопки I ... I выберите раздел /communication/blog.
В группе параметров Шаблон в третьей строке колонки Шаблон вновь выберите test_blogs.
¦ В этой же строке в колонке Тип условия выберите вариант Для папки или файла. Активируется поле Условие.
¦ С помощью кнопки [ ... I выберите раздел /communication/forum.
¦ Сохраните внесенные изменения.
¦ Перейдите в раздел Просмотр.
¦ Перейдите в раздел Блоги.
Вы увидите, что новый шаблон применился к выбранному разделу, и теперь все поле сайта используется для блогов. Аналогичная картина наблюдается и на странице форумов.
Теперь назначим шаблон для статей:
¦ Перейдите в раздел Настройки ^ Настройки продукта ^ Сайты ^ Список сайтов.
¦ В группе параметров Шаблон в третьей строке колонки Шаблон выберите test_article.
¦ В этой же строке в колонке Тип условия выберите вариант без условия.
Изменения пока не сохраняйте, так как при попытке просмотра возникнет конфликт: на данный момент два шаблона назначены работать в режиме без условия. Нужно назначить первому шаблону условие для показа индексных страниц (index.php) в шаблоне test. Для этого есть два варианта:
- Добавить этот шаблон необходимое количество раз и назначить каждый индексный файл раздела с помощью условия Для папки или файла.
- Но можно и проще с помощью PHP-условия.
Мы приведем несложный PHP-код, обеспечивающий применение шаблона только для таких страниц, не объясняя его. Напомним, что эта книга не учебник по PHP.
¦ Для первой строки в колонке Тип условия выберите во всплывающем окне Выражение php. Активируется поле Условие.
¦ Введите в это поле выражение: substr($APPLICATION-GetCurPage(), strlen($APPLICATION-GetCurDir()))==index.php
¦ Сохраните внесенные изменения.
¦ Перейдите в раздел Просмотр.
¦ Просмотрите сайт. Вы увидите, что страницы разделов показываются в шаблоне test, а все остальные (кроме блогов и форумов) в шаблоне test_article, а блоги и форумы в шаблоне test_blogs.
Число шаблонов, которые вы можете использовать на сайте, ничем не ограничено (хоть создавай свой шаблон для каждой отдельной страницы и для каждого пользователя).

ЗАМЕЧАНИЕ

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

ЗАМЕЧАНИЕ

Этот механизм шаблонов можно использовать для такой функции, как редизайн сайта. Придет время, и вам захочется поменять дизайн уже устоявшегося проекта.

Сделать это без перерыва в работе сайта можно с помощью описанного механизма. Создается отдельный шаблон с предполагаемым новым дизайном.

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

Стили оформления

Частично мы уже касались этой темы при описании лозунгов. Перед тем как добавлять сам контент, нужно определиться со стилями оформления текста, которые вы будете использовать. На данный момент на сайте заданы стиль text, который виден в редакторе как обычный, и стиль textl, который виден в редакторе как лозунги. Первый будет применяться для текста статей, второй для форматирования лозунгов во включаемой области.

Этого может оказаться мало. Часть текста можно выделять средствами визуального редактора полужирным шрифтом или курсивом.

Если сочтете нужным, задайте свои стили оформления.
Но вот метод форматирования средствами визуального редактора к заголовкам применять не рекомендуется. Заголовки очень любят поисковые системы, они повышают ценность текста на веб-странице, который располагается внутри тегов h1...h6.

По этой причине лучше всегда использовать эти теги, хотя с помощью стилей редактора любой текст можно сделать заголовком.
¦ Откройте для редактирования шаблон тестового сайта.
¦ Перейдите на закладку Стили шаблона.
¦ Задайте параметры для стилей h1-h6.
¦ Сохраните внесенные изменения.

Наполнение сайта контентом

Итак, структура сайта создана, шаблоны заданы, стили определены. Нам нужно наполнить разделы.

Вся информация на сайте бывает либо графического, либо текстового, либо файлового формата.
- Графическая информация это картинки. Картинки могут быть размещены как в тексте, так и в виде фотогалерей.

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

ЗАМЕЧАНИЕ

Информационные блоки особый тип представления информации, который позволяет управлять и каталогизировать однородную информацию, например статьи или новости.
- Файловый формат это то, что принято называть файлооб-менником. Методика создания файлообменника в рамках нашей книги не рассматривается, так как это нетиповая задача.
Начнем с создания обычной текстовой страницы.

Текстовая страница

Это самое простое, что может быть. Наполнение текстовой страницы удобнее всего сочетать с созданием пункта меню и самой страницы.

Так как создание страниц мы уже описали, сразу начнем с момента появления диалога с визуальным редактором. Общий алгоритм действий таков:
¦ Скопируйте текст из источника в буфер обмена.
¦ Вставьте его в поле визуального редактора.

ЗАМЕЧАНИЕ

При использовании текста из документа MS Word или HTML необходимо пользоваться функцией Вставить из Word или Вставить как текст. Эти функции убирают ненужное форматирование.
Работа с визуальным редактором проста и во многом подобна работе в MS Word. Поэтому мы не будем детально расписывать процесс.

Если все же возникнут затруднения, обратитесь к учебному курсу Визуальный HTML-редактор (BX-ADM008).
¦ Вставьте в нужные места картинки с помощью кнопки ^ Изображение.
¦ Отформатируйте текст.
¦ Очистите текст от ненужных тегов с помощью кнопки |. у | Оптимизировать HTML-код.
¦ Сохраните внесенные изменения.
Осуществите добавление текстовой информации по описанному алгоритму для страницы Контакты (рис. 7.15). Она пригодится нам для формирования верхнего
Но простота всегда грешит ограниченностью. Обучить работе с текстовой страницей можно кого угодно, но вам будут недоступны многие
функции, удобные посетителям сайта. Большинство этих функций реализуются на страницах, созданных на основе информационных блоков.
Сниппеты
Сниппеты это кусочки заранее заготовленного текста или HTML-кода, который очень часто используется на сайте. Например, в сниппет можно внести заранее отформатированный шаблон таблицы.

Пусть у нас есть таблица, с помощью которой задается единообразное оформление всех таблиц на сайте (рис. 7.16).
Главная Снаряжение Палатки Тип палатки Вместимость Ладога 3-хместная Орион 5-иместная Саркел 6-иместная, двухкомнатная Рис. 7.16. Тип оформления таблиц
Этой таблице соответствует определенный HTML-код. Его можно каждый раз вводить вручную, можно хранить в отдельном файле и обращаться к нему по мере необходимости, а можно добавить в сниппеты. Мы выполним последнее:
¦ Скопируйте код таблицы в буфер обмена.
¦ Щелкните по кнопке Изменить на любой странице сайта. Откроется визуальный редактор.
¦ Вызовите панель Сниппеты щелчком по одноименной кнопке в нижней части редактора.
¦ Щелкните по ссылке Добавить сниппет. Откроется диалог добавления сниппета (рис.

7.17).
¦ В поле Название введите название сниппета, под которым он будет виден среди остальных. Например, Таблица 2 колонки.

Название должно быть коротким, но информативным.
¦ В поле Код сниппета вставьте код из буфера обмена.
При желании можно оптимизировать код, заменив текст из исходной таблицы, скажем, буквами. Так вам будет легче ориентироваться в добавляемой таблице и не придется вычищать излишний текст при каждой вставке сниппета.
¦ Перейдите на закладку Размещение.
¦ Выберите шаблон, к которому будете применять данный сниппет (поле Шаблон).
¦ Выберите имя файла сниппета (поле Имя файла).



Рис. 7.17. Добавляем код сниппета
В поле Размещение будут отражены все имеющиеся подгруппы сниппетов. Пока есть только одна группа, созданная по умолчанию,
snippets.
¦ Установите флажок Создать новую подгруппу. Появится новое поле Имя новой подгруппы.
Заполните поле Имя новой подгруппы. Например: Таблицы.
Щелкните по кнопке Сохранить группе Таблицы.
Сниппет сохранится в новой
Теперь вы можете в любой момент прибегнуть к созданной таблице. Для этого:
¦ Откройте для редактирования страницу, в которую надо вставить таблицу.
¦ Вызовите панель Сниппеты.
¦ Простым перетаскиванием перенесите сниппет Таблица 2 колонки в нужное место страницы.
¦ Заполните таблицу нужным текстом.
¦ Сохраните страницу.
Как видите, применение сниппетов может существенно облегчить жизнь редактору сайта.

ЗАМЕЧАНИЕ

При необходимости не забудьте добавить новые стили в стили шаблона сайта, если вы используете стили, которых еще не было.

Информационные блоки

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

Но мы создадим свой инфоблок.

Создание инфоблока

¦ Перейдите на панель управления.
¦ Перейдите в раздел Контент ^ Информ. блоки ^ Типы информ. блоков ^ Новости.
¦ Выполните команду Добавить инфоблок на контекстной панели. Откроется форма создания нового информационного блока (рис.

7.18).



Рис. 7.18. Форма создания нового типа инфоблока
В поле Значения свойств хранятся менять ничего не надо, если вы не уверены в необходимости смены таблицы.



Содержание раздела