/
Author: Рамел Д.
Tags: компьютерные технологии программное обеспечение
ISBN: 978-5-9775-0285-6
Year: 2008
Text
Самоучитель
Дэн Рамел
Joomla!
Apress
Д HEEXFSTT1 /ОК
Установка и настройка системы
и сопутствующих приложений
Планирование содержимого сайта
и разработка меню
Администрирование, резервное копирование
и безопасность
Разработка шаблонов и расширений системы
Сбор и анализ статистики сайта,
поисковая оптимизация
Создание фотогалереи и поддержка
электронной коммерции
bhv
Beginning Joomla!
From Novice to Professional
BIB
Dan Rahmel
Apress*
Дэн Рамел
Самоучитель —
Joomla!
Санкт-Петербург
«БХВ-Петербург»
2008
УДК 681.3.06
ББК 32.973.26-018.2
Р12
Рамел Д.
PI2 Самоучитель Joomla!: Пер. с англ. — СПб.: БХВ-Петербург. 2008. —
448 с.: ил.
ISBN 978-5-9775-0285-6
Описан простой и быстрый процесс разработки подпофхнкциопа льпых сай-
тов с использованием бесплатен системы управления коптешом loomla'
В кише рассматривается: установка и настройка системы и сопутствующих
приложений, планирование содержимого сайта, добавление статей, разработка
меню, администрирование Joomla!, резервное копирование сайта, проблемы
безопасности, создание собственных шаблонов, обзор расширении системы и
примеры их разработки, поддержка функции Web-сообщества. сбор и анализ
статистики сайга, создание фотогалереи, поддержка электронной коммерции,
поисковая оптимизация и др
Д чя интернет-разработчиков
УДК 681.3.06
ББК 32.973.26-018.2
Группа подготовки издания:
Главный редактор
Зам । равного редактора
Зав редакцией
Перевод с английского
Редактор
Компьютерная верегка
Корректор
Дизанп серии
Оформление обложки
Зав произволеiном
Екатерина КонО\ ко i г
Евгений Рыоаков
Григории Добин
Дениса Кочисниченко
Анна Кузьмина
Очъги Сергиенко
Виктория Пиотровская
Инны Гачинои
Елены Беляевой
Нико. юн Тверс ких
Original English language edition publislted by Apress 2855 felegraph Avenue #600, Berkeley, CA 94705 USA Copyright <
2008 by Apress L P Russian edition copyright © 2008 by Bl IV—St Petersburg. All rights reserved No part of this work may be
reproduced or transmitted in any fonn or by any means, electronic or mechanical, including photocopying, recording, or by any
information storage or retries al system, without the prior written permission of die copyright owner and the pubhslter
Авторизованный перевод английской редакции, выпущенной Apress 2855 Telegraph Avenue. #600. Berkeley CA 94705
USA Copyright © 2008 by Apress L.P. Перевод на русский язык "ЬХВ-Петербург , © 2008. Все права защищены Ника-
кая часть настоящей книги не может быть воспроизведена или передана в какой бы то ни было форме и какими бы то ни
было средствами, будь то электронные пли механические, включая фотокопирование и запись на магнитный носитель, а
также через другие носители н информационные системы, если на то hci письменного разрешения собственника нрав и
издательства
Лицензия ИД № 02429 от 24.07.00. Подписано в печать 17.07.08.
Формат 70x100'/,в. Печать офсетная. Усл. печ. л. 36,12.
Тираж 2000 экз. Заказ № 468
"БХВ-Петербург", 194354, Санкт-Петербург, ул. Есенина, 5Б.
Санитарно-эпидемиологическое заключение на продукцию
№ 77.99.60.953.Д.003650.04.08 от 14.04.2008 г. выдано Федеральной службой
по надзору в сфере защиты прав потребителей и благополучия человека.
Отпечатано с готовых диапозитивов
в ГУП "Типография "Наука"
199034, Санкт-Петербург, 9 линия, 12
ISBN 978-1-59059-848-1 (англ.)
ISBN 978-5-9775-0285-6 (рус.)
С 2008 by Apress LP.
С 2007 by Don Rahmel
С Перевод на русский
"БХВ-Петербург". 2008
Оглавление
Об авторе.............................................................11
О техническом рецензенте.............................................12
Благодарности .......................................................13
Глава 1. Знакомство с Joomla!........................................15
Обзор системы управления контентом...................................17
Почему все не переходят на CMS?......................................18
Преимущества Joomla!.................................................19
Функции Joomla!..................................................20
Как Joomla! работает.............................................22
Отличия версии Joomla! 1.0 от 1.5....................................23
Joomla! — один из 50 лучших проектов Open Source.....................24
Резюме.............................................................. 24
Глава 2. Быстрый старт: построй свой сайт на базе Joomla!
за 20 минут..........................................................25
Установка Joomla!....................................................26
Загрузка Joomla!.................................................27
Распаковка архива Joomla!........................................28
Загрузка Joomla! на Web-сервер по протоколу FTP..................29
Подготовка хостинга Go Daddy для Joomla!..........................31
Использование мастера установки Joomla!....................... 37
Изменение параметров Joomla!.........................................48
Создание новой статьи............................................50
Редактирование главного меню.....................................55
Удаление модулей.................................................58
Сокрытие всего меню..............................................59
Изменение логотипа сайта.........................................61
Изменение текста Newsflash.......................................66
6
Оглавление
Создание своего опроса (голосования)...............................68
Изменение горизонтального (верхнего) меню..........................71
Резюме.................................................................73
Глава 3. Установка и настройка.........................................75
Обзор файлов и каталогов Joomla!.......................................76
Установка ХАМРР........................................................79
Компоненты ХАМРР и операционная система............................80
Установка индивидуальных серверов WAMP/LAMP/MAMP.......................86
Установка и настройка сервера Apache...............................86
Установка и настройка РНР..........................................98
Установка и настройка MySQL.......................................103
Создание базы данных Joomla! с помощью MySQL Administrator........111
Настройка прав доступа к файлам и каталогам........................116
Установка файлов Joomla!..............................................117
Решение проблем.......................................................117
Проблемы с сервером Apache........................................118
Проблемы с РНР....................................................121
Проблемы с MySQL..................................................123
Резюме................................................................127
Глава 4. Добавление контента..........................................129
Планирование содержимого сайта........................................129
Разделы и категории Joomla!.......................................130
Некатегоризированный или статический контент......................133
Реинкарнация Web-сайта LoanStraircase в Joomla!.......................140
Создание разделов и категорий.........................................141
Удаление демо-данных (статей, категорий и разделов)...............141
Добавление новых разделов и категорий.............................143
Выбор текстового редактора............................................145
Сравнение редакторов TinyMCE и XStandard Lite.....................145
Без редактора.....................................................148
Добавление статей.....................................................149
Установка основных параметров статьи..............................149
Установка расширенных параметров статьи...........................150
Установка метаданных статьи.......................................152
Добавление статьи на сайт.........................................153
Добавление второй статьи..........................................157
Связь меню со статьями................................................158
Создание прямого меню для некатегоризированной статьи.............159
Отображение меню категории........................................161
Установка нового шаблона..............................................163
Ваш сайт и ваши пользователи..........................................166
Резюме................................................................168
Оглавление
7
Глава 5. Администрирование Joomla!..................................169
Администрирование дизайна...........................................169
Менеджер шаблонов...............................................170
Менеджер языков.................................................172
Управление материалами..............................................173
Менеджер материалов.............................................174
Менеджеры разделов и категорий..................................175
Менеджер главной страницы.......................................176
Медиаменеджер...................................................176
Менеджер корзины................................................177
Системное администрирование.........................................178
Панель управления...............................................178
Менеджер общих настроек.........................................179
Менеджер пользователей..........................................184
Менеджер расширений.............................................192
Менеджер модулей................................................193
Менеджер плагинов...............................................195
Почтовый менеджер...............................................197
Менеджер массовой рассылки......................................198
Сброс блокировок................................................199
Информация о системе............................................200
Резервное копирование...............................................201
Создание резервной копии с помощью pbpMy Admin..................202
Восстановление из резервной копии...............................203
Резервное копирование с помощью MySQL Administrator.............203
Резервное копирование файлов....................................204
Безопасность........................................................205
Каталоги, доступные для записи......................................207
Резюме..............................................................207
Глава 6. Создание собственных шаблонов..............................209
Быстрое руководство: создание шаблона Hello Joomla!.................210
Создание файлов шаблона Hello Joomla!...........................211
Добавление модулей и компонентов в шаблон Hello Joomla!.........215
Изменение существующих шаблонов.....................................216
Создание шаблонов с помощью Web-редакторов..........................219
WYSIWYG-редакторы...............................................220
Редакторы кода..................................................226
Создание настоящего шаблона.........................................231
Части мозаики: структура шаблона................................232
Пошаговое создание шаблона......................................234
Установка шаблона...............................................260
Предварительный просмотр шаблонов...............................261
Проверка кода шаблона...............................................262
Резюме..............................................................263
8
Оглавление
Глава 7. Расширения Joomla!..........................................265
Разница между модулями, компонентами и плагинами.....................265
Плагины: самые сложные расширения.............................. 266
Компоненты и модули..............................................268
Типы модулей.........................................................269
Модули по умолчанию..................................................271
Модуль Wrapper (mod wrapper).....................................272
Модуль Random Image (modrandomimage).............................273
Модули Banners и Advertisement................................. 274
Модуль Breadcrumbs (modbreadcrumbs)..............................276
Модуль Syndication (mod syndicate)...............................277
Модуль Feed Display (mod feed)...................................277
Модули Main Menu, Key Concepts, User Menu, Examples Pages, Top Menu и
Resources (mod mainmenu).........................................279
Модули администратора................................................282
Компоненты сайта................................................. 283
Компонент Banners................................................283
Компонент Contacts...............................................286
Компонент Newsfeeds..............................................288
Компонент Polls..................................................289
Компонент Weblinks...............................................291
Плагины сайта........................................................292
Резюме...............................................................293
Глава 8. Функции для Web-сообщества..................................295
Профиль сайта........................................................295
Определение аудитории сайта......................................296
Посмотрите на свое сообщество....................................297
Что нужно вашему сайту?..........................................297
Создание домашнего сайта для других групп...................... 299
Сообщество изменяет направление вашего сайта.....................300
Технологии Joomla! для построения Web-сообщества.....................300
Подписка на новостные ленты......................................301
Рейтинг статей...................................................301
Создание опросов.................................................303
Добавление гостевой книги........................................306
Разрешение комментариев пользователей............................315
Реализация календаря событий........... .. 323
Создание форума..................................................327
Добавление поля предложений......................................335
Использование Community Builder..................................336
Резюме...............................................................340
Оглавление
9
Глава 9. Статистика сайта..............................................341
Web-аналитика..........................................................342
Анализ Web-протоколов..............................................342
Маркировка страниц............................................... 343
Автономные пакеты анализа протоколов................................... 344
Webalizer..........................................................344
AWStats............................................................348
Расширения для Joomla!.................................................349
Google Analytics.......................................................350
Код маркера страницы...............................................350
Отчеты Google Analytics............................................353
Резюме.................................................................354
Глава 10. Фотогалерея..................................................355
FTP-сервер для управления галереей.....................................355
Активация FTP-сервера в Linux......................................356
Активация FTP-сервера в Mac OS.....................................357
Установка сервера FileZilla в Windows..............................357
Easy Gallery...........................................................359
Загрузка и установка Easy Gallery..................................361
Настройка Easy Gallery.............................................362
Управление Easy Gallery............................................364
Создание меню для компонента....................................... 366
Пользовательский интерфейс Easy Gallery............................ 367
Gallery 2..............................................................367
Загрузка и установка Gallery2......................................369
Настройка Gallery2.................................................372
Использование Gallery2 вместе с Joomla!................................378
Установка Gallery2 Bridge..........................................378
Другие плагины для Gallery2........................................381
Резюме.................................................................381
Глава 11. Joomla! и электронная коммерция..............................383
VirtueMart: The Joomla! Store........................................ .383
Системные требования...............................................384
Версии установки...................................................385
Создание виртуального магазина.........................................387
Панель управления VirtueMart.......................................387
Налоговые ставки...................................................388
Обшая настройка....................................................389
Настройка магазина.................................................391
Создание категорий.................................................392
Добавление продуктов...............................................393
VirtueMart и Secure Socket Layer...................................398
10
Оглавление
Способы оплаты...................................................399
Группы покупателей и управление пользователями...................403
Управление производителями/брэндами..............................404
Модуль доставки..................................................404
Управление заказами..............................................404
Резюме...............................................................406
Глава 12. Поисковая оптимизация и Joomla!............................407
SEO на Joomlai-сайте.................................................407
Делаем Joomla! "дружественной" к поисковым машинам...............408
Использование заголовков, МЕТА-тегов и ключевых слов.............413
Карты сайта......................................................415
Навигационная строка.............................................416
Создание SEF-шаблона для Joomla!.................................418
Общие методы оптимизации.............................................420
Проблемы JavaScript, Flash и Ajax................................421
Соотношение "HTML/текст".........................................421
Эмулируем работу поискового паука................................421
Проверка ранга страницы..........................................423
Использование ключевых слов......................................423
Выборочное исключение страниц сайта из поиска....................424
Стратегия размещения ссылок......................................425
Избегайте поискового спама!......................................426
Резюме...............................................................426
Глава 13. Создание расширений........................................427
Разработка модуля....................................................427
Структура модуля.................................................428
XML-файл модуля modhellofrom.....................................428
РНР-файл.........................................................430
Разработка модуля администратора Missing Metadata....................432
Создание XML-дескриптора.........................................433
Создание файла модуля............................................434
Структура компонента Suggestion Box..................................438
Файл XML-дескриптора........................................... 439
РНР-файл кода....................................................440
Установка компонента.............................................443
Резюме...............................................................444
Предметный указатель.................................................445
Об авторе
*
Дэн Рамел (Dan Rahmel) известен прежде всего своими
книгами по базам данным, РНР и Visual Basic. Обладает
многолетним (более 14 лет) опытом разработки и внедре-
ния информационных систем и клиент-серверных решений
средних масштабов с использованием MySQL, Microsoft
SQL Server, Microsoft Access и Visual FoxPro. Как автор.
Дэн начинал свою работу в различных журналах, в том
числе DBMS, American Programmer и Internet Advisor.
Является автором дюжины книг, переведенных на китайский, японский, ис-
панский, французский и португальский языки. В 2006 году совместно с Focal
Press издал книгу в Индии.
О техническом рецензенте
Стив Бурж (Steve Burge)— генеральный директор Alledia (www.alledia.com),
одной из лидирующих компаний, занимающихся Joomlal-разработкой. Явля-
ется автором книги "Joomla! SEO eBook" и создателем блога, посвященного
вопросам поисковой оптимизации Joomlal-сайтов (www.alledia.com/blog).
Родом из Великобритании, сейчас живет и работает в Атланте, Джорджия.
Благодарности
Работа над этой книгой1 совместно с сотрудниками издательства Apress дос-
тавила огромное удовольствие. Хочу персонально поблагодарить Джейсона
Гилмора (Jason Gilmore) за веру в эту книгу, начиная с самого начала и до ее
публикации. Огромное спасибо Трейси Браун Коллинс (Tracy Brown Collins)
за ее помощь и поддержку. Также хочу поблагодарить Деймона Ларсона
(Damon Larson), Мерилин Смит (Marilyn Smith), Кэти Стене (Katie Stence) и
всех, кто помогал мне создавать и редактировать эту книгу.
Отдельная благодарность моей жене Элизабет и моей дочери Александре за
их терпение и понимание, а также за все пропущенные уикенды. Встреча с
Элизабет— это лучшее, что когда-либо случалось со мной, и я рад, что моя
интуиция представила меня моей лучшей половине.
Также хочу поблагодарить моих родных братьев (Дэвида и Дарлина) и друзей
(Дэвида Рахмела, Грега Микки, Джона Тэйлора, Хуана Леонффу, Эдда Джил-
дреда и Велда О'Коннора) за их поддержку. Я очень благодарен Сандре Вил-
лагран, которая всячески помогала мне.
Но высшую похвалу заслуживает команда разработчиков Joomla!. Они рабо-
тают с минимальным вознаграждением для создания самого фантастического
OpenSource-приложения в мире. Все мы извлекаем выгоду из их великоду-
шия.
Но больше всего хочу поблагодарить вас, читателей. Купив эту книгу, вы
поддерживаете издательское дело. Я надеюсь, что информация в этой книге
вас не разочарует. Спасибо!
1 Имеется в виду оригинальное издание. — fed.
ГЛАВА 1
Знакомство с Joomla!
Изо всех подобных систем, которые можно встретить в Интернете, Joomla!
мне понравилась больше всего. Joomla! — довольно молодая система, поя-
вившаяся на Web-арене в 2005 году. Однако она сразу завоевала доверие про-
стотой развертывания и обслуживания. Используя Joomla!, вы сразу избави-
тесь от плохо организованных Web-интерфейсов. Вы только посмотрите на
рис. 1.1 — так выглядит сайт, построенный с помощью Joomla!, сразу после
установки самой Joomla!. Можете представить, как он будет выглядеть после
того, как вы приложите немного усилий.
В этой книге мы поговорим обо всем, что связано с Joomla! — от установки
системы до написания собственных расширений. Когда вы дочитаете книгу,
то сможете построить на базе Joomla! сайт любой сложности. Но прежде чем
приступить к изучению Joomla!, давайте поговорим о ее преимуществах пе-
ред другими системами управления содержимым сайтом (иногда будет ис-
пользоваться термин CMS, Content Management System). После прочтения
этой главы вы убедитесь, что сделали правильный выбор!
История Mambo или история рождения Joomla!______________________
Хотя Joomla! была представлена миру в 2005 году (именно в 2005 году появи-
лась версия 1.0), нам нужно вернуться в 2001 год, когда появилась первая вер-
сия открытой системы управления сайтом Mambo. Вообще система Mambo на-
чала свою жизнь как внутренний продукт австралийской компании Miro Corpora-
tion, но в апреле 2001 года данная система была представлена сообществу
Open Source. На то время Mambo была лучшей CMS с открытым исходным
кодом.
Mambo пользовалась огромной популярностью. Множество независимых раз-
работчиков и дизайнеров создавали для нее расширения и шаблоны. И все это
благодаря открытому коду — ведь если бы система была "закрытой”, доступ к
ее коду, а следовательно, и к написанию расширений получила бы только оп-
ределенная группа людей — ее разработчиков. А так как система была откры-
той, присоединиться к ее развитию мог любой желающий. Понятно, что Mambo
стала самой популярной CMS с открытым кодом.
16
Глава 1
В 2005 году произошло разногласие между реальными разработчиками Mambo
и владельцами торговой марки Mambo. В итоге в августе 2005 года большая
часть разработчиков Mambo отделилась от проекта.
Вскоре появилась новая CMS — Joomla! 1.0. Во многих аспектах новая CMS
была полностью совместима с Mambo, хотя интерфейс пользователя и панели
управления были немного упрощены.
Joomla! появилась относительно недавно — не прошло и трех лет (на момент
перевода этих строк) с момента появления первой версии, но несмотря на это,
Joomla! была загружена более 2,5 миллионов раз. На момент написания этих
строк было зарегистрировано более 65 000 независимых разработчиков
Joomla!, принимающих активное участие в написании расширений, а значит, в
развитии CMS. Joomla! была адаптирована для многих стран — Бразилии Ита-
лии, Китая, Нидерландов, США, Австралии.
Примечание^ереводчика
Слово "открытая" означает, что система бесплатно доступна всем желающим,
доступен ее исходный код, и систему можно распространять безо всяких огра-
ничений. Идея открытого кода поддерживается сообществом Open Source, на-
звание которого так и переводится — "открытый код".
Рис. 1.1. CMS Joomla! сразу после установки
Знакомство с Joomla!
17
Обзор системы управления контентом
С появлением Word Wide Web. Всемирной пактины, любой желающий мог
создать свою, пусть даже самую простую, Web-страничку, но для ее создания
нужно было знать язык HTML (HyperText Markup Language). Различными
компаниями были созданы редакторы HTML-кода вроде Adobe Dreamweaver
и Microsoft FrontPage, упрощающие создание Web-страниц. Некоторые из
таких редакторов позволяли управлять всеми этапами создания сайта— от
написания HTML-кода до загрузки этого кода на сервер. При этом знание
самого кода в большинстве случаев (для создания именно простых страниц)
не требовалось— ведь редакторы предлагали визуальные средства создания
страниц.
Но, несмотря на все преимущества HTML-редакторов, обслуживание сайта
становилось все сложнее и сложнее. Ведь с развитием информационных тех-
нологий, выросли и сайты Поддержание такой простой функции, как карта
сайта, требовало от Web-мастеров много усилий. Ведь нужно проследить все
ссылки, проверить навигацию между страницами, создать меню, добавить
форум— все это требовало постоянного внимания и занимало много вре-
мени.
Чтобы решить проблему обновления сайта, а именно — автоматизировать
само обновление, крупные информационные компании вроде Newsweek и
TIME были вынуждены начать разработку нового типа программного обес-
печения— систем управления контентом (CMS). CMS не только автомати-
зирует управление содержимым сайта, но и позволяет пользователям, не зна-
комым с различными техническими тонкостями, например, писателям и жур-
налистам, размещать свои материалы в системе непосредственно через
интерфейс пользователя. Понятно, что теперь пользователям для размещения
материалов на сайте не нужно знать ни HTML, ни вникать в технические
подробности самого процесса обновления сайта.
С внедрением CMS, большинство сложностей, связанных с обновлением сай-
та, исчезает. Та же карта сайта формируется автоматически, причем от поль-
зователя вообще ничего не требуется. К тому же CMS позволяет воплотить
дополнительные функции сайта, например, форум, корзину для заказа (если у
вас интернет-магазин), галерею изображений — все эти функции реализова-
ны в виде расширений CMS Все, что нужно, — установить то или иное рас-
ширение.
CMS позволяет всем пользователям сконцентрироваться на выполнении
именно их задач Например, для Web-дизайнера сайт— это набор визуаль-
ных шаблонов, определяющих представление содержимого сайта пользова-
телю. Дизайнеру нужно изменить всего один шаблон, ему не нужно, как
18
Глава 1
раньше, изменять дизайн всех страниц сайта. Когда автор публикует матери-
ал на сайте, он будет автоматически "одет" в установленный Web-дизайнером
шаблон дизайна, и новая страница будет выглядеть так же, как и все осталь-
ные страницы сайта.
В начале 1990-х, когда мир WWW еще только зарождался, CMS были дос-
тупны только крупным корпорациям. Ведь стоимость разработки и внедрения
обходилась в сотни тысяч долларов. Согласитесь, не каждый пользователь
может потратить 100—200 тыс. долларов на систему управления своей до-
машней страничкой Малым организациям такой ценник тоже был не по кар-
ману. Кроме того, многие первые CMS были настолько сложны в использо-
вании, что обслуживание сайта требовало пристального внимание со стороны
эксперта по CMS Поэтому многие компании отказывались от CMS, даже ес-
ли могли себе ее позволить.
Что же касается Joomla!, то она не только бесплатная, но и одна из самых
простых в использовании CMS. Практический каждый может загрузить, ус-
тановить и запустить Joomla! на своем сервере. На все про все уйдет не более
20 минут. Поэтому Joomla! доступна не только малым и средним организаци-
ям, но и обычным домашним пользователям.
Почему все не переходят на CMS?
Итак, почему же все владельцы сайтов не переходят на Joomla! или другую
CMS, если преимущества такого перехода— на лицо? Тому есть несколько
причин. Первая причина— это инерция или привычка. Человек привыкает
к использованию HTML и не желает ничего менять, даже если переход на
CMS сулит все прелести автоматизации управления сайтом. Переход от
HTML к CMS может занимать годы...
Примечание переводчика
Помню, как создал свой первый сайт. Сайт был размещен на narod.ru и написан
на чистом HTML (а больше ничего narod.ru и не поддерживает). Поскольку на
сайте было много статей, мне понадобились годы, чтобы перейти на другой
хостинг и написать свою CMS.
Вторая причина— это тысячи уже существующих HTML-страниц, которые
нужно конвертировать из формата HTML в базу данных CMS. В большинстве
случаев это придется делать вручную Для большого сайта такая операция
займет довольно много времени, а это означает простой сайта и, возможно,
финансовые потери для компании. Конечно, переход на CMS вполне окупит
себя, учитывая многократное сокращение времени обслуживания сайта.
Знакомство с Joomla!
19
Остается только один барьер, препятствующий переходу на CMS — техниче-
ский. Для работы практически любой современной CMS необходимо наличие
на хостинге интерпретатора РНР и сервера баз данных MySQL. Пять лет на-
зад было относительно немного хостинг-провайдеров, предоставляющих эти
функции. Сейчас ситуация изменилась к лучшему, и найти хостинг с под-
держкой РНР и MySQL не составляет труда.
Преимущества Joomla!
Интересно, что, несмотря на наличие многих других CMS, Joomla! использу-
ется не только частными лицами, но и общественными организациями, кор-
порациями, некоммерческими и другими организациями.
Одна из причин популярности Joomla! — легкость использования. Если у вас
есть опыт в разработке сайтов или CMS вы поймете, почему Joomla! получи-
ла такое распространение.
Непринужденность использования Joomla! обусловлена ее внутренним уст-
ройством. В дополнение к стандартным встроенным функциям Joomla!, дос-
тупно более 200 бесплатных и коммерческих расширений (плагинов), позво-
ляющих построить на базе Joomla! сайт практически любой сложности. Рас-
ширения Joomla! позволяют за несколько минут создать форум, чат,
интернет-магазин, аукцион и т. д.
Расширения Joomla! заслуживают золотую медаль, но оказывается, что это не
главное. Главное— простой, интуитивно понятный интерфейс пользователя.
Большинство новичков в состоянии самостоятельно установить и настроить
Joomla!. А шаблоны оформления, разработанные профессиональными дизай-
нерами, позволяют в одно мгновение преобразить любой сайт. Давно прошли
те дни, когда для того, чтобы сайт более или менее нормально выглядел, нуж-
но было привлекать профессионального дизайнера. Некоторые шаблоны
Joomla! выглядят лучше, чем дизайны некоторых сайтов, за разработку кото-
рых были выложены миллионы долларов. А все это благодаря присутствию
профессиональных дизайнеров, тщательно продумавших каждую деталь того
или иного шаблона.
К тому же многие CMS требуют от пользователя некоторой квалификации
для настройки и обслуживания сайта. Joomla!, напротив, позволяет произво-
дить все операции по обслуживанию сайта через простую и изящную панель
управления (рис. 1.2). А поскольку у панели управления Web-интерфейс, то
управлять своим сайтом вы можете с любой точки Земного шара — на рабо-
те, дома, на отдыхе — лишь бы у вас был доступ к Интернету
В следующих разделах мы рассмотрим некоторые функции и принцип рабо-
ты Joomla!.
20
Глава 1
Рис. 1.2. Панель управления Joomla!
Функции Joomla!
Казалось бы, мощность и простота— не совместимы, в это трудно поверить,
особенно, если вы раньше не использовали никакую другую CMS. Однако
любой Web-мастер сразу же обратит внимание на следующие особенности
Joomla!:
♦ полноценное управление сайтом через Web-интерфейс;
♦ Web-интерфейс позволяет управлять основными элементами сайта —
страницами, графикой, файлами и другими данными;
Знакомство с Joomla!
21
♦ функции одобрения контента, позволяющие модерировать материал, пуб-
ликуемый удаленными авторами (никто не сможет опубликовать на вашем
сайте материал без вашего одобрения);
♦ иерархическое управление группами пользователей;
♦ автоматизированное управление меню сайта;
♦ возможность автоматической публикации и удаления материала по распи-
санию;
♦ защита пользовательских учетных записей.
Но более внушительно выглядят функции \ правления контентом (содержи-
мым сайта) и возможность взаимодействия посетителей и CMS:
♦ встроенные WYSIWYG-редакторы (What You See Is What You Get), позво-
ляющие создавать страницы сайта без знания HTML;
♦ автоматический поиск по сайту;
♦ полная поддержка новостных лент форматов RSS и Atom;
♦ встроенная возможность создания опроса (голосования):
♦ управление рекламными баннерами;
♦ плагины для организации интернет-магазинов, например, корзина, галерея
изображений и др.;
♦ многоязычность (полная поддержка русского языка и русских кодировок
символов).
Но и это еще не все. В дополнение ко всему вышесказанному нужно отметить
следующие особенности Joomla!:
♦ полная открытость исходного кода — вы загружаете исходный код и даже
имеете право его изменять;
♦ поддержка операционных систем Linux и Windows (в целях эксперимента
можно даже установить Joomla! на домашний компьютер);
♦ поддержка кэширования страниц для повышения производительности
сайта.
С помощью плагинов вы можете расширить возможности Joomla!, добавив в
нее новые функции. При желании вы можете даже создать собственные рас-
ширения и поделиться (тоже при желании) ими с другими пользователями.
Несмотря на открытость исходного кода Joomla!, вы вправе создавать и про-
давать коммерческие расширения для Joomla!.
В следующем разделе мы рассмотрим принцип работы Joomla!.
22
Глава 1
Как Joomla! работает
Сейчас мы не будем рассматривать технические подробности работы Joomla!:
для эффективного использования CMS вам достаточно знать только основы
ее работы, а техническая часть пусть останется программистам В общих чер-
тах все просто: Joomla! должна отыскать запрошенный пользователем кон-
тент, отформатировать его в соответствии с шаблоном и отправить его в
браузер пользователя. Пользователь увидит контент сайта, оформленный
в выбранный администратором сайта шаблон
На рис. 1.3 показано, как работает обычный Web-сервер без установленной
CMS. Сначала браузер отправляет запрос Web-серверу. Web-сервер получает
HTML-код из статического HTML-файла (имя файла указывается в запросе
браузера, например, http://www.example.com/index.html) и отправляет его
браузеру пользователя. Поскольку HTML-файл у нас статический, то пользо-
ватель получит его код без всяких изменений, как он сохранен на Web-
сервере: ничего больше и ничего меньше.
Теперь посмотрим, что получится, если на Web-сервере установлена система
управления контентом сайта (рис. 1.4). На этот раз браузер пытается полу-
чить не статический HTML-файл, а PHP-сценарий, но, несмотря на это, адрес
страницы почти идентичен предыдущему — http://www.example.com
/index.php. Теперь начинается самое интересное. Этот запрос загружает часть
Joomla!: ее основной файл. Интерпретатор РНР, установленный на Web-
сервере, обеспечивает выполнение PHP-сценариев (РНР— это язык про-
граммирования, на котором написана Joomla!). Другими словами, происходит
запуск Joomla!, которая сразу после запуска определяет, какая страница за-
прошена, устанавливает соединение с сервером баз данных MySQL, получает
текст страницы, оформляет его в соответствии с шаблоном и отправляет в
браузер. Обратите внимание, что CMS, используя текст, полученный из базы
данных, и шаблон оформления, формирует HTML-код, который и отправля-
ется в браузер.
Знакомство с Joomla!
23
Рис. 1.4. Принцип работы CMS
Как видите, содержимое страниц сайта хранится не в статических HTML-
файлах, а в таблицах базы данных, а HTML-код формируется динамически,
т. е. "на лету". Такой подход очень эффективен. Вы только представьте, что
у вас есть сто статических HTML-страниц и вам нужно изменить дизайн сайта.
Вам придется изменять код каждой страницы! При использовании CMS эта
проблема исчезает— вам достаточно изменить шаблон и все ваши страницы
(сколько бы их не было) будут выглядеть одинаково.
Отличия версии Joomla! 1.0 от 1.5
Чуть ранее было сказано, что Joomla! — непосредственный родственник
Mambo, только у Joomla! — открытый код, Mambo является коммерческой
CMS. Joomla! версии 1.0 в основном отличалась от Mambo интерфейсом
пользователя, а внутренняя структура была идентичной, что подтверждалось
полной совместимостью модулей, компонентов и плагинов этих двух CMS.
Можно было сказать, что Joomla! и Mambo— одна и та же CMS, просто
Joomla! — бесплатная, a Mambo — коммерческая.
Но все изменилось с появлением версии Joomla! 1.5. Если сейчас вы исполь-
зуете версию 1.0, то переход на новую версию будет подобен глотку чистого
воздуха! В версии 1.5 упрощено развертывание системы, да и интерфейс ад-
министратора стал еще более удобным по сравнению с версией 1.0.
Если же вы разработчик и когда-нибудь писали расширения для Joomla! 1.0,
то по сравнению со старой версией, новая — просто революция. Новая вер-
сия обладает встроенным редактором РНР, очень сильно напоминающим по-
пулярный редактор Dreamweaver. Понятно, что редактор реализован в виде
Web-приложения, и это позволяет запускать его из любой точки Земли.
Вот список самых значительных изменений в новой версии:
♦ полностью переработанная панель управления;
♦ более совершенное средство предварительного просмотра шаблонов;
♦ новый менеджер плагинов;
24
Глава 1
♦ поддержка редактирования CSS-файлов;
♦ полная поддержка новостных лент Atom 1.0 и RSS 2.0;
♦ больше внимание уделено локализации, в частности поддерживается
CTF8, RTL, а перевод на другой язык осуществляется с помощью IN1-
файлов, привычных пользователям Windows;
♦ поддержка LDAP (Lightweight Directory Access Protocol, облегченный про-
токол доступа к каталогам);
♦ поддержка XML-RPC;
♦ поддержка Ajax-приложений;
♦ полностью переработанный интерфейс разработчика.
Поскольку многие читатели, возможно, уже использовали предыдущие вер-
сии Joomla’. в книге, где есть существенные различия между версиями
Joomla!, я добавил соответствующие примечания. Если же вы используете
Joomla! в первый раз, можете не обращать на них внимания.
Joomla! — один из 50 лучших проектов
Open Source
В 2006 году проходил конкурс лучших проектов с открытым исходным ко-
дом. Joomla! попала в список 50 лучших проектов Open Source. А на момент
написания этих строк Joomla! получила награду лучшего проекта Qpen Source
для Linux (Best Linux Open Source Project). Кроме этих, самых "громких" на-
град, были еще и другие, менее известные. И при всем этом Joomla! остается
бесплатной. Как видите, за хорошее совсем не обязательно платить!
Резюме
Если до того, как вы начали читать эту главу, вы не понимали всю мощь сис-
темы управления сайтом, надеюсь, что после ее прочтения ваше мнение из-
менилось и вы согласны со мной, что построение сайта вручную — дело не-
благодарное и рутинное. Joomla! обладает достаточной гибкостью, необхо-
димой для построения сайта любой сложности— от блога до сайта
корпорации. И при этом она остается бесплатной.
Лучший способ познакомиться с Joomla! — установить ее, чем мы и займем-
ся в следующей главе. Мы рассмотрим установку, настройку Joomla! и созда-
ние простого сайта на базе этой CMS
ГЛАВА 2
Быстрый старт: построй свой сайт
на базе Joomla! за 20 минут
Процесс установки Joomla! довольно сложный, учитывая особенности под-
систем безопасности различных операционных систем, и включает в себя три
этапа: установку Web-сервера, интерпретатора РНР и сервера баз данных
MySQL. Велика вероятность возникновения ошибок «а каждом этапе.
Поэтому в гчаве 2 будет много иллюстраций, описывающих каждый шаг
процесса установки. Если вы столкнетесь с проблемой, не волнуйтесь. Пере-
ведите дыхание и подумайте, что вы сделали не так. Отчасти вам поможет
разд. "Решение проблем" гчавы 3, а также посещение форума http://
forum.joomla.org/. Как показывает практика, на этом форуме вы очень быст-
ро получите точный и компетентный ответ.
Все иллюстрации этой главы будут соответствовать Windows-платформе. Во-
обще Joomla! — кроссплатформенная система, и операционная система осо-
бой роли не играет, но развертывание системы на Windows осуществляется
проще.
Итак, давайте приступим!
Примечание переводчика
Русскоязычным пользователям можно порекомендовать посетить форум
http://joomlaforum.ru: на нем вы можете задать вопрос и получить ответ на
русском языке!
Примечание
Существует несколько способов установки Joomla!. В этой книге описывается
ручная (не автоматическая) установка — ведь именно так приходится устанав-
ливать эту CMS большинству пользователей. Некоторые хостинг-провайдеры
предоставляют специальные сценарии для установки различных CMS, напри-
мер, Fantastico (http://netenberg.com/fantastico.php). Fantastico помимо всего
прочего умеет устанавливать Joomla!, но это частный случай, потому что такие
26
Гпава 2
сценарии не всегда есть, да и установку вручную никто не отменял. Также мож-
но использовать Joomla! Stand Alone Server (http://jsas.joomlasolutions.com)
для установки всех необходимых серверов (Web, MySQL, РНР) на ваш компью-
тер.
Установка Joomla!
Перед установкой Joomla! убедитесь, что хостинг, на который вы планируете
установить CMS, соответствует следующим минимальным системным требо-
ваниям:
♦ Apache версии 1.13 или выше;
♦ РНР версии 4.2 или выше;
♦ MySQL версии 3.23 или выше.
Практически все Web-узлы соответствуют приведенным требованиям, но пе-
ред покупкой хостинга лучше убедиться в этом, чем потом требовать возвра-
та средств и в спешке искать новый хостинг.
Примечание переводчика
Где лучше всего купить хостинг*? Не хочется делать рекламу никакому хостинг-
провайдеру, поэтому посоветую следующее. Введите в любой поисковик слово
"хостинг" — вы найдете столько ссылок, что за день не сумеете все пересмот-
реть. Далее выберите несколько приемлемых для вас вариантов и зайдите на
сайт http://hostobzor.ru/. На этом сайте вы сможете прочитать отзывы пользо-
вателей о различных хостинг-провайдерах. Вам останется только выбрать луч-
шего провайдера и заключить с ним договор на обслуживание.
Примечание
Интерпретатор РНР должен поддерживать сервер баз данных MySQL, XML и
zlib. Если РНР не поддерживает хоть что-то из этого списка, Joomla! работать
не будет. Получить точную информацию об установленных библиотеках РНР
вы можете у своего хостинг-провайдера. Конечно, при установке Joomla! сооб-
щит, что поддерживается, а что нет.
Для работы с Joomla! вам нужен современный браузер. Дело в том, что неко-
торые браузеры не совсем корректно отображают содержимое панели управ-
ления Joomla!. Любая версия Internet Explorer (не ниже версии 5.5) работает
отлично. Также корректно отображают Joomlal-сайты все версии Mozilla Fire-
fox и Apple Safari. Убедитесь, что в вашем браузере включены скрипты
JavaScript Посетителям вашего сайта совсем не обязательно включать
JavaScript, но многие расширения используют JavaScript для организации
взаимодействия с пользователем. Панель управления также требует включе-
ния JavaScript, поэтому убедитесь, что вы его включили до начала установки.
Быстрый старт: построй свой сайт на базе Joomla1 за 20 минут 27
При установке Joomla! мы будем считать, что пользователь работает под
Windows, но устанавливает Joomla! на Web-сервер под управлением Linux.
Если ваша конфигурация отличается от нашей, вы можете следовать приве-
денным далее инструкциям, даже если ваш графический интерфейс пользова-
теля будет отличаться от иллюстраций. После установки Joomla! ее Web-
интерфейс будет одинаков на всех платформах.
Загрузка Joomla!
Первым делом нужно загрузить архив с наиболее стабильной версией
Joomla!. Когда я пытался загрузить Joomla! впервые, то был сильно смущен
огромным списком файлов, доступных для загрузки. Команда разработчиков
Joomla! довольно часто выпускает патчи, исправляющие небольшие ошибки
или возможные дыры в системе безопасности. Поэтому список файлов до-
вольно большой. Поскольку мы собираемся устанавливать Joomla!, нам ну-
жен полный стабильный релиз, а не набор пачтей.
Зайдите на сайт www.joomla.org и перейдите по ссылке Download (рис. 2.1).
Вы увидите список доступных для загрузки файлов.
Joomla!'
Cutting Edge Content Management
• Fiextoie
• Simpte
* ЕедагЛ
• Customizable
• Powerf J
.loorrfei к ore ottF e most p w fU Open . lurce < *
al over ths everything <гогп arccfe web te
instal srncfe to mar\ . and reiabie
Demo Download Details
Рис. 2.1. Нажмите ссылку Download для доступа к файловому архиву Joomla!
Вам нужно скачать файл Joomla_L5.x-Stable-Full_Package.zip (рис. 2.2). Это и
есть архив с Joomla!.
Если вы не видите стабильного полного пакета, используйте навигацию. Ко-
гда я в первый раз загружал Joomla!, то нашел стабильную версию лишь на
восьмой странице.
Обратите внимание, что можно скачать ZIP-архив или архив с расширением
tar.gz. Если вы работаете в Windows, нужно загрузить ZIP-архив, а если в
Linux — архив tar.gz.
28
Гпава 2
Рис. 2.2. Нужно найти самую последнюю стабильную версию Joomla1
Щелкните на подходящей ссылке и сохраните файл на жесткий диск вашего
компьютера.
Распаковка архива Joomla!
После того как вы скачаете архив с CMS, его нужно распаковать в любой ка-
талог на жестком диске и загрузить на Web-сервер. Если у вас Windows ХР.
просто дважды щелкните на загруженном ZIP-архиве. В более старых верси-
ях Windows для открытия архива нужно использовать ZIP-архиваторы, на-
пример, WinZip или 7-Zip.
На рис. 2.3 изображено содержимое архива с Joomla!. Для распаковки архива
просто перетащите файлы в нужный каталог на жестком диске.
** Joomlal.Jnitali
Файл [Травка £ид Избранное
Сервис Справка
ДП
Назад ” ч *’ Поиск Папки | ~
D:\Joomla l_5instaJ
Задачи дли файлов и папок
Друг, е месте
Подробно
Joomla 15ins tai I
Папка с файлами
Изменен- 12 марта 2008 г.. 19:21
administrator
cache
3 components
JJimages
Jjincludes
J installation
^language
<,„1 libraries
logs
media
modules
plugins
J templates
tmp
v Х л Переход
s^Jxmlrpc
CHANGELOG, php
conf guration php-dist
] COPYRIGHT php
. 1 CREDITS, php
htaccess txt
^index2.php
] index, php
j INSTALL php
_] LICENSE.php
_J LICENSES php
Г robots.txt
Рис. 2.3. Содержимое архива Joomla!
Быстрый старт, построй свой сайт на базе Joomla! за 20 минут
29
Я создал каталог \Joomlal_5install, а затем распаковал в него все файлы и ка-
талога Joomla!. Имя каталога не имеет значения, главное, чтобы вы помнили,
куда распаковали архив. Следующий шаг будет заключаться в копировании
файлов на Web-сервер.
Загрузка Joomla! на Web-сервер по протоколу FTP
Большинство FTP-клиентов похожи друг на друга, и это не удивительно —
ведь все они выполняют одну и ту же функцию. Если вы уже использовали
какой-нибудь FTP-клиент и успели к нему привыкнуть, для загрузки Joomla!
используйте его. А если же у вас нет предпочитаемого FTP-клиента, я реко-
мендую программу FileZilla, которую можно скачать по адресу:
http://filezilla.sourceforge.net/1.
FileZilla— это полноценный, мультиплатформенный (есть версии для
Windows, Linux, Mac OS X, Mac OS 9), бесплатный FTP-клиент с открытым
кодом. Я буду использовать FileZilla для демонстрации загрузки Joomla! на
Web-сервер, но вы с успехом можете сделать это с помощью любого другого
FTP-клиента.
Примечание
Кроме программы FileZilla вы также можете скачать программу FileZilla FTP
Server. Если вы самостоятельно создаете сервер для вашего сайта, то можете
использовать эту программу для организации FTP-сервера, после чего сможете
обращаться к вашему компьютеру с помощью любой FTP-программы.
После установки FileZilla запустите ее (или запустите ваш любимый FTP-
клиент). Чтобы получить доступ к FTP-серверу, введите параметры доступа
(имя хоста, имя пользователя и пароль) в поля быстрого соединения. Можно
также нажать кнопку Открыть менеджер хостов (рис. 2.4, крайняя левая
кнопка на панели инструментов) и создать новый сайт. Я рекомендую создать
сайт, потому что впоследствии, когда вам снова понадобится FTP-доступ, вам
не придется опять вводить параметры соединения.
В поле Хост укажите адрес FTP-сервера (будет выглядеть наподобие
ftp.example.com). В качестве значения поля Порт нужно указать 21 —
в большинстве случаев используется этот порт.
Имя пользователя и пароль нужно указать в одноименных полях. Будьте
внимательны при указании пароля: в большинстве случаев хостинг-про-
вайдеры устанавливают различные пароли для FTP-доступа и панели управ-
ления хостингом. Убедитесь, что вы вводите правильный пароль!
1 Русская версия доступна на сайте filezilla.ru. — Пер.
30
Гпава 2
Рис. 2.4. Программа FileZilla
После ввода параметров соединения нажмите кнопку Быстрое соединение.
FileZilla отобразит процесс регистрации на FTP-сервере. В правой части окна
вы увидите содержимое вашего сайта. В большинстве случаев вы сразу ока-
жетесь в корневом каталоге сервера, и можно будет сразу приступить к копи-
рованию файлов. Если ваш сервер автоматически не перешел в корневой ка-
талог, это нужно сделать самостоятельно.
В левой части окна вы увидите список дисков локального компьютера. Пе-
рейдите в каталог, в который вы ранее распаковали файлы и каталоги
Joomla!. Можно приступить к загрузке Joomla!.
В FileZilla достаточно выделить файлы и каталоги, затем щелкнуть на них
правой кнопкой мыши и выбрать команду Загрузить на сервер. Выбранные
файлы и каталоги начнут копироваться на сервер, а в правом нижнем углу вы
увидите, какой объем информации еще нужно скопировать на сервере
(рис. 2.5). Когда будут скопированы все файлы и каталоги, счетчик станет
равным 0.
Быстрый старт, построй свой сайт на базе Joomla! за 20 минут
31
Рис. 2.5. В правом нижнем углу FileZilla показывает информацию о процессе загрузки файлов
После загрузки файлов нужно настроить MySQL, который будет использо-
ваться для хранения данных Joomla!. Если MySQL уже настроен, можно при-
ступить сразу к чтению разд. "Использование мастера установки Joomla!"
далее в этой главе.
Примечание
После загрузки файлов Joomla! на сервер не удаляйте их — они вам еще при-
годятся.
Подготовка хостинга Go Daddy для Joomla!
Go Daddy (www.godaddy.com)— очень популярный и недорогой хостинг-
провайдер, идеально подходящий для размещения Joomlal-сайтов. Go Daddy
рассматривается в этой книге исключительно из-за своей популярности и
доступности.
Если у вас другой хостинг-провайдер, иллюстрации будут отличаться, хотя
сам процесс в общих чертах будет таким же.
Если вы хотите настроить собственный Web-сервер и запустить Joomla!, об-
ратитесь к следующей главе для получения соответствующих инструкций.
Совет_________
Некоторые хостинг-провайдеры специализируются только на Joomlal-сайтах,
оптимизируя свои серверы для Joomla!, что позволяет повысить производи-
тельность сайта. В этом заключается их преимущество по сравнению с Go
Daddy, особенно, если у вас будет сайт с большой посещаемостью. Вы можете
найти список таких хостинг-провайдеров по адресу: http://forum.joomla.org
/index.php/topic,6856.0.html. Проведя небольшое "исследование", вы получите
информацию об особенностях каждого Joomlal-хостинга (поддержка, произво-
дительность, цена и т. д.).
В этом разделе будет описан процесс установки Joomla! на хостинг Go Daddy.
Вы должны знать, что хостинг Go Daddy уже содержит Joomla! в виде VAA-
32
Гпава 2
приложения (Value-Added Application). Установить Joomla! с помощью VAA
намного проще, чем вручную, но есть, по крайней мере, две причины уста-
навливать Joomla! вручную: выбор каталога для установки и контроль версии.
Если вы устанавливаете Joomla! с помощью VAA, то не можете выбрать ка-
талог. в который будет произведена установка. По умолчанию выбирается не
корневой каталог, а каталог \joomla. Учитывая этот факт, адрес главной стра-
нички вашего сайта будет примерно таким:
http://w3V3v.example.com/joomla/index.php
В большинстве случаев такой адрес нас не устроит. Если вы будете устанав-
ливать Joomla! самостоятельно, URL главной страницы будет таким:
http://w3vw.example com/index.php
Второй недостаток VAA-установки заключается в том, что с помощью VAA
вы не можете установить самую свежую версию Joomla!. А ведь самая новая
версия может содержать новые функции, важные патчи, исправляющие
ошибки и повышающие безопасность вашего сайта. Если вы устанавливаете
Joomla! самостоятельно, то можете скачать с 3v3vw.joomla.org самую послед-
нюю версию.
Определение
операционной системы Go Daddy
Перед установкой Joomla! нужно убедиться, что мы можем запустить ее на
сервере Go Daddy. Это означает, что ваш виртуальный сервер должен рабо-
тать под управлением Linux/PHP. Если ваш сервер работает под управлением
Windows/ASP, вы не сможете запустить Joomla!. Не волнуйтесь, если это
так — вы всегда сможете перейти на Linux, однако имейте в виду, что после
этого вы не сможете запускать ваши ASP-приложения.
Зарегистрируйтесь в панели управления сайтом и откройте ваш список узлов
(Managed Host list). На рис. 2.6 в этом списке есть только один мой сайт
joomlajumpstart.com. Перейдите по ссылке Open, находящейся напротив име-
ни сайта.
Панель управления отобразит конфигурацию вашей учетной записи. В облас-
ти Account Summary вы увидите используемую в данный момент операци-
онную систему. Напомню, что для установки Joomla! необходима Linux
(рис 2.7).
Если у вас неподходящая операционная система, вернитесь к списку узлов,
включите флажок напротив учетной записи, параметры которой вы хотите
изменить. Перейдите по ссылке Switch Operating System (рис. 2.8) для изме-
нения операционной системы на Linux.
Быстрый старт: построй свой сайт на базе Joomla! за 20 минут
33
Make a .com *
name wrth из Л
ICJWXf н <
Bulk Registration!
Оожйж
I * , 5W ?jlders * [ Hz’-nr:
Go Daddy Home My Cert My Account Logout
• Domain
Names
R Hosting
ИЁ- Email
LISTEN TO
LfefaWwilb
tOOAYt
2 naw G D
PiU&Htenou
I ;et accuse
See e alt her
HeUo, Dsn Rahmei W
You've missed out on $312.60 savings. Optu> to our email
«MCJthei
ИГStuff
/>» My
Renewals'
In
To apply a Free Hosting credit, dick on the ’Use Credit" link.
Free Hosting Credrts: 3 Use Credit
Manage Hosting
Cfc* * j -л to a: the
K" ил •<•*>;« n^-kBrds.Ffi
U4R«|at Data asesu
Hj»ir ; i spertea
Рис. 2.6. Перейдите по ссылке Open напротив имени сайта
Managing Your Hosting t
CSc'- > ftafna-. f a Hr ng A
pfcpeieue i «tar iha
Get to know n
wife's visitors
G‘-- ma< iduI
Рис. 2.7. Используется операционная система, подходящая для установки Joomla1
2 Зак 468
34
Гпава 2
Рис. 2.8. Перейдите по ссылке Switch Operating System для изменения ОС
Создание базы данных MySQL
Перед запуском инсталлятора Joomla! нужно создать базу данных MySQL,
которую будет использовать Joomla! для сохранения контента сайта. Созда-
ние базы данных обычно требует специальных прав доступа, поэтому многие
хостинг-провайдеры не разрешают приложениям создавать базу данных ав-
томатически, и пользователю приходится формировать ее вручную. Если вы
создаете базу данных вручную, вам нужно разрешить Joomla! создавать таб-
лицы и вставлять в них данные.
Примечание____________________________________________________
Если у вас есть права администратора на вашем MySQL-сервере, вы можете
разрешить Joomla! создать базу данных для вас Поскольку данная процедура
невозможна у большинства хостинг-провайдеров, в этой главе мы будем созда-
вать базу данных вручную, а об автоматическом создании базы данных погово-
рим в главе 3.
Вернитесь в окно панели управления, внизу окна будет область Databases, а в
ней — кнопка MySQL (рис. 2.9). Нажмите эту кнопку, чтобы открыть стра-
ницу управления базами данных MySQL.
Страница управления MySQL отображает список доступных в данный мо-
мент баз данных. На моем сайте пока нет никаких баз данных. Сразу после
списка баз данных вы обнаружите кнопку CREATE NEW DATABASE, на-
жмите ее (рис. 2.10).
Быстрый старг построй свой сайт на базе Joomla! за 20 минут
35
Рис. 2.9. Нажмите кнопку MySQL для отображения страницы управления MySQL
При установке Joomla! нужно будет указать имя базы данных, которую вы
сейчас создадите. В поле Description введите JoonilaDB_Main. Тот же самый
текст введите в поле User Name (рис. 2.11).
Home > Databases» MySQL
SETTING
• CONTENT
OHTRSRSES
WEB STATISTICS
d MySQL Database InformaUcfj
MySQL is a database server that you can use hi conjunction with PHP ar J
scripting languages to create dynamic Web sites
Го set up a new MySQL database on your account click Create Naw D.
MySQL Databases
(Oof 10>
Database Name Description Status Manager
No MySQL databases exist for this hosting account
Рис. 2.10. Для создания новой базы данных нажмите кнопку Create New Database
Возможно, вас смущает, что имя пользователя совпадает с именем создавае-
мой базы данных. Ничего необычного в этом нет, напротив, одинаковые име-
36
Гпава 2
на для пользователя и базы данных существенно упрощают администрирова-
ние сайта.
Рис. 2.11. Имя пользователя и базы данных могут совпадать
Обратите внимание, что имя пользователя не должно превышать 16 символов
и быть уникальным в пределах MySQL-сервера. На хостинге Go Daddy мно-
жество пользователей взаимодействуют с одним и тем же MySQL-сервером,
поэтому имя базы данных тоже должно быть уникальным в пределах серве-
ра— оно не должно совпадать с именем базы данных, созданной другим
пользователем.
После ввода имен базы данных и пользователя, введите пароль и его под-
тверждение, затем нажмите кнопку CONTINUE.
Далее вас попросят проверить введенную информацию. Для продолжения
нажмите кнопку Create Database. После создания базы данных вы вернетесь
на страницу управления MySQL. Вы увидите только что созданную базу дан-
ных (рис. 2.12), в качестве статуса будет указано Pending Setup— это озна-
чает, что сервер Go Daddy выполняет служебные операции с этой базой дан-
ных.
Обычно серверу нужно примерно 15 минут, чтобы "привести в чувства" соз-
данную базу данных, но в загруженные дни этот процесс может занять не-
сколько часов. Обновите страницу, чтобы увидеть текущий статус базы дан-
ных. Как только настройка будет завершена, статус базы данных изменится
на Setup (рис. 2.13) и станет доступной кнопка Open Manager, вызывающая
приложение phpMyAdmin.
На этом базовая настройка Go Daddy завершена. Оставшаяся часть установки
выполняется с помощью мастера установки Joomla!.
Быстрый старт: построй свой сайт на базе Joomla! за 20 минут
37
Hosting Manager
UM
• нот
• 6ЕТТИСБ
• COMUM T
DATABASES
Home Databases MySQL
О
«НИЯ. (
• ikmbvb
J MySQL DaUbais fatfcnnatton
M’~— Jdatal • e server U, vdcantr-
scr ptng tangucg :s to create | am Web
г with PPP a, d other
To set up a new M SQL database or 5ur account, c|ck Croat» N»w Databss»
Help Center
Database Name
iwHr.3Lp frtdTt
MySQL Databases
(2 of 10)
D»»cripthri Status Manager Mthsns
JuurniaDB Matn Pc nd ng ES33E3E23 "s . X
SHup
CREATE MEW OfUHBRSE
Рис. 2.12. Статус Pending Setup означает, что сервер настраивает базу данных
Hosting Manager
1 .ода*•и
»» НПЦйги
Home Database» MySQL
АРМЕ
• SETTMGE
CUHTEMT
• database
Help Center
MySQLDataba*» Information
Ц flataL er/err Г jeani nc-'irt n with ppp ad orh“
to ct . :. Wrt
Тс set up a newMv^CL database on you* account click Create New Database
□
H ill . Central Bio
Dtner Feedback
Database Name
MWU
MySQL Databases
(1 of 10)
D«scrgrtion
JoomiaUb_Main
Status Manager Action*
Setup ESSKCSHSS X
CREATE НЕИ DATABASE
J
Рис. 2.13. Когда настройка базы данных будет завершена, статус изменится на Setup
Использование мастера установки Joomla!
Вы уже загрузили Joomla! на сервер и создали базы данных MySQL? Тогда
откройте браузер и введите адрес вашего сайта, например, http://
www.example.com. При первом запуске Joomla! вы увидите мастер установ-
ки. который попросит вас первым делом выбрать язык сайта (рис. 2.14).
38
Гпава 2
iJoorntaf Установка
Шаги
1: Вы w языка
2: Начал» ная проверка
3: Л щензня
4: База данных
5: конфигурация FTP
Выберите язык
Выберите я*ык
Выберите язык установки
6: Конф» гурация
7:3аверш ние
eu-ES • Basque (Euskara eslandarra)
fa-IR - Persian^A)
fi-FI - Finnish (Suomi)
fr-FR - French (Fr)
he-IL - Hebrew(IL)
hi-lN - Devanagan/Hindi (India)
hr-HR - Croatian (Hr)
hu-HU - Hunganan (Magyar)
it-lT - Italian (Italy)
ja-JP - Japanese(JP)
lo-LA - Lao (ЪЪЪЪЪЪЪ)
It-LT - Lithuanian
Iv-LV - Latvian
nb-NO - Norsk bokmSl (Norway)
nl-NL- Nederlands (NL-BE)
pl-PL- Polish (Poland)
pt-BR - Portugu§s (Brasil)
pt-PT - Portugues(pl-PT)
ro-RD - RomanS (Romania)
i-PU - P Л кин CIS)
Рис. 2.14. Мастер установки Joomla! позволяет вам выбрать язык сайта
Примечание____________________________________________________
Если Joomla! не загрузилась, сложно сказать, что произошло. Возможно, ваш
сервер не поддерживает РНР или Joomla! была скопирована в другой каталог,
отличный от введенного URL. В разд. "Решение проблем' главы 3 мы погово-
рим о различных проблемах при установке Joomla!.
Все пользовательские интерфейсы (интерфейс сайта, панели управления
и программы установки) будут представлены в выбранном вами языке.
У Joomla! отличная языковая поддержка. На момент написания этих строк
Joomla! поддерживала следующие языки: английский, арабский, болгарский,
китайский, чешский, хорватский, датский, голландский, эстонский, финский,
французский, немецкий, греческий, японский, литовский, польский, швед-
ский, турецкий, итальянский, корейский, испанский, русский и др.
Выберите ваш язык и нажмите кнопку Далее в правом верхнем углу экрана.
Примечание___________________________________________
После установки Joomla! вы можете добавить дополнительные языки для поль-
зовательского интерфейса путем добавления соответствующих языковых паке-
тов. Joomla! позволяет изменять язык интерфейса даже обычному пользователю.
Быстрый старт построй свой сайт на базе Joomla! за 20 минут
39
Предынсталляционная проверка
Второй шаг мастера установки — это предынсталляционная проверка систе-
мы. На рис. 2.15 показано, что на сервере установлены актуальные версии
РНР и MySQL, а конфигурационный файл configuration.php доступен для
записи.
Рис. 2.15. Предынсталляционная проверка сообщит о возможных проблемах,
которые могут возникнуть при установке Joomla!
Примечание переводчика_________________________________________________
Автор книги совершенно забыл о таком понятии, как права доступа в Linux/UNIX,
или же его сервер настроен с несоблюдением основных правил безопасности.
Ведь обычно на этапе проверки мастер установки сообщает, что файл
configuration.php недоступен для записи, поэтому установку продолжить нель-
зя. Для продолжения установки Joomla! вам нужно установить права доступа
666 для файла configuration.php. Но самое удивительное в том, что этот файл
нельзя создать, поскольку права доступа к каталогу, в котором он должен нахо-
диться, не разрешают сделать этого, поэтому самого файла configuration.php
вы не найдете. Нужно установить права доступа 777 для каталога, в котором
установлена Joomla!. В моем случае:— это каталог joomla, поэтому нужно пе-
редать FTP-серверу команду chmod 777 jomla. Если вы используете FileZilla,
то передать команду серверу можно с помощью команды меню Сервер | Вве-
сти команду.
Но и это еще не все. Нужно установить права доступа 777 к следующим ката-
логам:
administrator/backups/;
administrator/components/;
40
Гпава 2
• administrator/cache/;
• administrator/modules/;
• administrator/templates/;
• cache/;
• components/;
• images/;
• images/banners/;
• images/stories/;
• language/;
• plugins/;
• plugins/content/;
• plugins/editors/;
• plugins/editors-xtd/;
• plugins/search/;
• plugins/system/;
• media/;
• modules/;
• templates/;
• tmp/.
Когда установите необходимые права доступа, нажмите кнопку Повторить
проверку (правый верхний угол окна мастера установки).
Более подробно о правах доступа в Linux/UNIX вы можете прочитать в книге
Колисниченко Д. Н. Серверное применение Linux. — СПб.: БХВ-Петербург,
2008, а дополнительные сведения об установке Joomla! вы найдете в другой
книге Колисниченко Д. Н. Движок для вашего сайта. CMS Joomla!, Slaed, РНР-
Nuke. — СПб.: БХВ-Петербург, 2008.
Если настройки вашего сервера не соответствуют требованиям Joomla!, вам
нужно проконсультироваться с вашим хостинг-провайдером: без него про-
блему вам не решить. Если хостинг-провайдер не может вам помочь, вам
нужно найти другого провайдера, серверы которого позволяют запускать
Joomla!.
В области Рекомендуемые установки отображаются опции, весьма жела-
тельные, но не обязательные. Среди этих опций вы найдете опции интерпре-
татора РНР, например, Safe Mode, Register Globals, Magic Quotes Runtime
и др. Вы не можете изменить эти опции — это под силу только администра-
тору сервера.
Если все в порядке, нажмите кнопку Далее в правом верхнем углу экрана.
Быстрый старт: построй свой сайт на базе Joomla! за 20 минут
41
GNU General Public License
Следующий шаг (рис. 2.16)— вы должны прочитать и принять лицензию
GPL. Я настоятельно ее рекомендую прочитать, чтобы ознакомиться со всеми
правами и ограничениями распространяемого по этой лицензии программно-
го обеспечения.
J omla! Установка
Шаги
Лицензия
I: Выбор языка
Лицензия GNU GPL:
2: Начальнтя проверка
Table of Contents
3: Лицензия
4: База данных
GNU GENERAL PUBLIC UCENSt
• Frearrble
. TfcRMS AND CCWITIONS FOR COPYING DiSTPBUTION AND MODFitAT №1
♦ How to Apply These Теше to \ out New Programs
5: Конфигурация FTP
GNU GENERAL PUBLIC LICENSE
6: Конфигурация
Version 2, June 1891
7: Завершение
Copyright (C) 1909, 1991 Free Software Foundation, Inc.
59 Tenple Place - Suite 330, Boston, MA 02111-1307, USA
Bveryone is permitted to copy and distribute verbaclia copies
of this license docuient, but changing it is not allowed.
Preamble
The Bcenses tor most software are designed to take away you freedom to sha e and change it By contn
and change free software-to make sure the software s free for ail its users This General Public License
program whose art hots commit to using it (Some other Free Software Foundation software is covered by
programs, too
VUwi we speak of free software, ws are referring |o freedom, not price Our General Public Licenses are
software (and charge for this service il you wish), that you receive sou ce code or can get It if you wart
that you know you can do these things
To protect your rights, we need to make restrictions that forbid anyone Io deny you these rights or to ask
you if you distribute cofjfes of Pie software, or it you modify И
Рис. 2.16. Вы должны принять лицензию GPL
Наиболее важными являются следующие условия этой лицензии:
♦ вы можете использовать программу по любому назначению;
♦ вы имеете право получить ее исходный код и изменить его;
♦ вы можете распространять программу и ее исходный код;
♦ вы можете распространять модифицированные версии программы;
♦ ваша версия программы должна тоже распространяться по лицензии GPL
(вы не можете продавать программу, основанную на исходных кодах
GPL-программы).
42
Гпава 2
Если вы согласны с этими условиями, тогда нажмите кнопку Далее, чтобы
перейти к настройке базы данных. Параметры базы данных зависят только от
вашего хостинг-провайдера, поэтому приведенные на иллюстрациях значения
у вас работать не будут.
Microsoft и GNU GPL_________________________________________________
Не секрет, что лицензия GNU GPL не нравится Microsoft. Microsoft больше всего
раздражает тот факт, что измененное программное обеспечение тоже должно
распространяться по лицензии GPL, т. е. свободно и бесплатно Представители
Microsoft неоднократно выступали против лицензии GPL.
Стратегией Microsoft всегда была монополия на рынке программного обеспече-
ния. А сообщество OpenSource с его открытой лицензией GPL — это как пилю-
ля яда для Microsoft Понятно, почему представителям Microsoft не нравится
GPL.
Конфигурация базы данных MySQL
Страница конфигурации базы данных MySQL изображена на рис. 2.17. Рас-
крывающийся список Тип базы данных позволяет выбрать используемую
базу данных, обычно это mysql, но скоро Joomla! будет поддерживать Oracle
и Microsoft SQL Server.
Если вы запускаете Joomla! на собственном сервере, в качестве названия хос-
та нужно указать localhost. Это означает, что сервер баз данных и Web-
сервер запущены на одном и том же компьютере.
Но у некоторых хостинг-провайдеров серверы MySQL запускаются отдельно
от Web-серверов (на разных компьютерах). Например, для Go Daddy нужно
указать адрес сервера MySQL, на котором хранится ваша база данных. Имя
Быстрый старт: построй свой сайт на базе Joomla! за 20 минут
43
сервера вы можете узнать в панели управления Go Daddy, зайдите в нее и
щелкните по кнопке Connection Settings (рис. 2.18).
Domain H.irw
HWW
Home > Databases > MySQL
□
СПМТСМТ
t» ABASES
d MySQL Database Information
MySQL is a database servertbat you can use tn con uncuen with PHP and other
scnptng languages to create dynamic Web sites
I с sei up a new MySQL datebase on your account chck Create New Database
Feed
Database Name
MySQL Database*
(2 of 10)
Description
JoomteDB-Main
Status Manager Actions
setup mib'imi “V X
CREATE НЕ» ОАТА8ЯВЕ
Рис. 2.18. Нажмите кнопку Connection Settings для получения настроек MySQL
Ih'iiillfblii'ihiriilMa—M I IM I III I I ИИ———И
MySQL Server Database Connection Settings
Description: >
This examole describes using PHP to connect to a MySQL Database on a
Lrtux ho st ng account.
«?php
/Connect To Database
Sbostname=’mysql235
$username=’JoomlaDB_Mafn
$password=”your password1:
$cbname=“Jo<xniaDB_Main“.
SusertaNe-’yottf-tatHename''
Syourfieid = ’уоигГюкГ,
mysql_cornect(Sbostname Susemame Spassword) OR DIE (*Unabeto L
connecl to database? Ptease try agsm later "),
mysql_selecl_db($dbname).
Squery = ’SELECT * FROM Sjsertable"
Sresuft = ntysqi_Query($query!)
Result) [
wh3e(Srow = mys<$!_retch_anay(Sresufi)X
Sname = SrowfSyourftekT]
echo 'Name " Sname,
J
Рис. 2.19. Параметры доступа к MySQL
После этого появится всплывающее окно, отображающее важную информа-
цию для установки MySQL-соединения. На рис. 2.19 показаны имя пользова-
44
Гпава 2
теля, имя базы данных и имя сервера MySQL. Если окно с мастером установ-
ки Joomla! все еще открыто, просто скопируйте полученную информацию
в окно мастера установки.
Совет
После нажатия кнопки Get Permissions Joomla! попытается подключиться к
вашему серверу MySQL. Вполне возможно, что вы увидите сообщение об
ошибке (рис. 2.20), например, "Cannot connect to MySQL" ("Невозможно подклю-
читься к MySQL"). Решение проблем с MySQL-соединением описано в следую-
щей главе
Рис. 2.20. Получить полномочия не удалось
Теперь введите имя пользователя и пароль. Если у вас есть полные права ад-
министратора, вы можете нажать кнопку Get Privileges (Получить полномо-
Примечание переводчика________________________________________
В последней на момент написания этих строк версии Joomla! кнопки Get
Privileges не было, поэтому вы не найдете ее на других иллюстрациях. Оче-
видно, эта функция работала некорректно, поэтому от нее решили избавиться.
Быстрый старт: построй свой сайт на базе Joomla! за 20 минут
45
После нажатия кнопки Get Privileges вы также увидите некоторые дополни-
тельные параметры MySQL, например, кодировку по умолчанию. Обычно
эти параметры не нужно изменять.
В качестве значения поля Имя базы данных нам нужно ввести имя создан-
ной нами ранее базы данных — JoomlaDBMain.
Почти все готово для создания таблиц Joomla!. Но не спешите нажимать
кнопку Далее. Нажмите кнопку Расширенные настройки. Вы увидите до-
полнительные опции, позволяющие удалить уже существующие таблицы (ес-
ли Joomla! была ранее кем-то установлена) или создать их резервную копию,
а также выбрать префикс для таблиц Joomla!. Как показано на рис. 2.22, была
выбрана опция Создавать резервную копию старых таблиц, чтобы сохра-
нить имеющиеся в них данные.
Основные установки
Тип базы данных
mysql
Название хоста
localhost
Эти Обычно 'трузоГ.
ЭТО О&Н'НО
Имя пользователя
dkwsorgu_den
Пароль
Имя базы данных
dkwsorgu_shop
Ваедяга ттг^льз е^телябД выданное -г- ~ъром. Ja локалы-он сервера
обычка исголь зеется учетная запись 'root без пароля
f
/&я безопасное ти сайта рекомендуется мс'клпзоеать галсль для
account
Некоторые госты разрешают устанавлнеать топыт ограниченное кол-во баз
данныу.. Используете префикс в ген случае, когда необхадмно различат*,
таблицыразнь!х сайтов построенных на Jocrrta.
Расширенные установки
Удалить существующие таблицы
Создавать резервную копию старых Любой сушеструндций бзкал таблиц о т предыдущей
таблиц установки будет з *снен
Префикс таблиц
Не используйте оя7_' съскоъькуолфнменяетге/ри
резервном ко>»фаоаннн таблиц
Рис. 2.22 Расширенные установки
Примечание переводчика______________________________________________
Используя манипуляции с префиксом таблиц, вы можете защитить ваш сайт от
атак вида "SQL-инъекция" или же установить несколько копий Joomla! в одну
базу данных.
Начнем с атак. Атакующий подразумевает, что используется префикс jos_ (по
умолчанию) и будет использовать его в своих запросах. Если же мы изменим
имя префикса (его будем знать только мы), то все его запросы не будут выпол-
нены, следовательно, взломать сайт не получится.
Если у вас всего одна база данных (некоторые хостинг-провайдеры не разре-
шают создавать более одной БД), тогда вы можете установить две и более ко-
46
Гпава 2
пии Joomla! в одну базу данных. Но чтобы данные таблиц не перемешались,
установите разные префиксы таблиц для разных копий Joomla!, например,
jos1_ — для первой и jos2_ — для второй.
Конфигурация FTP
Страница конфигурации FTP (File Transfer Protocol) может появиться
(рис. 2.23), а может и не появиться — это зависит от настроек вашего хос-
тинг-провайдера. Если вы установите параметры FTP. то Joomla! сможет ав-
томатизировать операции, связанные с файловой системой сервера, напри-
мер, автоматическую загрузку и установку шаблона. Сейчас можете не изме-
нять параметры FTP— вы всегда сможете это сделать с помощью панели
управления Joomla1
Шаги Конфигурация FTP tla ад Ддлео
1: Bwrtnp язька
Конфигурация FTP-
>: Начальная проводка
Да
Вкпоччть FTP-кгпеггт
• нет
FTP лояьэоввтвгй.
FTP гнюогь
Путь к корню FTP
Автоп.т. к рут» FTP Проа, рин» установки FTP
• Распространяется по лченэ** (ЭД/GPt
Рис. 2 23 Конфигурация FTP
Основная конфигурация
После очередного нажатия кнопки Далее вы перейдете к странице Главна»
конфигурация (рис. 2.24). Здесь вы можете указать названия вашего сайта
адрес электронной почты администратора и его пароль. Joomla! автоматиче-
ски сгенерирует для вас пароль. Если он вас не устраивает, вы можете ввести
свой пароль в поля Пароль администратора и Подтверждение пароля.
Вы можете указать свой основной электронный адрес, но учтите, что он бу-
дет доступен каждому желающему, и этим непременно воспользуются спам-
Быстрый старт, построй свой сайт на базе Joomla! за 20 минут
47
меры. Спаммеры запускают программы, сканирующие Web-узлы на предмет
адресов электронной почты, и вы автоматически попадете в их список рас-
сылки.
Вы можете установить демо-данные, которые помогут вам познакомиться с
Joomla! поближе. Если вы до этого никогда не работали с Joomla!, настоя-
тельно рекомендуется нажать кнопку Установить демо-данные (рис. 2.25).
Главная конфигурация
Ддлес
Наяванпе сапта:
Введите название вашего сайта.
Название сайта Joomla JurnpStart
E-mail и пароль администратора.
Введите е mail адрес. Это будет e-mai адрес супер администратора сайта.
Ниже вы видите пароль. ► торыи был сгенер• ромн автоматически и
предлагается вам как пэропъ по умолчанию Одна о, вы можете ввести и
.вой вариант по желанию.
ВашЕ-таЙ
Пароль
администратора
Подтверждение пароля
dhsilabs@rnail ги
Рис. 2.24. На странице Главная конфигурация вы можете ввести имя сайта,
электронный адрес администратора и сведения о данных загрузки
Загруака дамо-данных Миграция или Восстаноалани* с рмараной копии
ВАЖНОЙ!
Нечинаньцим рекомендуется установить дено-д»»ые'1
Орип«ап**м скрип ]nywrr Н»1) содержит демо дегаие на англиюгом
языке Есгы вы хотите установить агмхжанныв дено-даняме на
русской языке, то выберите гтунст м2 и установите ды-м из
специального скрипа
Перед т»<, как закомчпь установку. вы можете загрузить деио-д**жяе
пежа/ъньы SQC-файл с покагизоваными грняарвы пли восстановить
старые даные из реэеры-юй когьы
Возможна загрузка из архиве* 2х> мгм Tar+GZ
Грефжс apnea и лрефкС «Нхоигтта долгам совпадать
I. Установить демо-данные Для зтого выберите передо огцно и
нагатте кногку сУстансвчтъ дено-ллн«>е>.
Z. Вайя еф-скрылта. соеместиьжхо с ЭоопЫа! 1 5, может быть
загружен с локальной нац**ы и выпогнен на сайте Вы можете
испогьзовать эту crxtno для уствюеки локалоовагных дано-дань» или
: ствювлетжчя резервгых данное Скрип должен содержать лраеитхъй
лрефисС змвн таблщ должен тлеть кодировку UTF-S и должен
соответствовать схеме базы данное Joomia' 1 5
Мак симачакяй размер
*»тра«м*теа?с»р»т?лал«ген быть гам**ндстдр<мгс’*Ь’ед«>*«« с
лсиои/мч? /жкту/яв'тгд com_m)grator тшрру'ету^. Введите греф/кс
та&ак старого сайта и введите кодгроатгу, нстыыоваегтую на старом
сайте (си. значетета_15Ов чзьноаон файле нем через метео браузера
аЛ> епсоЛпд/мхасе)
СжреегглолУбнбатть в коагроаме итт^бяиметъ соотретоующай
грефгкс табтви. Сарзпт с лотеаггаооателетп датами таюднтся в
пагке/iMtaKation language/ru-KU файлsarrpfe_data-t^zip
На вашей сервере макоыалыыЛ раз»вр загружаемого файла 2 ООК
Кодировка старого сайта
X /рация контента с г. t : дыдуция вероы Третья егция
поддерживает нирацно дамке БД старых версий на мзвьй сайт Jooniai
1 5 ребугаяе преобразованы еыхитваотся 'на-пат/ Файл скрипа
может быть создан автоматически на старой сайте с помошыо котснента
'сосдггжуЖог' игм вру-атую сот ласно сладуюшнч тструкцижч
Возможность загружи файла поддерживает несжатые *с#-фаЛы,
запакованное файгаи В форматах ар или gz Эапакованжие файлы могут
содержать только од»ы «>файл.
Вы загрузили ичжпт гьгращы на сервер натр по FTPJ5CP)
Это скхжпт гьграцгме JoonJa1 1 О
ЙЯ0ШММЯ01
X Чистая ус тамоака еспз вы не отите ввести депо даняяе
нитрировать детые о старого сута му загрузить дагаие из б)капа, а
Рис. 2.25. Новичкам рекомендуется нажать кнопку Установить демо-данные
После их установки название кнопки изменится на Демо-данные успешно
установлены, а ваши таблицы будут заполнены первыми статьями. Конечно,
после того как научитесь работать в Joomla!, вы всегда сможете их удалить.
48
Гпава 2
Если при установке демо-данных вы получите сообщение об ошибке, нажми-
те кнопку Назад и проверьте параметры MySQL— скорее всего, причина
в них.
Совет
Существует старый добрый акроним KISS, что означает Keep it Super Simple (не
нужно усложнять!). Он очень помогает в данной ситуации. Joomla! — довольно
сложная и отлаженная система. Поэтому если возникла проблема с MySQL, то
нужно не анализировать ее код, а пойти по пути наименьшего сопротивления —
проверить параметры доступа к MySQL. Причина проблемы почти всегда в них.
а не в Joomla!.
Нажмите кнопку Далее, и вы увидите экран, оповещающий об успешной
установке Joomla! (рис. 2.26). Поздравляю! Вы только что установили
Joomla!.
Внимание!__________________
Старые версии Joomla! отказывались работать, если вы не удалите каталог
installation с Web-сервера. Новые версии допускают работу с этим каталогом, но
будьте очень осторожны. Если кто-нибудь запустит мастер установки из этого
каталога, вся ваша база данных будет уничтожена! Поэтому весьма желатель-
но удалить этот каталог немедленно!
Изменение параметров Joomla!
Наверное, сразу после установки Joomla! вы захотите увидеть, как она выгля-
дит. Откройте Web-браузер и посетите ваш сайт. Вы увидите страницу, по-
Быстрый старт: построй свой сайт на базе Joomla! за 20 минут
49
добную изображенной на рис. 2.27. Чтобы вам было проще ориентироваться,
некоторые элементы интерфейса Joomla! на рис. 2.27 подписаны.
Главное меню Логотип Дополнительное меню
Модуль Newsflash
— Popular
Latest News
S fefcome to the Frontpage
<, ne to • “lai
। titdrC ia А Пел frTi aystemtXqnedfo* quK'My
eathiji Ьйт.'к1гип1иЖЫи»#1Ыйе Website* w* i*r*»i м touts nerfw(>waK.Ыиуз
nJ »Cimiu wice apptkatktm
Polls
Модуль Latest News
Joomla'
Jcomiai orovides an ea
a «ipliflko Bife manjyvi-
u adbvorgan,utu -Л.
and Edranets and i » p»
I efrul
vi «in
t~ Л on-rrerr,
K* • '’MtЖ4
МоПМАЬ.-
Vet* | 1 Re»u - |
Who's Online
Модуль вывода популярных
статей - Popular
Модуль опросов
i f»-« -Pul wBb.e. njr» .
Рис. 2.27. Сразу после установки
Примечание переводчика_______________________________________________
В дистрибутив входят только файлы русификации мастера установки, а файлы
русификации пользовательского интерфейса и панели управления нужно уста-
навливать отдельно. Именно поэтому интерфейс пользователя на рис. 2.27
англоязычный! С сайта www.seo-joomla.net можно скачать уже локализиро-
ванную версию Joomla!, но понимаю, что для вас этот вариант не приемлем,
потому что вы только что установили Joomla! с сайта www.joomla.org. Поэтому
я скопировал языковые файлы из архива seo-joomla-1-5.1RE.zip и запаковал их
в архив joomla15-ru.zip, который доступен по адресу http://www.dkwsorg.ua
/index php?page=show&file=downloads Распакуйте этот файл. В нем вы уви-
дите два каталога: administrator и language. Закачайте эти каталоги на свой сайт
с помощью FileZilla (или любого другого FTP-клиента). Далее зайдите в панель
управления сайтом:
http.//eaiu_caum/administrator/
В форме входа укажите имя пользователя admin, пароль, который вы указали
при регистрации, и выберите русский язык. Затем зайдите в раздел Языки, вы-
50
Глава 2
берите русский язык и нажмите кнопку По умолчанию (она будет в правом
верхнем углу экрана).
Все последующие иллюстрации будут приведены на примере локализирован-
ной версии.
В следующем разделе мы поговорим об изменении интерфейса Joomla!, т. е.
об изменении каждого элемента пользовательского интерфейса. Зная базовые
элементы страницы Joomla!, вы можете приступить к модификации своего
сайта. Управление сайтом осуществляется с помощью Web-интерфейса пане-
ли управления.
Примечание
Если у вас возникли проблемы с использованием панели управления, убеди-
тесь, что ваш браузер поддерживает JavaScript и выполнение сценариев
JavaScript разрешено. В случае с Internet Explorer сценарии JavaScript разреше-
ны на среднем уровне безопасности Изменить параметры безопасности можно
на вкладке Безопасность окна Свойства обозревателя (Сервис | Свойства
обозревателя)
Создание новой статьи
Текст— это главный тип контента, которым управляют CMS вроде Joomla!.
Хотя CMS может управлять и другими видами контента, например, картин-
ками, статическими HTML-страницами, мультимедиафайлами, текст— глав-
ный для большинства Web-сайтов. В этом разделе мы научимся добавлять
новые статьи на ваш сайт.
Сейчас мы добавим статью от имени администратора сайта. Администратор
может предоставить права зарегистрированным пользователям добавлять
статьи и другие виды контента. В последующих главах мы поговорим о пре-
доставлении прав удаленным автором. После добавления статьи удаленным
автором (пользователем сайта) она должна быть одобрена администратором
или модератором сайта.
Первым делом вам нужно зарегистрироваться в панели управления сайтом.
Для этого в адресной строке браузера введите следующий URL:
http://nam_caHT/administrator/index.php
Вы увидите страницу управления сайтом, подобную изображенной на
рис. 2.28. Я рекомендую добавить эту страницу в закладки браузера — так вы
сможете быстро ее открыть.
Введите имя пользователя и пароль. Поскольку это ваш первый вход в панель
управления и вы еще не успели создать дополнительных пользователей, в
качестве имени пользователя можете использовать имя admin. Пароль вы
указали при установке Joomla! — его и нужно ввести здесь Если вы ввели
Быстрый старт: построй свой сайт на базе Joomlal за 20 минут 51
правильные имя пользователя и пароль, то увидите интерфейс администрато-
ра — панель управления. Панель управления содержит кнопки, используемые
для быстрого доступа к тем или иным функциям интерфейса администратора.
Если интерфейс администратора кажется вам немного сложным, не волнуй-
тесь (рис. 2.29). Очень скоро вы привыкните к нему, поэтому его использова-
ние не будет вызывать у вас дискомфорта. Для добавления новой статьи на-
жмите кнопку Добавить материал (она находится в левом верхнем углу).
Joomla! отобразит страницу редактора, обладающего превосходным
WYSIWYG-интерфейсом.
Чтобы создать новую статью, вы должны указать ее заголовок, выбрать раз-
дел и категорию и, конечно же, ввести текст страницы. На рис. 2.30 я создал
простую статью и установил ее основные параметры.
Заголовок статьи появится в карте сайта, поэтому он должен быть информа-
тивным, но в то же время не слишком длинным. Раскрывающиеся списки
Раздел и Категория используются для управления контентом. Более подроб-
но об управлении контентом мы поговорим в главе 4, а сейчас в качестве раз-
дела выберите News, а в качестве категории — Latest
Текст статьи можно ввести любой, я ввел вот такой текст:
Joomla — простейший способ создать свой сайт! Не нужно бояться Joomla:
она настолько проста, что с ней мог бы разобраться даже пещерный человек!
<— не забывайте использовать смайлики на своих страницах!
52
Гпава 2
Joornlor Joomla JumpStart
Версия <1.5.0
Сант Все менн Материалы Компоненты Расширения Инструменты Поыыць
FS Просмотр О Яб 1 О’ Выйти
•' Welcome to Joomla!
Об «уте
НЭС’р*-—•
Congratulations on choosing Joomial es your cordert management
system We hope you are able to create a successful Web site with
our program and maybe you wi be abto Io give somethrig back to the
community later
To make yoir start with Joomte* as smooth as pcsstke we wart to
gv<- you some porters Io docunertetton. common questions and help
on securing your server A good place to start is the "Absokie
Beginners Guide to JoomtaT
For yoir most common questions the best place to start tookng (or
answers is the Fraquertty Asked Questions (FAQ) area If you are
stuck on a parficikar screen in the Admostretion erea of Joornto!
(which ts where you are now), then try clicking on the Help lootoar
button which you wi find on aknost al screens This wi lake you to a
page about that screen on our Help Sle if you sti have questions then
take a look on our forum which is most icely the biggest resource on
Joomiai there is and you wi find aknost every question ant wared at
least once, so please try usng the search function before asking your
question
Security is a big concern for us, which Is why we would Hee you to
subscribe to the amouncemert forum (by clicking on the Notify button)
to dways get the latest information on new releases for JoomW You
should also read the JoomW Administrator s Security Checklist and
regularly check the secuty forum___________________________________
Рис. 2.29. Панель управления Joomla1
Рис. 2.30. Введите название и текст статьи, выберите раздел и категорию
Быстрый старг построй свой сайт на базе Joomla! за 20 минут
53
После ввода текста можно приступить к его форматированию. С помощью
кнопки Bold |В I я изменил начертание шрифта, сделав его жирным. Анало-
гично можно использовать другие кнопки форматирования текста.
Затем я установил курсор перед символами <— и нажал кнопку Emotions С ,
чтобы добавить новый смайлик.
Цель этой простой демонстрации — показать, как Joomla! позволяет управ-
лять сайтом пользователям без специальных технических знаний.
Когда статья будет готова, вы можете установить ее некоторые параметры
вроде псевдонима заголовка, псевдонима автора (см. правую часть окна ре-
дактора). Все эти дополнительные параметры необязательны, и вы можете их
не указывать.
Хотя один параметр вы все же наверняка захотите изменить — это дата пуб-
ликации (поле Опубликовано). Вы можете установить любую дату публика-
ции. Для изменения даты щелкните на пиктограмме календаря возле поля
Опубликовано, появится календарь: с его помощью выбирать дату намного
удобнее.
Примечание
Когда вы будете просматривать статьи с помощью Менеджера материалов, то
увидите, что для статей, которые добавлены в базу, но еще не опубликованы,
используется другая пиктограмма статуса — желтый восклицательный знак на
фоне статьи.
Перед сохранением статьи и ее публикацией вернитесь к области редактора,
где вы вводили название статьи. Здесь вы найдете параметр На главной. Ес-
ли вы выберете значение Да, то созданная вами статья будет опубликована на
главной странице сайта. На главной странице можно разместить статью, при-
надлежащую любому разделу и любой категории. Статья, опубликованная на
главной странице, будет показана как на главной странице сайта, так и в вы-
бранном вами разделе (категории).
Нажмите кнопку Сохранить. Статья будет сохранена, а вы вернетесь в па-
нель управления Joomla!. После того как статья будет успешно сохранена,
Менеджер материалов Joomla! сообщит вам об этом (рис. 2.31). В оставшейся
части окна Менеджера материалов будет представлен список уже созданных
статей. Возможно, вы сразу и не найдете только что созданную статью. Из
раскрывающегося списка Выберите раздел выберите News. Таблица статей
будет отфильтрована, и вы увидите только статьи из выбранного раздела.
Поздравляю! Вы только что опубликовали первую статью! Перейдите в окно
браузера, отображающее главную страницу сайта, и нажмите кнопку Обно-
вить. Если вы разрешили публикацию статьи на главной странице сайта, то
сейчас ее увидите (рис. 2.32).
54
Глава 2
Рис. 2.31. Созданная нами статья сохранена в базе данных
Ноте
Latest News
Popular
• Home
• Joomla! Overview
• Joomla! License
• Moi о about Joomla!
• FAO
• The New
• Web Links
• News Feeds
• Joomla Jumpstartedl
• Content Layouts
• The Joomlai Community
• Welcome to Joomlai
• Newsflash 4
• Joomlai Overview
• Extensions
• Joomlai License Guidelines
• Welcome to Joomla'
• What’s New In 1 5?
ЛМОШСМ
Welcome to the Frontpage
Joomla Jumpstartedl
* mu
М-’п Menu
• Joomla! Home
• Joomla! Foili ns
• Joomla! Help
• OSMHoine
• Ad ninisrinto<
60200? 10 40
Joomla простейший способ создать свой сайт! Не нужно бояться Joomla она настолько
проста, что с ней мог бы разобраться даже пещерный человек!
w «-• не забывайте использовать смайлики на своих страницах!
Рис. 2.32. Созданная статья на главной странице сайта
Быстрый старт, построй свой сайт на базе Joomlal за 20 минут
55
Как видите, добавить новый материал в Joomla! совсем просто. Обратите
внимание, что заголовок и текст статьи отформатированы в соответствии с
общим стилем сайта— как и остальные статьи. Кроме этого, отображается
пользовательское форматирование и вставленный смайлик.
Редактирование главного меню
Существуют четыре основных вида меню: верхнее или горизонтальное меню
(topMenu), главное или вертикальное меню (mainmenu), прочее меню
(othermenu) и пользовательское меню (usermenu).
Верхнее меню расположено в верхней части страницы. Главное меню появ-
ляется слева и содержит большую часть опций. Другое меню появляется в
левой нижней части экрана и обычно содержит ссылки на другие Web-сайты
(Joomla! Home, Joomla! Forums, OCM Home и др.). Пользовательское меню
не отображается до тех пор, пока пользователь не зарегистрируется на сайте
и не войдет в систему. Это меню содержит ссылки редактирования профиля
пользователя, ссылку выхода из системы и др.
Для редактирования меню используется Менеджер меню. Вернитесь на глав-
ную страницу панели управления (Сайт | Панель управления) и нажмите
кнопку Меню (рис. 2.33).
Менеджер меню отобразит таблицу всех имеющихся в данный момент меню
сайта. По умолчанию установлено шесть меню сайта. Справа от названия ме-
ню отображается тип этого меню.
Перейдите по ссылке Main Menu, чтобы отредактировать главное меню сай-
та (рис. 2.34). Вы можете изменить заголовок меню1 и описание меню. Изме-
ните название Main Menu на Joomla Jumpstart Menu и нажмите кнопку Со-
хранить.
После столбца Тип меню расположен столбец Элементы меню. Щелкните
на значке, расположенном напротив меню Joomla Jumpstart Menu, из
столбца Элементы меню. Вы увидите все пункты меню. Эти же пункты ме-
ню отображаются на главной странице сайта (рис. 2.35).
Конечно, все эти элементы меню вам не нужны, поскольку они относятся к
установке Joomla!, а не к вашему сайту. Как примерный администратор, вы
не станете их удалять, поскольку еще не завершили планирование своего сай-
та. Однако вы можете скрыть эти пункты меню, чтобы они больше не ото-
бражались в главном меню. Для сокрытия того или иного пункта меню нужно
щелкнуть на зеленой галочке, стоящей напротив пункта меню в столбце
Публикация.
1 Нешохо было бы его русифицировать. — Пер.
56
Гпава 2
'^Joomla! Joomla Jumpstart
Сайт Все меню Материалы Компоненты Расширения Ннструм
Добавить
материал
Все материалы
Главная
страница
Категории
Медиа
менеджер
Языки
Пользователи
Общле
настройки
Рис. 2.33. Пиктограмма Менеджера меню
Рис. 2.34. Редактор меню
Быстрый старт: построй свой сайт на базе Joomla! за 20 минут
57
Рис. 2.35. Элементы меню
Можно смело скрыть следующие пункты меню:
♦ Joomla! Overview;
♦ What's New in 1.5?;
♦ Joomla! License;
♦ More about Joomla!;
♦ FAQ.
Скрытые пункты меню будут помечены красным крестиком в столбце Пуб-
ликация, в то время как отображаемые пункты меню будут отмечены зеле-
ной галочкой (рис. 2.36).
Совет
Создание меню — довольно сложная и ответственная задача. "Скромные" ме-
ню препятствуют нормальной навигации, поскольку содержат не все необходи-
мые элементы. Поэтому большинство Web-дизайнеров планирует меню в са-
мом начале разработки сайта, разделяя элементы меню на отдельные области.
Joomla! делает администрирование меню настолько удобным, что вы. можете
изменять меню хоть несколько раз в день.
58
Глава 2
Рис. 2.36. Скрытые элементы меню помечены символом "красный крестик’ 0
Удаление модулей
Страница Joomlal-сайта разделена на отдельные независимые области, назы-
ваемые модулями. Например, область Poll (опросы), представленная на
рис. 2.32, — это отдельный модуль Polls. Области Latest News и Popular —
тоже модули, отображающие, соответственно, последние новости и наиболее
популярный контент.
Рис. 2.37. Сокрытие модулей Latest Nbws и Popular
Быстрый старт: построй свой сайт на базе Joomla! за 20 минут
59
Сейчас модули Latest News и Popular только загромождают главную стра-
ничку нашего сайта, поэтому давайте их спрячем. Выберите команду панели
управления Расширения | Менеджер модулей. Вы увидите Менеджер моду-
лей, отображающий список установленных в данный момент модулей. Для
сокрытия того или иного модуля щелкните на соответствующей ему зеленой
галочке в столбце Включен. После выключения модуля зеленая галочка бу-
дет заменена красным крестиком (рис. 2.37).
Если вы обновите окно браузера, отображающее главную страницу вашего
сайта, то заметите, что модули Latest News и Popular исчезли с главной
страницы (рис. 2.38).
Joomla!"
jo ГПШ rrMkvs 1 мьу io l*un h a Wen ? la or any Wid Wlwttiu you want a uro hure site or wu are и u ng a large
on] re community. Joomlai aflows you to deploy a new site in m nutes and add extra turn. ana rtyas you need it Th»
tiu dreotr cl available Extents will help tu expand your cite end allow you to <J« ire new eervicee th al. Me J jr x
reach mln the .rftemit
Afoul JeottAM Imwii News TfoCw.mrery
Home
Rewwtt»
Home
• Jow Mfwu is
• Joomlai He*
• OSMHcmiw
AdniiMStt >it<s
Welcome to the Frontpage
Joomla Jumpstartedl
Jo« простей^ й способ создать свой umti He нужно Веяться Joomla она ^столько
проста, что с ней мог Бы разобраться даже пещерный чело ек!
не забывайте использовать смай'.ти на сюит стран, цаи
Polis
Joonria-'Ki »e ii<x?
0 Com - .«w Jtes
0 Public Brand Bites
0 eComm<ce
Q Blogs
Q Intranets
0 Photo and м dia Sites
0 wi orthe Above'
Welcome to Joomlel
йн oJ We аг0 Vo^jnteers
Рис. 2.38. Модули Latest News и Popular скрыты
Сокрытие всего меню
С помощью Менеджера меню вы можете скрыть целые меню, а не только от-
дельные элементы меню. Каждое меню в Joomla! использует связанный с ним
модуль, который отвечает за отображение меню на странице. Если вы спря-
чете модуль, ассоциированный с меню, меню не будет отображаться на сайте.
Сейчас мы попытаемся спрятать меню Key Concepts и Resources, отобра-
жающиеся ниже главного меню сайта: они нам просто не нужны. Для сокры-
тия этих пунктов меню зайдите в Менеджер модулей и щелкните на соответ-
ствующих этим пунктам зеленым галочкам в столбце Включен (рис. 2.39).
Вернитесь в окно браузера, в котором отображается ваш сайт, и обновите
страницу. Скрытые меню исчезнут из поля зрения (рис. 2.40).
60
Гпава 2
Home
M.rMenu
Welcome to the Frontpage
Home
Ни* Mews
Web Links
News Feeds
Joomla Jumpstarted I
стейший способ создать свой сайт! Не нужно бояться Jo or
IpbcTa. что с ней мог бы разобраться даже пещерный человек!
Login Form
не забывайте использовать смайлики на своих страница*'
Имя пользователя
Пароль
Запомнить меня 71
[ Логин ]
Welcome to Joomlai
We are Volunteer
J J
• лбь ли riapi . ?
• “ бь in Л1 ин
• _ логист-ир-итесь
Jooniki* is afr^e open soincefr*niGwoik ami
content imb.ishrng system designed fm
quickly ci eating highly inlet active mi th-
ianijiMge Web sites, online communities,
media poitals, blogs anti eCommeice
The Joomlai Core Tear
developer deserters,
managers wtra, togeths
Work Grot; of dedical
rnLTibe sha ° taken Ji
Рис. 2.40. Меню Key Concepts и Resources больше не отображаются
Теперь, когда вы избавились от ненужных элементов сайта, настало время
изменения оставшихся элементов, чтобы сайт стал действительно вашим
Один из главных признаков Web-сайта — это его логотип. О том. как изме-
нить логотип сайта, мы поговорим в следующем разделе.
Быстрый старт: построй свой сайт на базе Joomla! за 20 минут
61
Изменение логотипа сайта
Можно сказать, что логотип — это лицо вашего сайта. Логотип особенно ва-
жен, если вы планируете заниматься коммерцией в Интернете. В этом разде-
ле мы заменим стандартный логотип Joomla! собственным логотипом.
Ранее вы распаковали файлы Joomla! на жесткий диск. На базе имеющегося
логотипа мы создадим собственный логотип сайта. Сейчас для изменения
логотипа мы будем использовать простой графический редактор Paint, вхо-
дящий в состав Windows ХР (Пуск | Все программы | Стандартные | Paint).
В последующих главах мы будем использовать программы Adobe Photoshop и
GIMP для создания более эффектного логотипа.
Запустите Paint и выполните команду меню Файл | Открыть. Перейдите в
каталог, в который вы распаковали файлы Joomla!. Файл логотипа называется
mwjoomla. logo.png и хранится в подкаталоге images текущего шаблона.
Путь к файлу будет выглядеть примерно так:
C:\Joomlal_5install\templates\rhuk_milkyway\images\mw_joomla_logo.png.
На рис. 2.41 изображен редактор Paint с загруженным логотипом Joomla!.
Рис. 2.41. Логотип Joomla1 в редакторе Paint
Приступим к созданию логотипа. Первым делом очистим существующий ри-
сунок с помощью команды Рисунок | Очистить. Теперь у вас есть "болван-
62
Гпава 2
ка", необходимая для создания логотипа. Осталось только его создать. Что
рисовать? Да все, что захотите!
Вот что сделал я. Сначала я выбрал темно-синий цвет фона. Затем с помощью
инструмента Заливка заполнил этим цветом весь рисунок. После я выбрал
светло-голубой цвет и с помощью инструмента Распылитель создал некое
подобие текстуры.
Перед добавлением текста я выключил режим Рисунок | Непрозрачный
фон, чтобы текст был нанесен на только что созданный фон Потом я добавил
текст "Joomla Jumpstart", а после немного изменил гарнитуру и размер шриф-
та, чтобы надпись выглядела привлекательно.
Когда все будет готово (рис. 2.42), выполните команду меню Файл | Сохра-
нить как и сохраните получившийся файл под именем mw_joomlajumpstart_
logo.png.
Рис. 2.42. Создайте новый логотип и сохраните его в каталог \images
Теперь у нас есть логотип нашего сайта, причем наш логотип не отличается
по своим размерам (ширине и высоте) от оригинального логотипа, что не на-
рушит существующего дизайна сайта.
Теперь нам нужно загрузить только что созданный логотип на сервер, чтобы
Joomla! могла его использовать. Запустите ваш FTP-клиент и соединитесь с
FTP-сервером. Вам нужно перейти в удаленный подкаталог images (находит-
ся на FTP-сервер) и загрузить в него созданный вами файл (рис. 2.43).
Быстрый старт: построй свой сайт на базе Joomla! за 20 минут
63
Хост: | /dom&ns/dkws.erg.ua/pubic_htmV oomla/template rhuk a ges/
«За logs
s3j media
1Д5 modules
pkjgns
Э lui) templates
ЙЬЬеег
Ы О rhukjrikyway
ibess
ЙЬ html
Us О Images
Имя файла / Размер Тип Последнее из...
$|mw_header.jpg 10595 ACDSee 7.... 17.03.2008 19:...
igmw_header_b.png 239 ACDSee 7.... 17.03.2008 19:...
ПЙти_ЬеаФег_1_Ь png 236 ACD5ee7.... 17.03.2008 19:...
©mw_header_r_b png 243 ACD5ee7.... 17.03.2008 19:...
ISSmwJcr^aJcy.png 6021 ACD5ee7.... 17.03.2008 19:...
tgfimwjine_g ey.png
ШЕ mw_mef4i_cap J. png
4^mw_rnenu_cdp_r .png
ЙЩ mw_menu_norma1_bg.png
mw_menu_$eparator .png
"iw_readon.png
uH| iw_readon_rtl.png
ЙДЬплгег.пш______________
4 230 ACDSee?.
207 ACDSee 7... 17.03.2008 19;
384 ACDSee 7... 17.03.2008 19:
709 ACDSee 7... 17.03.2008 19:
273 lACDSee 7.0 PNG Image |р08 19:
225 ACDSee 7... 17.03.2008 19:
307 ACDSee 7... 17.03.2008 19:
301 ACDSee 7... 17.03.2008 19:
218 ACDSee 7... - 17.03.2008 19:
Рис. 2.43. Новый логотип успешно загружен на сервер
Чтобы Joomla! использовала наш логотип, нужно изменить таблицу стилей,
связав ее с новой картинкой.
Внимание!_________________________________________________________
Поскольку наш сервер работает под управлением Linux, имена файлов чувст-
вительные к регистру. Например, если Paint сохранил файл под именем
mwJoomlajumpstart-Jogo.PNG, а вы в template.css укажете имя файла
mwjoomlajumpstartjogo.png, то ваша картинка не будет отображена! Перед
тем как прописывать имя файла в таблице стилей, проверьте регистр символов
и, если нужно, переименуйте файл на сервере.
Выберите команду меню панели управления Расширения | Менеджер шаб-
лонов. Затем из списка шаблонов выберите шаблон по умолчанию и нажмите
кнопку Правка (рис. 2.44).
Вы увидите параметры шаблона, но нам они не интересны. Нам нужно отре-
дактировать CSS-файл шаблона, поэтому нажмите кнопку Редактировать
CSS (рис. 2.45).
Примечание переводчика____________________________________________
Чтобы у вас не было проблем с редактированием шаблонов с помощью встро-
енного редактора шаблонов, вам нужно установить права доступа 777 для ка-
талога /templates/rhuk_milkyway и всех его подкаталогов. Для всех файлов из
этих каталогов нужно установить права доступа 666.
64
Гпава 2
Рис. 2.44. Выберите шаблон по умолчанию и нажмите кнопку Правка
Нам нужно отредактировать файл template.css. Выделите его и нажмите
кнопку Правка (рис. 2.46).
Вы увидите содержимое CSS-файла template.css. В следующих главах мы
подробно поговорим об использовании CSS-редактора, а сейчас нам нужно
найти CSS-элемент с именем div#logo. Пролистайте текст файла стилей, пока
не найдете этот элемент. Нам нужно изменить его атрибут background, указав
имя нашего файла логотипа (рис. 2.47).
После этого Joomla! будет использовать указанный нами файл. Поскольку мы
создавали его на базе стандартного логотипа, размеры картинки не изменены,
поэтому больше ничего не нужно редактировать. Если же вы создали логотип
с нуля, тогда вам нужно изменить параметры width и height, указав, соответ-
ственно, ширину и высоту картинки в пикселах.
Рис. 2.46. Выделите файл template css и нажмите кнопку Правка
home dkwsorgu Нота ns dkwe.org ид public JrtniHoomiatemplate.cse
overflow: hidden;
text-align: left;
I
divflogo {
position: absolute;
left: 0; J
top: 0; J
float: left; f
width: 298px;
height: 7Spx; r
background: url(../images/mw joomlajunpstart] logo.png) 0 0 no-repeat;
margin-left: 3Clpx;
margin-top: ZSpx;
}
divfnewsflash {
width: auto;
margin-left: 35Qpx;
mar gin-right: 3Qpx;
border: Ipx solid JOCIf;
Рис. 2.47. Изменение имени файла-логотипа
3 Зак 468
66
Гпава 2
Нажмите кнопку Сохранить, после чего перейдите в другое окно браузера
(где уже открыт ваш сайт) и нажмите кнопку Обновить. Вы увидите новый
логотип (рис. 2.48).
The one thing about a wee «ns it arrays changes'Joomiat makes iteasytoaddArtKiss.content. ma,at. videos
and more Site a rrwtislMoracan a ha dm«na_a co«Mftin>c rteri by -rg the Г-tf Ink iMOmssara can
also edit content th ughagra. . i , that в -.lew r . । c
Joomla Jumpstart
Wei- '-»ine to Joorr i!
We a e u rrteer.
Залем тгъ ы. ня П
[ Логан]
Polls
Community iws
’•g#
-*inei3
- w and Me-a Sites
Al o! the Above'
Голо ооагь'-]
| Результаты j
«и»
JuoiiUa.' it л f1«« «pen *<xec«# fl лтецииfc нн<1
сотам*, d*tymgsysifri ><№ liatMlfor
qukXty с.|«<впл iMOldy !H№wt1fv* inuhi
ianytkigo Wel> eH«s. u iImm сотпнинЪе*,
i №U)a (to 1 H*. blogs ami of w wneice
The -m з не Те
•avalop de g
•.na.« >wn .
Wo к roup
•aiurte
nd
n mty
Who's Online
гйча ।
Advertisement
JMnda* It ik*I f м t
eC.
Рис. 2.48. Новый логотип установлен
Изменение текста Newsflash
Мы только что установили собственный логотип сайта, но справа от логотипа
все еще красуется стандартный текст модуля Newsflash. Наш следующий
шаг — это изменение текста, чтобы он соответствовал тематике сайта.
Как мы уже знаем, текст справа от логотипа отображается модулем
Newsflash. Если вы создадите новую статью как контент Newsflash, ваше со-
общение отобразится возле логотипа сайта.
Примечание переводчика
Можно вообще не обращать внимание на Newsflash, а просто отключить его:
присутствие этого модуля на сайте совсем не обязательно.
Находясь в панели управления, нажмите кнопку Добавить материал. Заго-
ловок статьи можно установить абсолютно любой, а вот в качестве раздела
нужно установить News, а в качестве категории — Newsflash (рис. 2.49).
Когда введете текст сообщения, нажмите кнопку Сохранить. Вы вернетесь в
Менеджер материалов. Как обычно, в нем будет очень много статей, поэтому
чтобы найти только что созданную статью, выберите категорию Newsflash из
Быстрый старт: построй свой сайт на базе Joomla! за 20 минут
67
раскрывающегося списка Выберите категорию (рис. 2.50). Менеджер мате-
риалов отобразит только статьи категории Newsflash. По умолчанию при ус-
тановке Joomla! создается пять статей для модуля Newsflash.
Рис. 2.49. Нужно выбрать раздел News и категорию Newsflash
Менеджер *< А © < < ~
Из ap-ива В ар-ив Публикация Скрыть Перенос Копия Корл-
материалов
Фильтр.
« г
I г
2 Г
[ Выполнить д Сброс]
Fyampte Pages arid Мяпи Links
What's New h I 5’
Г -JoornW Ove view
- Выберите раздел - V
- Выберите хатегорию -
На главной
- Выберите категорию -
Cof.4l|, Th, pI0J(!d
ть« cms
The Community
Latest
General
Current Users
New to Joomlai
1 Languages
Веем AtoUt,
.-ooiTiia!
Злголоаяк
ЛубЛ1 КЗШ14
Рис. 2.50. Выберите категорию Newsflash
Сейчас мы скроем статьи, добавленные при установке Joomla!. Вместо того
чтобы щелкать на значке публикации каждой статьи, можно выделить все
ненужные статьи и нажать кнопку Скрыть. Так вы можете скрыть сразу це-
лую группу статей (рис. 2.51).
68
Гпава 2
Рис. 2.51. Выберите группу статей и нажмите кнопку Скрыть
Теперь ваша статья будет одной-единственной в категории Newsflash. Обно-
вите окно браузера, чтобы увидеть введенный вами текст справа от логотипа
(рис. 2.52). Понемногу сайт начинает приобретать "ухоженный" вид.
Joomla Jumpstart
До > пожаловать на ыо'сайг > ь вы найдете ы эинт о
About Joomla!
Реагшев Now* Tlw со ntnuiuiy
Home
Login Form
Имя пользователя
Welcome to the Frontpage
Joomla Jumf jtartpcll
Joomla - пр стнйший способ ст дать свой айт] he жно Corti r Jo ila она
настолько приз*•, <r-' г ней мег бы , Убраться Дажш • щ . -ый человек*
- не забывайте использовать смайлики из своим тоаницах!
Polls
Joonrta* (s useU Гог ?
0 Pl«B
ev • rce
Bio
Intrane
Phntoa J Med
ftl OVF
11а. опь
Рис. 2.52. Теперь Newsflash отображает наш текст*
Создание своего опроса (голосования)
Опрос по умолчанию наверняка не соответствует тематике вашего сайта. На-
стало время создать собственный опрос. Выберите команду меню панели
Быстрый старг построй свой сайт на базе Joomla1 за 20 минут
69
управления Компоненты | Голосования. Вы увидите Менеджер голосова-
ний. Нажмите кнопку Новый для создания нового голосования (рис. 2.53).
Рис. 2.53. Нажмите кнопку Новый для создания нового голосования
Для своего сайта я создал голосование под заголовком "Какую операционную
систему вы используете?". На рис. 2.54 видны заголовок голосования и вари-
анты ответа, которые можно ввести в правой части окна. Создайте любое го-
лосование и нажмите кнопку Сохранить.
< Joomla! Joomla jumpstart
Рис. 2.54. Создание голосования
Вы вернетесь к Менеджеру голосований и увидите только что созданное го-
лосование, но по умолчанию оно не публикуется на сайте. Для публикации
70
Гпава 2
Рис. 2.55. Сокрытие (>^/) и публикация (^) голосований
i Какую операционную систему вы используете?
• Ноте • Hie News • Web Links • News Feeds Выберите голосование Какую операционную систем ’v ({Какие опер, ционнуте систему вы используете? Windows ХР 0 0% | Linux 0 0% | Mac OS 0 0% | Solans 0 0% | FreeBSD 0 0% | AJUX 0 0% | AIX 0 0% | OpenBSD 0 0% | Other
Рис. 2.56. Голосование опубликовано
Быстрый старт: построй свой сайт на базе Joomla! за 20 минут
вашего опроса вам нужно скрыть уже созданный и опубликованный опрос и
опубликовать только что созданный (рис. 2.55).
После публикации голосования вы можете увидеть на сайте (рис. 2.56).
Изменение горизонтального (верхнего) меню
Теперь сайт почти ваш. Постепенно вы заполните сайт своими статьями, но
верхнее меню все еще напоминает о данных по умолчанию.
Примечание переводчика___________________________________
В англоязычной литературе верхнее меню Joomla! часто называют "pill menu",
поскольку кнопки меню напоминают таблетки (pill переводится с английского как
"таблетка").
Внешний вид кнопок меню определяется таблицей стилей (CSS) шаблона.
Мы не будем изменять стиль, но зато изменим сами элементы меню.
Выполните команду меню панели управления Все меню | Top Menu. Щелк-
ните на элементе меню About Joomla. Откроется редактор меню, в котором
нужно изменить заголовок меню на О Joomla Jumpstart (рис. 2.57).
Теперь нам осталось изменить ссылку этого элемента меню. В правой части
окна вы увидите кнопку Выбрать, использующуюся для выбора статьи, ко-
72
Гпава 2
торую будет открывать редактируемый элемент меню. Нажмите ее и выбери-
те созданную нами ранее статью Joomla Jumstarted (рис. 2.58).
Для выбора статьи просто щелкните на ее заголовке. Обратите внимание, что
курсор не изменяет форму при наведении на заголовок, но, тем не менее, если
щелкнуть на заголовке, произойдет выбор статьи.
Joomla Jumpstart
'*>__я-__________
Добро пожаловать на мой сайт’Здесь вы найдете мног
Ноте
Й л Миш
Welcome to the Frontpage
Tire СотпшшТу
• Ноте
• The News
• Web Links
• News Feed’s
Login Form
Имя пользойателя
Only one edit windowi How do I create "Read more ' *
This is now Implemented by Inserting a Read moi e.. tag (the button Is located bel<
the editor area) a dotted line appears in the edited text showing the split locat'nn foi
the Read more A new Plugin takes care of the resl
It is worth menliorurig that thi doe*, not have a negative effect on migrated data froi
older c les The new implementation II fully backward romnatible
Рис. 2.59. Измененное нами верхнее меню
Быстрый старт: построй свой сайт на базе Joomla! за 20 минут 73
Для сохранения изменений в меню нажмите кнопку Сохранить. Теперь об-
новите окно браузера, отображающее главную страницу сайта. Вы увидите,
как изменилось название первой кнопки верхнего меню (рис. 2.59). Если вы
нажмете эту кнопку, Joomla! отобразит статью Joomla Jumstarted.
Резюме
После прочтения этой главы вы знаете, как установить Joomla! и выполнить
ее базовую настройку. Теперь вы умеете добавлять статьи, производить базо-
вые изменения шаблонов сайта, изменять логотип, публиковать и скрывать
статьи, а также создавать собственные голосования.
Как вы уже догадались, мы рассмотрели далеко не все возможности Joomla!,
но примерно за 20 минут вы научились управлять своим сайтом. Вы можете
остановиться и даже не читать дальше— вы знаете достаточно, чтобы соз-
дать свой сайт. Однако надеюсь, вы хотите полностью ощутить всю мощь
Joomla!.
В следующей главе мы подробно рассмотрим процесс установки и настройки
Joomla!. После ее прочтения вы станете квалифицированным пользователем
этой CMS.
ГЛАВА 3
Установка и настройка
В предыдущей главе мы рассмотрели быструю установку и настройку. Если
все прошло успешно, теперь у вас есть свой сайт, поэтому вы с чистой сове-
стью можете пропустить эту главу и перейти к следующей. Однако ее стоит
прочитать, если вы хотите знать все об установке Joomla!. Эти знания помо-
гут вам при более глубоких изменениях системы.
Если же при чтении прошлой главы вы пытались установить Joomla!, но у вас
ничего не получилось, эта глава для вас. В дополнение к подробным инст-
рукциям по установке мы рассмотрим настройку каждого компонента, ис-
пользуемого Joomla! (Apache, Microsoft Internet Information Server, PHP и
MySQL), благодаря чему вы сможете установить Joomla! не только на ком-
мерческий узел, но и на собственный сервер.
Даже если вы планировали установить Joomla! на коммерческий хостинг, на
локальном компьютере гораздо удобнее осуществлять тестирование и разра-
ботку расширений для Joomla!. А вообще настройки, считающиеся лучшими
для тестирования, нельзя применять на целевом узле. Из соображений безо-
пасности, ваша локальная машина прекрасно подойдет для тестирования, но
не для размещения сайта.
Множество программ, используемых Joomlai-сайтом, должно быть правиль-
но сконфигурировано, иначе CMS не будет работать. На рис. 3.1 приведены
две разные схемы организации работы Joomla!. Обе схемы будут рассмотре-
ны в этой главе.
Поскольку для организации работы Joomla! необходимо так много компонен-
тов, иногда довольно сложно определить источник проблемы. В этой главе
будет представлено руководство по решению проблем, возникающих при ра-
боте с Joomla!. С помощью этого руководства вы сможете решить большую
часть возникающих проблем. Даже если мы не сможем решить именно вашу
проблему, данное руководство должно направить вас по правильному пути
76
Гпава 3
Joomla
РНР
Сервер Apache MySQI_|g
Windows/Linux/Mac OS
Joomla
РНР
Windows
Microsoft Internet
Information Server (IIS,
Схема 1
Схема 2
Рис. 3.1. Схемы организации работы Joomla!
Прежде чем приступить к установке, мы рассмотрим организацию Joomla! -
сайта, т. е. структуру каталогов, что поможет вам при дальнейшей настройке.
Обзор файлов и каталогов Joomla!
Система Joomla! насчитывает примерно 3200 файлов: система слишком
большая, чтобы рассматривать отдельно каждый ее файл. Тем не менее, вам
нужно знать структуру каталогов Joomla!, чтобы иметь представление, где
искать файлы, требующие изменений.
На рис. 3.2 представлена базовая структура каталогов и основные файлы, на-
ходящиеся в корневом каталоге Joomla!. На рисунке представлена базовая
система на локальном компьютере. На Wcb-сервере из соображений безопас-
ности после установки системы нужно удалить каталог installation.
Названия каталогов Joomla! тщательно продуманы, поэтому вы сразу можете
догадаться, что находится в том или ином каталоге. Тем не менее, мы все-
таки рассмотрим назначение каждого каталога. Обратите внимание, что ката-
логи, отмеченные звездочкой (*), либо не существовали в предыдущей вер-
сии (до версии 1.5), либо были названы иначе:
♦ корневой каталог— содержит главный файл index.php, запускающий
установку системы после ее загрузки на Web-сервер. Если же index.php
обнаружит наличие файла configuration.php (и нужные параметры в нем),
то будет запущена Joomla!. Если вы хотите установить Joomla! снова, уда-
лите файл configuration.php и запустите index.php1;
♦ administrator — содержит практически зеркало дерева каталогов, посколь-
ку интерфейс администратора — это такой же сайт на базе Joomla!. Ровно
1 Праада, для повторной установки необходимо наличие подкаталога installation. — Пер
Установка и настройка
77
как возможности Joomlal-сайта, возможности интерфейса администратора
могут быть увеличены путем установки соответствующих расширений;
Рис. 3.2. Основные каталоги и файлы Joomla!
♦ cache — в большинстве случаев вы никогда не будете заглядывать в этот
каталог. Он используется системой для кэширования страниц, т. е. для по-
вышения производительности. Здесь Joomla! хранит популярные страни-
цы, которые отправляются в браузер прямо из этого каталога и не требуют
обращения к РНР и MySQL, что повышает производительность;
♦ components— в этом каталоге хранятся компоненты Joomla!. По умолча-
нию Joomla! содержит 11 компонентов, такие как новостная лента, компо-
нент голосований, компонент поиска и т. д. Содержимое компонентов
отображается на сайте с помощью связанных с ними модулей;
♦ images — каталог содержит все картинки, используемые интерфейсом ад-
министратора, а также картинки статей, которые были загружены на сайте
во время их написания. Подкаталог \smilies содержит смайлики, а подка-
талог \stories — картинки, связанные со статьями. Подкаталог \banners со-
держит файлы баннеров;
♦ includes— содержит PHP-файлы, используемые для автоматического
вложения контента. В этом каталоге вы найдете несколько файлов, кото-
рые начинаются строкой "mambo" — это сделано для совместимости с
предыдущими версиями Joomla!;
78
Гпава 3
♦ installation — содержит файлы, необходимые для начальной конфигурации
системы при ее установке. Данный каталог должен быть удален сразу по-
сле установки. Старые версии Joomla! отказывались работать, если этот
каталог существовал. Новые версии работать будут, но удаление этого ка-
талога настоятельно рекомендуется:
♦ language— содержит языковые файлы, используемые для перевода сайта
на другие языки. Языковый файл — это обычный текстовый файл, его
формат напоминает формат известных в мире Windows INI-файлов. Все
файлы сохраняются в кодировке UTF-8 (см. примечание "Кодировка UTF-8"
в разд. "Настройка MySQL" далее в этой главе). Имена подкаталогов, со-
держащих файлы локализации для того или иного языка, стандартизиро-
ваны. Первые две буквы — это код языка (по стандарту ISO-639-2), после
тире следуют еще два символа— код страны (по стандарту 1SO-3166).
Например, локализация для Великобритании будет храниться в каталоге
en-GB';
♦ libraries — содержит основные библиотеки функций, используемые систе-
мой Joomla!. Joomlal-сайт — по сути, это Web-приложения, использующее
библиотеки из этого каталога. Загляните в каталог \libraries\Joomla!, и вы
увидите библиотеки, реализующие различные функции Joomla!, например,
database — функции для работы с базой данных, filesystem — для работы с
файловой системой и т. д. Библиотеки сторонних разработчиков тоже хра-
нятся в каталоге \libraries, точнее, подкаталогах этого каталога;
♦ media — здесь хранятся мультимедиа-файлы;
♦ modules— содержит модули, использующиеся для отображения той или
иной информации. Стандартная инсталляция Joomla! содержит модули
для отображения баннеров, последних новостей, формы входа на сайте,
новостной ленты, голосований, случайных картинок и др. Модули, ровно
как и панели, вызываются из шаблонов Joomla!. Очень часто модули ото-
бражают информацию, возвращаемую тем или иным компонентом;
♦ plugins* — каталог для плагинов (расширений). В предыдущих версиях
данный каталог назывался mambots (сокращение от Mambo robots). Плаги-
ны расширяют возможности Joomla! на более низком уровне, чем компо-
ненты. Управление плагинами, в отличие от компонентов, осуществляется
через меню Расширения панели управления;
♦ templates— содержит каталоги каждого шаблона, установленного на
Joomlal-сайте. Имя подкаталогов в этом каталоге совпадает с названием
шаблона. Например, файлы шаблона по умолчанию находятся в каталоге
\rhuk_milkyway (сам шаблон называется rhuk milkyway);
1 Для России — в ru-RU. — Пер
Установка и настройка
♦ tmp* — каталог для временных файлов, а также для cookies, которые ис-
пользуются как панелью управления, так и пользовательским интерфей-
сом Joomla!;
♦ xmlrpc* — содержит, наверное, самую мощную новую функцию Joomla!:
функцию удаленного вызова процедур посредством XML (extensible
Markup Language Remote Procedure Cail, XML-RPC). Интерфейс XML-RPC
позволяет посылать серверу Joomla! запросы на вызов процедур, которые
будут выполнены на сервере Joomla!.
Что дает интерфейс XML-RPC администратору Joomla!? С помощью XML-
RPC вы можете с одного сервера управлять несколькими Joomlai-серверами.
Также XML-RPC используется некоторыми блогами, например, w.bloggar.
Блог w.bloggar предоставляет прекрасный Windows-интерфейс для управле-
ния блогом. Пользователи работают с Windows-приложением, которое на-
прямую передает информацию серверу Joomla! (загружает контент на сайт).
В скором времени планируется поддержка других блогов, например,
MetaWebBlog и MovableTypeAPl.
Примечание_________________________________________________
Даже если вы никогда не слышали об XML-RPC, то наверняка слышали о его
ближайшем родственнике — SOAP (Simple Object Access Protocol). SOAP был
разработан на базе XML-RPC. Считается, что SOAP— более надежный, чем
XML-RPC. Joomla! использует базовый XML-RPC, поскольку он работает быст-
рее, а дополнительные функции SOAP просто не нужны для Joomla!. Но разра-
ботчики Joomla! позаботились о поддержке SOAP: если она вам нужна, вы мо-
жете ее добавить с помощью встроенного SOAP-расширения для РНР 5.
В большинстве случаев вам не нужно редактировать файлы, содержащиеся в
этих каталогах. Практически все настройки сайта можно выполнить с помо-
щью Web-интерфейса администратора. Однако в некоторых особо сложных
ситуациях может понадобиться редактирование исходного кода Joomla!, бла-
го, эту операцию можно выполнить в любом текстовом редакторе.
Установка ХАМРР
Как уже было отмечено ранее, установка и настройка всех серверных про-
грамм, необходимых для запуска Joomla!, довольно сложны. Если, конечно,
вы не квалифицированный администратор, для упрощения настройки всех
серверов можете использовать ХАМРР. ХАМРР считают инсталлятором для
ленивых, поскольку он содержит все необходимое (Apache, РНР и MySQL)
"в одном флаконе".
Пакет ХАМРР был создан, чтобы вы могли быть полностью уверенными в
том, что все серверы совместимы друг с другом и правильно настроены для
80
Гпава 3
совместной работы. Первая буква зависит от операционной системы, а ос-
тальные буквы — это акроним от "Apache, MySQL, PHP, Perl". Хотя для ра-
боты Joomla! не нужен Perl, его наличие ей не повредит.
Примечание переводчика
Пакет ХАМРР для Windows так и называется — ХАМРР, для Linux — LAMPP,
для Mac OS — МАМРР. Далее мы будем называть этот пакет ХАМРР без раз-
деления на ОС.
Пакет ХАМРР доступен для следующих операционных систем: Windows,
Linux, Sun Solaris и Mac OS Вы можете скачать нужный вам инсталлятор
с сайта ХАМРР:
www.apachefriends.org/en/xampp.html
После установки ХАМРР вам не нужно редактировать множество файлов или
бороться с несовместимостями разного рода. Сразу после установки ХАМРР
вы можете приступить к установке Joomla! на свой компьютер.
Примечание
Если вам нужен еще более простой способ установки Joomla!, вы можете вы-
брать Joomla! Stand Alone Server (JSAS, http://jsas.Joomla’solutions com) Од-
нако если вам мало базовой реализации Joomla! и вы планируете построить
сложный сайт, лучше устанавливать Joomla! вручную. Так вы лучше узнаете
систему.
Компоненты ХАМРР и операционная система
Поскольку ХАММР— кроссплатформенное приложение, поэтому для каж-
дой операционной системы в состав пакета ХАМРР входит уникальный на-
бор приложений. Многие из этих приложений не нужны для работы Joomla!,
но помогают администрировать ваш Web-сервер. Также вы можете расши-
рить функциональность вашего сервера путем установки других серверных
приложений, например, FileZilla FTP-сервер.
Как уже было отмечено, возможности пакета ХАМРР зависят от ОС.
♦ Windows: пакет тестировался на Windows 98, NT, 2000, ХР и Vista. На мо-
мент написания этих строк, инсталлятор содержал следующее программ-
ное обеспечение: Apache, MySQL, PHP, PEAR, Perl, mod_php, mod perl,
mod ssl, OpenSSL, phpMyAdmin, Webalizer, Mercury Mail Transport System
для Win32 и для NetWare Systems v3.32, JpGraph, FileZilla FTP server,
MCrypt, eAccelerator, SQLite, WebDAV и mod auth mysql.
♦ Linux: пакет тестировался в SUSF., Red Hat, Mandrake и Debian. На данный
момент в составе пакета были: Apache, MySQL, PHP, PEAR, Perl,
ProFTPD, phpMyAdmin, OpenSSL, GD, FreeType2, libjpeg, libpng, gdbm.
Установка и настройка 81
zlib, expat, Sablotron, libxml, Ming, Webalizer, PDF Class, ncurses, inod_perl,
FreeTDS, gettext, MCrypt, mhash, eAccelerator. SQLite й IMAP c-client.
♦ Mac OS X: тестировался в Mac OS 10.4 и выше. На момент написания этих
строк, инсталлятор содержал следующее программное обеспечение:
Apache, MySQL, PHP, PEAR, SQLite, Perl, ProFTPD, phpMyAdmin,
OpenSSL, GD, FreeType2, libjpeg, libpng, zlib, Ming, Webalizer, mod_perl,
eAccelerator и phpSQLiteAdinin.
♦ Solaris: пакет тестировался на Solaris 8 и Solaris 9. В составе пакета вы
найдете: Apache, MySQL, PHP, PEAR, Perl, ProFTPD, phpMyAdmin,
OpenSSL, FreeType2, libjpeg, libpng, zlib, expat, Ming, Webalizer. PDF Class.
Перед установкой XAMPP вы должны для себя осознать, что это платформа
предназначена для тестирования и разработки, но не для размещения сайта.
Многие используют ее для размещения сайта, из-за чего сильно страдает
безопасность. Вот несколько причин, по которым нельзя использовать
ХАМРР для размещения сайта в Интернете:
♦ у учетной записи администратора MySQL нет пароля;
♦ демон MySQL открыт для всех пользователей сети;
♦ Web-интерфейс MySQL — phpMyAdmin — открыт для всех пользователей
сети;
♦ стандартные имена пользователей FileZilla и Mercury известны всем.
Если вы все-таки решились использовать ХАМРР в качестве серверной плат-
формы, убедитесь, что вы закрыли все дыры безопасности. Проверьте сайт
ХАМРР для получения последних рекомендаций по безопасному использо-
ванию ХАМРР.
В этом разделе будет описана установка ХАМРР для каждой операционной
системы.
Установка в Windows
После загрузки инсталлятора просто дважды щелкните на исполнимом файле
(ехе) или на файле инсталлятора Microsoft (msi). Первым делом нужно вы-
брать язык установки (рис. 3.3). В большинстве случаев можно выбрать анг-
лийский язык1 и нажать кнопку ОК.
Вы увидите окно приглашения, в котором нужно просто нажать кнопку Next.
После этого следует выбрать каталог для файлов ХАМРР. При этом ин-
сталлятор отобразит, сколько места на диске ему необходимо (примерно
1 Потому что русского в списке нет. — Пер.
82
Гпава 3
220 Мбайт), и сколько свободно. Нажмите кнопку Next, чтобы принять уста-
новку в каталог c:\xampp (по умолчанию).
Рис. 3.3. Выбор языка
Программа установки ХАМРР распакует все необходимые файлы в выбран-
ный вами каталог, а когда все будет готово, вы увидите ряд вопросов. Каж-
дый раз инсталлятор будет спрашивать вас, хотите ли вы запускать то или
иное приложение из состава ХАМРР (Apache, РНР, MySQL и т. д.) как
службу.
Примечание переводчика_______________________________
В оригинальном тексте книги описывается старая версия ХАМРР В новой вер-
сии перед установкой файлов нужно выбрать, какие компоненты ХАМРР вы хо-
тите запускать как службы (сервисы). На рис. 3.4 представлен снимок окна бо-
лее новой версии ХАМРР.
Рис. 3.4. Параметры установки
Установка и настройка
83
После установки ХАМРР будет запущена панель управления ХАМРР, позво-
ляющая запускать и останавливать службы ХАМРР (Apache, MySQL,
FileZilla), а также просматривать статус каждого приложения (рис. 3.5).
О SvC
□ Svc
□ Svc
□
ХАМРР Control Рале! Application
1ХАНРР Control Panel Version 2.S (9. Hay, 2007)
Windows S.l Build 2600 Platform 2 Service Pack 1
Current Directory: c:\xampp
Install Directory: c:\xaapp
Status Check OR
Busy...
Apache started [Port 80]
Рис. 3.5. Панель управления
Нажмите кнопку Admin справа от службы Apache'. Вы увидите окно браузе-
ра, в котором сможете администрировать свой сервер. Вы можете поместить
адрес страницы администрирования в закладки для быстрого доступа к ней.
Для запуска Joomla! вам совсем необязательно просматривать все ссылки
Web-интерфейса ХАМРР. Однако ссылка Security (см. левую часть панели на
рис. 3.6) довольно полезная, она показывает настройки безопасности вашего
Web-сервера. Думаю, одного взгляда на эту страницу хватит, чтобы понять,
что ХАМРР небезопасен.
Примечание переводчика___________________________________________
Практически напротив каждой службы на странице Security указано
UNSECURE, что означает небезопасный...
Все готово для установки Joomla!. Перед установкой нужно отметить, что для
хранения Web-страниц ХМАРР использует каталог \htdocs, т. е. если вы не
изменяли каталог при установке, путь к Web-страницам будет такой:
c:\xampp\htdocs2.
' Кнопка Admin станет активной, если вы запустите службу. — Пер.
1 Или C:\Program Files\xampp\htdocs — в старых версиях. — Пер.
84
Гпава 3
Wtn-om i kjrWit«J iws Vei >nm 1. .n i •
Congratulations;
You have successfully installed ХАМРР on this systemi
Now you can start using Apache aid CO You should first try »status« on the left navigation tc
make sure everything works fine.
For OpenSSL support please use the test certificate with
For this release a specs) thanks to j for t excellent development and
compilation of all current' Special * muuuiesi
Good luck, Kay Vogelgesang + Kai ‘Oswald* Seidler
Рис. 3 6. Страница настройки ХАМРР (для Windows)
Примечание____________________________
В Windows ХР Service Pack 2 у вас могут быть проблемы с доступом к Web-
серверу. Причина в том, что стандартный брандмауэр ХР блокирует необходи-
мые для работы Web-сервера IP-порты Подробнее этот вопрос мы рассмотрим
в разд. "Решение проблем" далее в этой главе.
Установка в Linux
Для установки ХАМРР вам нужно загрузить архив tar.gz. После загрузки
введите следующую команду, чтобы получить права администратора (поль-
зователя root):
SU
Теперь распакуем загруженный архив в каталог /opt. Для этого используйте
следующую команду, изменив имя файла (у нас это xampp-linux-1.5.tar.gz) —
оно должно совпадать с именем файла загруженного архива:
tar xvfz xampp-linux-1.5.tar.gz -C /opt
Данная команда установит ХАМРР в каталог Zopt/lampp. Для запуска
ХАМРР-системы из консоли введите команду:
Zopt/lampp/lampp start
Для получения доступа к главной странице ХАМРР-сервера запустите брау-
зер и введите следующий URL:
http://localhost
Каталог для хранения Web-страниц — /opt/lainpp/htdocs.
Установка и настройка
85
Внимание!
ХАМРР предназначен для использования в качестве платформы разработчика,
его нежелательно применять для размещения сайта. Если вы хотите использо-
вать ХАМРР в качестве платформы размещения, тогда убедитесь, что вы пра-
вильно настроили ХАМРР, поскольку по умолчанию он не использует никаких
паролей доступа для администрирования. Подробнее о вопросах безопасности
ХАМРР можете прочитать на сайте разработчиков.
В большинстве дистрибутивов Linux после установки ХАМРР не добавляется
в сценарии инициализации системы, следовательно, после перезагрузки сис-
темы вам нужно будет опять запустить его вручную. Сейчас мы попытаемся
настроить порядок загрузки системы так, чтобы каждый раз при ее загрузке
загружался и ХАМРР.
Прежде всего, нужно определить уровень запуска по умолчанию. Для этого
запустите egrep со следующими параметрами:
egrep :initdefault /etc/inittab
Вы должны увидеть примерно следующее:
id:3:initdefault
Число после id может быть 3 или 5. Если у вас Debian, число может быть
равно 2. Перейдите в каталог, соответствующий уровню запуска (вместо X
нужно подставить число, которое вы увидели в выводе egrep):
cd /etc/rc.d/rcX.d
Если каталог не существует, попробуйте перейти в каталог /etc/init.d/rcX.d
или в каталог /etc/rcX.d. После этого создайте символьную ссылку для запус-
ка ХАМРР:
In —s /opt/lampp/lampp S991ampp
Теперь создадим ссылку для завершения ХАМРР при разгрузке системы:
In —s /opt/lampp/lampp KOllampp
Теперь ваша операционная система будет загружать ХАМРР при запуске и
автоматически завершать его работу, когда вы выключаете компьютер.
Примечание
У дистрибутива openSUSE 10.0 довольно специфическая процедура запуска.
Посетите сайт ХАМРР (www.apachefriends.org/en/xampp.html) для получения
дальнейших инструкций.
Установка в Mac OS
Установка ХАМРР в Mac OS— самая простая. Вам нужно загрузить
ХАМРР-пакет, который доступен в архивах .sit и .tar. Я рекомендую исполь-
86
Гпава 3
зовать Stufflt-архивы (.sit), поскольку для Mac OS это родной формат архива,
да и программа Stufflt Expander обеспечивает дружественный интерфейс.
Распакуйте архив в любой каталог на вашем жестком диске, дважды щелкни-
те на исполнимом файле инсталлятора, который установит ХАМРР в каталог
/Applications/xampp.
Запустите терминал (Terminal shell) и, чтобы активировать учетную запись
администратора, введите команду:
sudo su
Для запуска ХАМРР введите команду:
/Applicat ions/xampp/xamppf ile s/mampp s ta rt
На этом все!
Установка индивидуальных серверов
WAMP/LAMP/MAMP
Поскольку ХАМРР — это "все в одном флаконе", инсталляция ХАМРР зани-
мает довольно много места на диске, а именно в три раза больше, чем собст-
венно серверы, необходимые для работы Joomla!. Вы можете отдельно уста-
новить и настроить каждый необходимый сервер. Наборы программного
обеспечения, позволяющие реализовать функции, подобные ХАМРР, полу-
чили названия WAMP, LAMP и МАМР Первая буква в названии пакета сов-
падает с первой буквой названия операционной системы: Windows, Linux,
Mac OS. Остальные буквы — это акроним для "Apache, MySQL, PHP".
При установке различных серверов могут возникнуть проблемы конфигура-
ции. Решение наиболее частых проблем описано в разд. "Решение проблем"
далее в этой главе. Хотя в этой главе я попытался затронуть практически все
нюансы, касающиеся установки серверов, на всякий случай прочитайте фай-
лы ReadMe, поставляющиеся вместе с устанавливаемым программным обес-
печением.
Примечание
Если вы хотите устанавливать серверы отдельно, обратите внимание на их но-
мера версий. При использовании версий, имеющихся в составе ХАМРР, вы ми-
нимизируете потенциальные проблемы.
В этом разделе мы рассмотрим пошаговую установку отдельных серверов.
Установка и настройка сервера Apache
Отладка ошибок сервера Apache может занимать много времени, потому что
сам сервер вводит вас в заблуждение неоднозначностью сообщений об ошиб-
Установка и настройка
87
ках. Например, вы можете установить MySQL-плагин, версия которого будет
несовместима с версией Apache. Вместо сообщения о несовместимости вы
получите сообщение о том. что плагин не найден:
Cannot load...into server: No such file or directory
Такие сообщения сбивают с толку и отправляют администратора по заведомо
ложному пути. В чем реально заключается проблема, можно только догадать-
ся или же получить подсказку на форумах, где пользователи уже сталкива-
лись с подобными проблемами.
Итак, давайте загрузим Apache и запустим его. Загрузить Web-сервер Apache
можно с сайта www apache.org. Зайдите на этот сайт и щелкните по ссылке
HTTP Server Не нужно загружать самую последнюю версию, достаточно
скачать стабильный пакет во избежание потенциальных проблем с "сырыми"
версиями.
Примечание
Web-сервер Apache уже есть в составе Mac OS, поэтому вам не нужно его уста-
навливать, однако вы можете его установить, если хотите использовать более
новую версию. Настройка Web-сервера Apache в Macintosh (который Apple на-
зывает "Web Sharing") будет рассмотрена в разд. "Установка Apache в Mac OS"
далее в этой главе.
Вы можете загрузить уже откомпилированный двоичный файл или же исход-
ный код Web-сервера. В последнем случае вы должны сами знать, как его
откомпилировать, тут я вам ничем не помогу. Для новичка оптимальный вы-
бор — установка уже откомпилированных файлов. Откомпилированные дво-
ичные файлы доступны в следующих форматах: aix, cygwin, darwin, freebsd.
hpux, linux. macosx, netware, os2, os390, reliantunix, rpm, sinix, Solaris и Win32.
Для работы Joomla! необходима версия Apache 1.13 или более новая. На мо-
мент написания этих строк была доступна (и я рекомендую ее использовать)
версия 2.2.
Установка Apache в Windows
Когда вы запустите инсталлятор Apache, то увидите окно, описывающее
Web-сервер Apache. Инсталляция очень проста и состоит всего из нескольких
шагов Вам нужно ввести основные сведения о сервере — имя домена, имя
сервера, e-mail администратора и выбрать порт (рис. 3.7).
Если вы устанавливаете Apache на частный сервер, ноутбук или рабочую
станцию, возможно, у вас нег доменного имени (например, www.example.com).
В этом случае в качестве домена и имени сервера укажите localhost, а в каче-
стве e-mail администратора — admin@locahost
88
Гпава 3
Рис. 3.7. Перед установкой нужно задать базовые параметры Apache
Примечание
Если вы хотите сделать ваш Web-сервер доступным остальным компьютерам
локальной сети, но у вас нет доменного имени, вы можете указать свой локаль-
ный IP-адрес в качестве значения первых двух полей. Если у вас запущен DNS-
сервер, то вы наверняка знаете, что и как настроить.
Значение порта оставьте по умолчанию— 80, при условии, конечно, что у
вас не установлены другие Web-серверы, например IIS. Если вы хотите, что-
бы ваш Web-сервер был доступен только текущему пользователю (т. е. вам и
только вам), выберите настройку порта only for the Current User и укажите
порт 8080.
Примечание___________________________________________________
Если вы делаете Web-сервер доступным всем пользователям (выбираете оп-
цию for All Users), Apache будет автоматически запускаться как служба
Windows (это отлично, если вы часто его используете). В пользовательском ре-
жиме (only for the Current User) вам нужно вручную запускать сервер после
каждой перезагрузки системы. Иногда бывает полезным сделать сервер дос-
тупным для всех пользователей, даже если вы планируете использовать порт,
отличный от 80. Вы можете изменить номер порта путем редактирования кон-
фигурационного файла. Даже если сейчас вы выберете ручной запуск сервера,
вы всегда сможете установить Apache как службу путем запуска apache.exe с
ключом -к. Подробнее об этом вы можете прочитать в руководстве по серверу
Apache.
Установка и настройка
89
Нажмите кнопку Next, и инсталлятор попросит вас выбрать тип установки —
Typical (обычная установка) или Custom (выборочная установка). Начинаю-
щим пользователям нужно выбрать обычную установку, а более квалифици-
рованным -— пользовательскую.
Наконец, инсталлятор попросит вас выбрать каталог, в который нужно уста-
новить Apache. Для установки Joomla! прекрасно подойдет каталог по умол-
чанию, предложенный инсталлятором — C:\Program FilesXApache Software
Foundation\Apache2.2.
Запомните каталог, в который будет установлен Apache. Скоро он еще нам
понадобится для правильной настройки РНР, MySQL и, чуть позже, Joomla!.
Для продолжения установки нажмите кнопку Next, а затем — Install. Обычно
процесс установки проходит без всяких проблем. Чтобы Apache корректно
работал, после установки вам нужно изменить несколько опций в конфигура-
ционном файле.
В Windows сервис Apache запускается от имени системного пользователя
LocalSystem. При первом запуске Apache встроенный брандмауэр Windows
(имеется в Windows ХР SP2 и в Windows Vista) спросит вас, не нужно ли бло-
кировать его запуск (рис. 3.8): брандмауэр обнаружит попытку Web-сервера
открыть порт 80. Для нормальной работы Apache нужно нажать кнопку
Unblock (Разблокировать).
Рис. 3 8. Нажмите кнопку Unblock чтобы Apache работал через брандмауэр
Если вы откроете окно браузера и введете адрес http://localhost, то увидите
стандартное приветствие Apache (рис. 3.9). Если вы при установке указали
другой порт, например 8080, то в строке адреса браузера нужно ввести
http://localhost:8080/.
90
Гпава 3
Примечание переводчика
Следуя инструкциям этой книги, я установил ХАМРР, проверил его работоспо-
собность и забыл завершить работу службы Apache, входящей в состав
ХАМРР. Затем, когда я установил и пытался запустить отдельный сервер
Apache, между Web-сервером ХАМРР и установленным Apache произошел
конфликт, поскольку оба Web-сервера пытались захватить порт 80, поэтому я
получил сообщение об ошибке. Не повторите мою ошибку и, если вы уже уста-
новили ХАМРР, не забудьте деактивировать Web-сервер, входящий в его со-
став.
Рис. 3.9. Если Apache работает, вы получите это простое сообщение
Если в процессе установки вы получили сообщение, для подробного описа-
ния ошибки просмотрите файлы протоколов, находящиеся в подкаталоге logs
основного каталога Apache. Если вы не изменяли каталог при установке, то
файлы протоколов следует искать в каталоге C:\Program Files\Apache Software
Foundation\Apache2.2\logs.
В каталоге logs вы найдете несколько файлов протоколов. Основными фай-
лами являются error.log (содержит сообщения об ошибках) и install.log (со-
держит список операций, выполненных при установке). Оба файла являются
обычными текстовыми файлами, и их можно открыть в любом текстовом
редакторе, например, в Блокноте.
Совет________________________________________________________________
Если в процессе установки Apache возникли проблемы (кроме блокирования
Web-сервера брандмауэром), то лучше всего устранить их, а затем удалить и
заново установить Apache.
Установка и настройка
91
Установка Apache в Linux
Последовательность действий по установке Apache в Linux очень сильно за-
висит от используемого дистрибутива. Рекомендуется загрузить исходные
коды и, используя компилятор C++, откомпилировать Apache для вашей вер-
сии Linux. Данный процесс выходит за рамки этой книги, но вы можете озна-
комиться с ним по адресу http://httpd.apache.org.
Примечание переводчика_______________________________________
Видно, автор книги имеет весьма посредственные представления о Linux, в ча-
стности о компиляции исходного кода. Ведь намного проще установить уже от-
компилированный пакет, нежели собирать исходный код вручную. Web-сервер
Apache зачастую входит в состав практически всех современных дистрибути-
вов, но не устанавливается по умолчанию. Установка и настройка сервера
Apache в разных дистрибутивах Linux подробно рассматривается в книге Ко-
лисниченко Д. Н. Серверное применение Linux. — СПб.: БХВ-Петербург, 2008.
Установка Apache в Mac OS
Устанавливать Apache в Mac OS приходится довольно редко. Чтобы активи-
ровать его, выполните команду System Preferences из меню Apple. Затем вы-
берите Sharing, и вы увидите вкладку File & Web. На этой вкладке нажмите
кнопку Start в области Web Sharing: этим вы активируете Apache.
Чтобы увидеть стандартную страницу приветствия Apache, запустите браузер
и введите следующий адрес: http'.Ueaui_IP_adpec. В качестве корневого ка-
талога используется каталог /Library/Webserver/Documents.
Настройка Web-сервера Apache
Конфигурация Apache после его установки — это самый сложный шаг. По-
скольку Apache предоставляет множество функций. Его конфигурационный
файл содержит множество опций, которые можно изменить.
Конфигурационные файлы Apache хранятся в подкаталоге \conf корневого
каталога Apache (каталога, в который вы установили Apache). Если вы рабо-
таете в Windows, перейдите в этот каталог с помощью Проводника Windows.
Главный конфигурационный файл называется httpd.conf. Откройте его в лю-
бом текстовом редакторе. Только не пугайтесь! Файл действительно очень
большой. На момент написания этой книги в нем было более 530 строк.
В листинге 3.1 представлен небольшой фрагмент файла конфигурации
Apache для демонстрации того, как определяются параметры Web-сервера.
Сначала задается имя директивы, а потом, через пробел, значение. Некоторые
директивы имеют числовые значения, некоторые — текстовые, некоторые —
URL.
92
Гпава 3
Листинг 3.1. Фрагмент файла httpd.conf: демонстрация присвоения значения
i директивам
## httpd.conf — файл конфигурации Apache
##
#
# Основан на конфигурационном файле сервера NCSA
#
# ## Раздел 1: глобальное окружение
#
# ServerType может быть inetd или standalone. Значение Inetd
# поддерживается только на UNIX
#
ServerType standalone
#
# ServerRoot: задает корневой каталог сервера, в нем хранятся
# конфигурационные файлы и файлы протоколов
ServerRoot "/usr/local/apache_t3.lbl"
#
# Timeout: задает тайм-аут для отправки и получения информации в секундах
#
Timeout 300
#
# KeepAlive: разрешает или запрещает постоянные соединения. Для
# отключения укажите значение "Off"
#
KeepAlive On
Примечание переводчика___________________________________________
Комментарии из листинга 3.1 были переведены на русский язык.
При редактировании файла конфигурации вы будете часто использовать
функцию поиска по тексту. Даже у простейших текстовых редакторов (вроде
Блокнота) есть эта функция, поэтому с редактированием httpd.conf не должно
быть проблем.
Вероятно, что единственные изменения файла конфигурации Apache будут
связаны с проблемами интеграции с интерпретатором РНР. Поддержка РНР
сервером Apache добавляется благодаря следующим строкам:
#BEGIN РНР INSTALLER EDITS
PHPIniDir "C:\Program Files\Apache Software Foundation\Apache2.2\"
LoadModule php5_module "C:\Program Files\Apache Software Foundation\
Apache2.2\php5apache2_2.dll"
#END PHP INSTALLER EDITS
Установка и настройка
93
Если данные строки отсутствуют после установки РНР, вы должны их доба-
вить вручную.
Примечание переводчика____________________________________________
Обратите внимание, что в листинге 3.1 приводится фрагмент файла конфигу-
рации из Linux-версии Apache (это можно определить по стилю задания пути к
корневому каталогу), а строки, добавляющие поддержку РНР, приводятся для
Windows-версии. Если у вас возникли проблемы с установкой связки Apache +
РНР + MySQL в Linux, рекомендую книгу Колисниченко Д. Н. Серверное приме-
нение Linux. — СПб.: БХВ-Петербург, 2008.
Тестирование сервера Apache
Обратиться к локальному Web-серверу вы можете по одному из двух адре-
сов: по символьному адресу или по IP-адресу. В большинстве случаев доста-
точно открыть окно браузера и ввести следующий адрес:
http://localhost/
Если вы увидели сообщение об ошибке вместо сгенерированной сервером
домашней страницы, попробуйте указать IP-адрес локального компьютера:
http://127.0.0.1
Если и в этом случае вы опять получили сообщение об ошибке, убедитесь,
что Apache установлен на стандартный порт. Откройте ваш httpd.conf в лю-
бом текстовом редакторе и найдите директиву Listen. Значение 80 этой ди-
рективы говорит о том, что используется стандартный порт 80. Если дирек-
тива Listen содержит другой номер порта (например, 8080), тогда его нужно
указать в адресной строке браузера:
http://127.0.0.1:8080
Установка файла .htaccess
Файл гипертекстового доступа (обычно называется .htaccess) используется
сервером Apache для определения уровня доступа к различным каталогам.
Если файл .htaccess существует в одном из каталогов, адресуемых Web-
сервером, вы можете задать в нем директивы конфигурации Apache, переоп-
ределяющие директивы, заданные в файле конфигурации Apache.
Директивы из файла .htaccess позволяют запретить или разрешить опреде-
ленным пользователям доступ к каталогу, изменить стандартную страницу
ошибок (она отображается, если запрошенный файл не существует), вклю-
чить SSI (Server Side Includes), запретить доступ пользователей по IP-адресу,
изменить страницу по умолчанию для каталога, настроить перенаправления,
предотвратить хотлинкинг (попытку получения файлов, например, картинок,
с другого сервера) и многое другое.
94
Гпава 3
Файл .htaceess задает параметры доступа для каталога и для всех его подката-
логов. Однако если файл .htaceess есть в одном из покаталогов, то его дирек-
тивы могут переопределять значения родительских директив (из родитель-
ского каталога).
Joomla! содержит пример файла .htaceess, предоставляющего правильные на-
стройки каталога Joomla! для использования URL вида SEF (search engine-
friendly), подробнее об этом мы поговорим в главе 12. Дистрибутив содержит
файл htaccess.txt, который нужно переименовать на сервере в .htaceess, если
вы хотите его использовать.
Совет______________________________________
Проводник Windows не позволит переименовать файл в .htaceess, потому что
он "увидит" только расширение, но без имени файла (вроде txt). Однако вы
можете использовать команду rename или геп (в командной строке), и система
переименует файл.
В листинге 3.2 показан файл htaccess.txt, который распространяется вместе с
Joomla!. Руководство по Joomla! рекомендует не использовать этот файл без
крайней необходимости, т. е. если после установки Joomla! у вас нет ошибок,
связанных с правами доступа. Если в вашем каталоге уже есть файл .htaceess1,
вы можете сравнить директивы из листинга 3.2 и вашим файлом .htaceess.
Листинг 3.2. Стандартный файл htaceess из дистрибутива Joomla!
##
# @version $Id: htaccess.txt 5973 2006-12-11 01:26:33Z robs $
# Bpackage Joomla! RE
# eiocalized Авторские права (С) 2005 Joom.Ru — Русский дом Joomla!
# ecopyright Авторские права (С) 2005 Open Source Matters.
# Все права защищены.
# 6license http://www.gnu.org/copyleft/gpl.html GNU/GPL
# Joomla! — свободное программное обеспечение.
# etranslator Sourpuss (Sourpussemail.ru)
# #
# ====== ВНИМАНИЕ! ! ! =====------------------------------------------
# ОБЯЗАТЕЛЬНО УСТАНОВИТЕ CHMOD 644 НА ЭТОТ ФАЙЛ ----------------
#
# Установка кодировки сайта по умолчанию. При необходимости,
# закомментируйте.
AddDefaultCharset WINDOWS-1251
1 Его иногда устанавливает хостинг-провайдер. — Пер.
Установка и настройка
95
ErrorDocument 404 /404.php
# Следующие строки — попытка исправить настройки РНР
# для полного соответствия системным требованиям Joomla!.
# Раскомментируйте (символ комментария — #) нужные строки,
# если настройки вашего хоста не соответствуют
# системным требованиям Joomla!.
# При возникновении 500-й ошибки сервера, закомментируйте строку,
# вызывающую ошибку, или все строки с php_value.
php_value register_globals 0
php_value display_errors 0
php_value file_uploads 1
php_value magic_quotes_gpc 1
php_value magic_quotes_runtime 0
# Пример явного указания каталога для записи сессий:
# для Windows — с:/temp
# для UNIX — /tmp
# Указанные каталоги должны физически существовать
# и быть доступными для записи
# При необходимости раскомментируйте строку ниже этой
# php_value session.savejpath с:/temp
#####################################################
# ПРОЧТИТЕ ПОЛНОСТЬЮ, ЕСЛИ БУДЕТЕ ИСПОЛЬЗОВАТЬ ЭТОТ ФАЙЛ
#
# Строка ниже этого раздела: 'Options +FollowSymLinks' может вызвать
# проблему при некоторых конфигурациях сервера. Она необходима для
# использования модуля Apache mod_rewrite, но может быть уже настроена
# администратором вашего сервера, и изменение этого параметра в .htaccess
# может быть запрещено.
# Если эта директива вызывает ошибку сервера, то закомментируйте строку
# (добавьте символ # в начало строки), перезагрузите в браузере сайт и
# протестируйте работу SEF-ссылок. Если они работают, то вам не надо
# ничего менять здесь, т. к. все уже настроено администратором сервера.
#
# Используйте только один из двух разделов SEF, которые находятся ниже.
# Строки, которые можно раскомментирвать (и использовать), имеют только
# один символ #. Строки с двумя символами # раскомментировать не надо.
# В разделах, которые вы не используете, все строки должны начинаться с
# символа #.
96
Гпава 3
# Для стандартного SEF, используйте раздел стандартного SEF. Вы можете
# закомментировать все строки с RewriteCond и уменьшить загрузку сервера,
# если у вас в корне нет каталогов с названиями 'component' или 'content'
#
# Если вы используете сторонние компоненты SEF или Core SEF, то
# раскомментируйте все строки в разделе
# 'SEF сторонних разработчиков или Core SEF'
#
#####################################################
# #### РЕШЕНИЕ ПРОБЛЕМЫ С НЕРАБОТАЮЩИМИ URL КОМПОНЕНТОВ #####
# СПЕЦИАЛЬНОЕ ПРИМЕЧАНИЕ ДЛЯ ПОЛЬЗОВАТЕЛЕЙ SMF, ИСПОЛЬЗУЮЩИХ МОСТ
# ИНТЕГРАЦИИ, ИЛИ ДЛЯ ТЕХ СЛУЧАЕВ, КОГДА НЕ РАБОТАЮТ URL КОМПОНЕНТОВ
#
# В обоих разделах: 'Стандартного SEF' и 'SEF сторонних разработчиков или
# Core SEF' строка:
# RewriteCond %{REQUEST_URI} л(/component/option, com) [NC,OR]
##опционально — смотрите примечания##
# может быть раскомментирована. Если ваша Joomla!/Mambo работает в
# подкаталоге, то в эту строку можно вставить название подкаталога.
# Например, если ваша Joomla!/Mambo находится в подкаталоге /test/,
# то измените:
# RewriteCond %{REQUEST_URI} л(/component/option,com) [NC,OR]
##опционально — смотрите примечания##
# на:
# RewriteCond %{REQUEST_URI} (/test/component/option,com) [NC,OR]
##опционально — смотрите примечания##
#
#####################################################
# # Может быть закомментировано, если вызывает ошибку сервера. Смотрите
# примечания выше.
Options +FollowSymLinks
#
# Включение mod_rewrite
RewriteEngine On
# Раскомментируйте следующую строку, если URL вашего Web-сервера
# не связаны напрямую с физическими путями файлов.
# Обновите ВашКаталогJoomla! (используйте "/" для обозначения корня
# сервера)
# RewriteBase /
Установка и настройка 97
######## Начало раздела стандартного SEF
######## Используйте эту секцию ТОЛЬКО для работы встроенного SEF Joomla!
## ВСЕ (RewriteCond) строки в этой секции необходимы, только если
## на вашем сервере имеются каталоги с названиями content
## или component.
## Если каталоги с такими именами отсутствуют, то закомментируйте
## эти строки.
#
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %(REQUEST-FILENAME} !-d
#RewriteCond %{REQUEST_URI} л(/component/option,com) [NC,OR]
##опционально — смотрите примечания##
RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|/['.]*)$ [NC]
RewriteRule л(content/|component/} index.php
#
########## Конец раздела стандартного SEF
########## Начало раздела SEF сторонних разработчиков или Core SEF
########## Используйте этот раздел, если вы используете SEF-расширения
########## типа OpenSEF, 404_SEF, 404SEFX, JoomSEF, SEF Advance и т. д.
#
#RewriteCond %{REQUEST_URI} л(/component/option,com) [NC,OR]
##опционально — смотрите примечания##
#RewriteCond %(REQUEST_URI} (/I\.htm|\.phpI\.html|/[".J *)$ [NC]
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME} !-d
#RewriteRule (.*) index.php
#
########## Конец раздела SEF сторонних разработчиков или Core SEF
# ######### Начало — правила обработки запросов для блокировки
# # распространенных уязвимостей
# # If you experience problems on your site block out the operations
## listed below
# # This attempts to block the most common type of exploit 'attempts' to
## Joomla!
#
# Block out any script trying to set a mosConfig value through the URL
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_](1,21}(=|\%3D) [OR]
# Block out any script trying to base64_encode crap to send via URL
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
# Block out any script that includes a <script> tag in URL
RewriteCond %{QUERY_STRING} (\<|%3C).‘script.*(\>I%3E) [NC,OR]
4 Зак 468
98
Гпава 3
# Block out any script trying to set a PHP GLOBALS variable via URL
RewriteCond %{QUERY_STRING} GLOBALS(=|\[I\%[0-9A-Z]{0,2}) [OR]
# Block out any script trying to modify a _REQUEST variable via URL
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2}}
# Send all blocked request to homepage with 403 Forbidden error!
RewriteRule л(.*)$ index.php [F, L]
#
# ######### Конец - Правила обработки (Rewrite rules) для блокировки
# # распространенных уязвимостей
Примечание переводчика_______________________________________
В листинге 3.2 приводится локализированная версия файла htaccess.txt из ди-
стрибутива локализированной версии Joomla!.
Установка и настройка РНР
После запуска Apache настало время установки и настройки РНР. РНР — это
язык программирования, запускаемый с помощью Apache (или Microsoft IIS),
на котором и написана Joomla!, т. е. интерпретатор РНР нужен для запуска
Joomla! на вашем сервере.
Удобно то, что если вы работаете в Windows, то можете установить РНР как
для Web-сервера Apache, так и для Web-сервера Microsoft IIS — в зависимо-
сти от ваших предпочтений.
Скачать РНР можно с сайта www.php.net.
Apache может взаимодействовать с РНР двумя способами: РНР может быть
установлен как модуль Apache (это называется Server Application
Programming Interface или SAP1) или же РНР может запускаться через интер-
фейс CGI (Common Gateway Interface, общий интерфейс шлюза). Интерфейс
CGI довольно медленный, поэтому в этой книге мы будем рассматривать
только SAPI, т. е. установку РНР как модуля Apache.
Установка РНР на сервер Apache
под управлением Windows
Первым делом нужно скачать инсталлятор для Windows и установить его.
Чтобы РНР корректно работал с Apache, нужно добавить каталог РНР в спи-
сок каталогов, задаваемый переменной окружения path. РНР будет установ-
лен в каталог C:\Program FilesYApache Software Foundation\Apache2.2\.
Примечание переводчика
Наверное, автор немного ошибся. По умолчанию РНР устанавливается в ката-
лог C:\PHP.
Установка и настройка
99
Чтобы добавить каталог РНР в список Path, выполните команду меню Пуск |
Панель управления | Система. Вы увидите окно Свойства системы Пе-
рейдите на вкладку Дополнительно и нажмите кнопку Переменные среды
(рис. 3.10).
Рис. 3.10. Нажмите кнопку Переменные среды
Пролистайте список Системные переменные и найдите переменную Path
(рис. 3.11). Выделите ее и нажмите кнопку Изменить. Появится окно Изме-
нение системной переменной. Значение переменной path может быть очень
длинным. Для перемещения в конец значения нажмите клавишу <End>. По-
сле этого добавьте точку с запятой (,) и укажите полное имя РНР-каталога.
После этого нажмите кнопку ОК для установки нового значения. Затем еще
два раза нажмите кнопку ОК— один раз в окне Переменные среды, а вто-
рой раз — в окне Свойства системы. Изменения вступят в силу только после
перезагрузки вашего компьютера. Перезагрузите компьютер прямо сейчас и
можете приступать к тестированию РНР на сервере Apache. Сразу после пе-
резагрузки вы можете перейти к разд. "Тестирование РНР" далее в этой гла-
ве, пропустив неактуальные для вас разделы.
100
Гпава 3
Внимание!____________________________________________________
Во время написания этих строк модуль, использующийся для связки РНР 5
с Apache (php5apache2.dll), не работал правильно. Получить корректно рабо-
тающую версию этого модуля можно на сайте www.apachelounge.com. Хотя со
временем данная проблема должна быть устранена.
Примечание переводчика_______________________________________
Прогнозы автора книги подтвердились, новая версия (поставляется с послед-
ними версиями РНР 5) php5apache2.dll прекрасно работает с Apache 2, поэтому
посещать сайт www.apachelounge.com не нужно.
Рис. 311 Выберите переменную Path в списке системных переменных
Установка РНР на сервер Apache под управлением Linux
В Linux я рекомендую откомпилировать исходный код РНР самостоятельно,
а затем уже установить его. Поскольку существует множество разных дист-
рибутивов Linux, данный технический процесс выходит за рамки этой книги.
Об установке РНР в UNIX/Linux вы можете прочитать по адресу:
www.php.net/manual/en/install.unix.apache2.php.
Примечание переводчика
Опять не согласен с автором по поводу компиляции исходного кода РНР. Го-
раздо проще установить уже откомпилированные пакеты с РНР. О том, как это
сделать, вы можете прочитать в книге Колисниченко Д. Н. Серверное примене-
ние Linux. — СПб.: БХВ-Петербург, 2008.
Установка и настройка
101
Установка РНР на сервер Apache под управлением Mac OS
Вы можете загрузить инсталлятор РНР для Mac OS, а затем установить с его
помощью РНР. Подробную информацию об установке и настройке РНР в
Mac OS вы можете получить по адресу:
http://developer.apple.coni/internet/opensource/php.html
Последние версии Mac OS поддерживают свободную среду разработки
Xcode. Xcode поддерживает много языков программирования, в том числе и
РНР. Исчерпывающую информацию об Xcode вы можете получить по адресу:
http://developcr.apple.coni/intcrnet/scripting/phpapplcdevtools.htnil
Установка РНР на Microsoft Internet Information Server
У многих Windows-пользователей уже установлен Microsoft Internet Infor-
mation Server (IIS), поэтому из соображений экономии системных ресурсов,
нет особого смысла устанавливать еще один Web-сервер1. К тому же MS IIS
оптимизирован для Windows и позволяет достичь большей производительно-
сти, чем Apache на Windows-платформе.
Загрузите инсталлятор РНР и запустите его. Когда инсталлятор спросит, ка-
кой Web-сервер вы будете использовать, выберите IIS и укажите его версию.
По умолчанию РНР будет установлен в каталог С:\РНР\.
Когда инсталлятор спросит вас, хотите ли вы добавить каталог РНР в список
поиска (переменная Path), согласитесь (выберите Yes), что позволит 11S найти
все необходимые для запуска РНР компоненты. Кроме этого, инсталлятор
отобразит предупреждение, о том, что карта скриптов не зарегистрирована, и
спросит, хотите ли вы ее зарегистрировать. Соглашайтесь.
По окончанию установки вы увидите следующее сообщение:
NT user may need to set appropriate permissions for the various php files
and directories. Usually IUSR_MachineName (or the user your web server
runs as) will need read writer access to the uploadtmp and session
directories, and execute access for php.exe and php4ts.dll.
Примечание переводчика
Данное сообщение напоминает пользователям NT (Windows NT, 2000, ХР,
Server 2003, Vista), что нужно установить права доступа к файлам и каталогам
РНР. В частности, пользователь Ю5Р._ИмяКомпьютера (или любой другой, от
имени которого запускается IIS) должен иметь право чтения и записи каталогов
uploadtmp и session, а также право запуска файлов php.exe и php4ts.dll. Права
доступа нужно устанавливать, только если вы используете файловую систему
NTFS.
1 Имеется в виду Apache. — Пер.
102
Гпава 3
После изменения переменной Path вам нужно перезагрузить компьютер, по-
этому сделайте это прямо сейчас.
Тестирование РНР
После установки РНР нужно протестировать его путем написания небольшой
PHP-программы. Откройте текстовый редактор (например. Блокнот) и введи-
те следующую строку:
<?php phpinfoO; ?>
Рис. 3.12. Информационная страница РНР
Установка и настройка ЮЗ
Сохраните файл под именем phpinfo.php и поместите его в корневой каталог
документов вашего Web-сервера. Откройте браузер и введите следующий
URL:
http://Iocalhost/phpinfo.php
Ваш браузер отобразит информационную страницу РНР (рис. 3.12). Сохрани-
те или распечатайте данную информационную страницу. В будущем, если
у вас возникнут какие-либо проблемы с настройками сервера, вы сможете
сравнить текущие параметры с установленными ранее параметрами (с печат-
ной версией информационной страницы). Однажды это помогло мне выяс-
нить причину проблемы.
Если ваш браузер не отобразил информационную страницу, а инсталлятор
РНР сообщил, что установка прошла успешно, прочитайте разд. "Решение
проблей" далее в этой гчаве, чтобы выяснить, что произошло. Сейчас вы мо-
жете только попытаться перезагрузить систему, чтобы убедиться, что модуль
РНР загружен.
Установка и настройка MySQL
MySQL— превосходный бесплатный реляционный сервер баз данных, кото-
рый по своим функциям ничем не уступает коммерческим проектам ценой в
несколько тысяч долларов. Joomla! использует MySQL для хранения тексто-
вого контента и большинства настроек сайта. Установка MySQL довольно
проста, настройка немного сложнее.
Загрузить MySQL можно с сайта wvwv.niysql.com. Щелкните на ссылке
Downloads в левой части сайта. В большинстве случаев нужно скачать пятую
версию MySQL, поскольку у нее больше новых функций, чем у предыдущих
версий. Если по некоторым причинам нужно использовать четвертую вер-
сию, знайте, что Joomla! превосходно работает с ней1.
Совет__________________________________________________________
Если у вас Mac OS Server Edition, то устанавливать MySQL вам не нужно — он
уже установлен. Запустить MySQL Manager можно командой меню Appli-
cations | Server | MySQL Manager.
Существуют два вида инсталляторов MySQL: Essentials (базовый) и Complete
(полный). Вам нужен базовый инсталлятор, хотя в книге будет использовать-
ся его полная версия для более подробного описания.
После загрузки MySQL-сервера я настоятельно рекомендую отдельно скачать
программу MySQL Administrator tool, предоставляющую графический интер-
фейс администратора: она сделает вашу жизнь проще. Программа абсолютно
1 Нужно только использовать последнее обновление четвертой версии. — Нср.
104
Гпава 3
бесплатна и находится в разделе GUI Tools на Web-сайте www.mysql.com
Мы будем использовать ее в следующей главе.
После загрузки инсталлятора его нужно извлечь из ZIP-архива в любой ката-
лог на жестком диске.
Установка MySQL
Инсталлятор MySQL одинаково работает на всех платформах. В этой главе
мы рассмотрим процесс установки MySQL в Windows, но на остальных
платформах он происходит аналогично. Для начала распакуйте инсталлятор
на жесткий диск и запустите его (рис. 3.13). Нажмите кнопку Next, чтобы пе-
рейти к установке.
Рис. 3.13. Запуск инсталлятора
Для работы Joomla! вам не нужны все те утилиты, которые входят в состав
полной (Complete) установки. Выберите тип установки Typical и нажмите
кнопку Next
Когда увидите экран подписки на MySQL.com. позволяющий подписаться на
рассылку по e-mail-информации об обновлениях, выберите Skip Sign-Up for
MySQL.com для отказа от подписки. Информация, предоставляемая коман-
дой MySQL.com, полезна, но не будем тратить на процесс подписки время.
Для начала установки вам нужно нажать кнопку Next. На большинстве ком-
пьютеров установка не займет и десяти минут1. Хотя установка завершена,
1 На моем не очень мощном компьютере установка заняла считанные секунды. — Пер.
Установка и настройка
105
это не еще не конец Вам предстоит выполнить базовую настройку MySQL,
для этого не выключайте флажок Configure the MySQL Server now и на-
жмите кнопку Finish для запуска мастера настройки.
Настройка MySQL
После отображения мастером конфигурации экрана приветствия вам нужно
будет выбрать между стандартной (Standard Configuration) и расширенной
конфигурацией (Detaded Configuration), как показано на рис. 3.14. Даже
если вы оставите все опции как есть, т е. по умолчанию, вы получите под-
робное представление о настройке MySQL
Рис. 3.14. Выберите вариант Detailed Configuration и нажмите кнопку Next
Далее нужно выбрать тип сервера (рис. 3.15). Поскольку в этой главе мы го-
ворим о том, как настроить машину разработчика Joomla!, вы можете вы-
брать опцию Developer Machine (Машина разработчика). Если же компьютер
будет сконфигурирован как MySQL-сервер или как выделенный MySQL-
серйер', вы можете выбрать соответствующие опции — Server Machine или
Dedicated MySQL Server Machine.
Далее нужно выбрать предполагаемое использование сервера баз данных.
Поскольку Joomla! может адресовать сервер многими способами, вы можете
оставить выбранной опцию Multifunctional Database (Многофункциональная
' Когда на этом компьютере не запускаются серверы, кроме MySQL. — Пер.
106
Гпава 3
база данных) и нажать кнопку Next (рис. 3.16). Если вы устанавливаете
MySQL на сервере заказчика, где будет установлена Joomla!. или же на сер-
вере виртуального сообщества, где будет много транзакций, возможно, нуж-
но выбрать опцию Transactional Database. Однако в большинстве ситуаций
оптимальным будет выбор по умолчанию.
Рис. 3.15. Для экспериментов с Joomla' выберите вариант Developer Machine
MySQl. Server Instance Conf guration Wizard
MySQL Server Instance Configuration
Configure the MySQL Server 5.0 server instance.
Please select the database usage.
’• Mu tifunctional Database
General purpose databases. This will optimize the server for the use
of the fast transact onal IrmoDB storage engine and the high speed
MylSAM storage engine.
Transactional Database Only
Optimized for application servers and transactional web applications
This will make InnoDB the main storage engine. Note that the
MylSAM engine can still be used.
Non-Transactional Database Dnly
Suited for simple web applications, monitoring or logging applicat on$
as well as analysis programs. Only the non transactional MylSAM
storage engine will be activated.
<Back i | Next >| Cancel
Рис. 3.16. Выберите вариант Multifunctional Database и нажмите кнопку Next
Установка и настройка W7
Теперь вам предстоит выбрать расположение файлов данных MySQL. В боль-
шинстве случаев подойдет значение по умолчанию. Если вы хотите хранить
файлы данных в другом месте, выберите иное расположение или другой
диск. Для продолжения нажмите кнопку Next.
На следующем этапе настройки сервера вам нужно выбрать, как MySQL бу-
дет распределять конкурирующие соединения (рис. 3.17). Поскольку мы ус-
танавливаем сервер разработчика, лучшим выбором будет вариант по умол-
чанию, т. е. Decision Support (DSS)/OLAP, поэтому просто нажмите кнопку
Next. Однако если вы устанавливаете MySQL на полноценном Web-cepeepe,
выберите Online Transaction Processing (OLTP) и ваш сервер будет опти-
мизирован для большой загрузки, когда есть много конкурирующих пользо-
вателей.
Рис. 3 17 Выберите вариант Decision Support (DSS)/OLAP и нажмите кнопку Next
Следующий этап— сетевые параметры (рис. 3.18). Опция по умолчанию
устроит большинство пользователей, поэтому можете просто нажать кнопку
Next. Единственный параметр, который, возможно, вам нужно будет изме-
нить — это номер порта (Port Number). Порт 3306 — это стандартный порт
для MySQL. Однако некоторые брандмауэры запрещают использование этого
порта, поэтому работать с MySQL невозможно. Если системный администра-
тор сообщил вам номер доступного порта, вы можете указать его тут.
После выбора номера порта нужно задать используемую кодировку. Вы мо-
жете указать стандартный набор символов— Standard Character Set (будет
108
Гпава 3
использоваться UTF-8) и нажать кнопку Next Если вы планируете использо-
вать другую кодировку, ее нужно выбрать здесь. При установке Joomla! вы
должны выбрать эту же кодировку.
Убедитесь, что выбрана расширенная настройка и нажмите кнопку Next.
Рис. 3.18. Параметры TCP/IP по умолчанию изменять не нужно, просто нажмите кнопку Next
Примечание переводчика____________________________________________
Для нормальной поддержки русского языка лучше всего выбрать кодировку
ср1251.
Удобно, чтобы MySQL запускался как фоновая служба (рис. 3.19), поэтому
оставьте опции как есть и убедитесь, что флажок Launch the MySQL Server
automatically включен.
Кодировка UTF-8 __________________________________________________
В этой книге мы уже не раз упоминали UTF-8, и, наверное, вам интересно
знать, что это такое. Во времена стандартизации первых компьютеров символы
хранились (в памяти или на жестком диске) и передавались (на принтер или по
модему) как 7-битные числа. Бит— это один двоичный разряд, принимающий
одно из двух значений: 1 или 0.
В кодировке, известной под названием ASCII (American Standard Code for
Information Interchange), символы были представлены так: число 65 означалс
букву А, число 66 — букву В и т. д. Всего в кодировке ASCII было определено
128 символов с номерами от 0 до 127 (это максимум, что можно представить,
используя всего 7 битов).
Установка и настройка 109
Кодировка ASCII была превосходным решением, пока не возникла проблема
локализации. При ограничении в 128 символов никак не сохранить тысячи ки-
тайских символов и символов других незападных языков.
Позже появилась другая кодировка — Unicode, использующая два байта
(2x8 = 16 битов) для хранения одного символа. Это решило проблему нехват-
ки символов, но удвоило размер памяти, необходимой для хранения одного
символа.
UTF-8 создана для решения этой проблемы. UTF-8— это кодировка с пере-
менной "длиной” символа. Один символ может занимать от 1 до 4 байтов.
Большинство символов представляются как обычные ASCII-символы и занима-
ют мало памяти (1 байт), но при необходимости UTF-8 может кодировать пол-
ный текст Unicode (например, китайский иероглиф).
Joomla! полностью поддерживает UTF-8. При добавлении контента вы не буде-
те беспокоиться по поводу того, какую кодировку использует ваша система.
Рис. 3.19. Убедитесь, что флажок Launch the MySQL Server automatically включен,
и нажмите кнопку Next
Следующий шаг— ввод пароля администратора MySQL. Вы можете не вво-
дить этот пароль, но из соображений безопасности лучше этого не делать. Вы
можете ввести такой же пароль, который используете для учетной записи
администратора в вашей системе. Если будете использовать другой пароль,
убедитесь, что вы записали выбранный вами пароль и спрятали в безопасном
месте. Пароль администратора MySQL вы будете вводить очень редко, по-
этому можете забыть его, если не запишете где-нибудь. Только убедитесь,
что вы спрятали его подальше от посторонних глаз.
110
Глава 3
Нажмите кнопку Execute для начала процесса конфигурации. Если в процес-
се конфигурации возникли ошибки, обязательно прочитайте разд. "Решение
проблем" далее в эпюи главе. Если все настроено правильно, вы увидите спи-
сок пройденных этапов конфигурации (рис. 3.20).
Сейчас ваш MySQL-сервер настроен и запущен. Если вы еще не скачали про-
грамму MySQL Administrator (часть пакета MySQL GUI Tools), самое время
Рис. 3.20. Успешно пройденные этапы настройки MySQL отмечаются синими галочками
Рис. 3.21 Введите имя пользователя и пароль администратора и нажмите кнопку ОК
Установка и настройка
111
сделать это. Установите программу, и вы сможете наблюдать за вашим но-
вым сервером.
При первом запуске MySQL Administrator попросит вас указать основные па-
раметры соединения (рис. 3.21). При следующем запуске вам не нужно будет
вводить параметры соединения заново: программа запомнит все, кроме паро-
ля. В нашем случае я регистрируюсь на локальном сервере MySQL Если у
вас удаленный MySQL-сервер, конфигурационный диалог будет слегка отли-
чаться от приведенного в книге.
Когда откроется интерфейс администратора, вы увидите общую информацию
о сервере (рис. 3.22).
Рис. 3.22. Общая информация о MySQL-сервере
Создание базы данных Joomla!
с помощью MySQL Administrator
Права доступа к удаленному Web-узлу — довольно сложный вопрос, и по-
этому он подробно рассматривается в следующей главе. Одна из самых
112
Гпава 3
сложных в настройке возможностей— это возможность какой-либо про-
граммы создавать новую базу данных. На некоторых Web-узлах такая воз-
можность отсутствует.
Как только программа' получает разрешение на создание базы данных, уве-
личивается потенциальная возможность взлома системы хакером. Поэтому
мы не будем предоставлять Joomla! возможность создания базы данных, а
создадим ее вручную во избежание многих проблем.
Вы можете создать базу данных с помощью всего лишь одной команды
MySQL Administrator. Зарегистрируйтесь в MySQL Administrator, перейдите в
область Catalogs, щелкните правой кнопкой на существующих схемах (левая
часть окна программы) и из контекстного меню выберите команду Create
New Schema (рис. 3.23).
Рис. 3.23. Щелкните правой кнопкой мыши и выберите команду Create New Schema
На моем сервере уже была существующая база данных Joomla! 1.0
(Joomla! 1.0 и 1.5 могут сосуществовать на одном сервере), поэтому новую
1 Например, Joomla!. —Пер.
Установка и настройка
113
базу данных я назвал joomlai5. Вы можете использовать название базы дан-
ных Joomla!, если у вас нет других инсталляций Joomla!. Позже, после запус-
ка инсталлятора Joomla!, вы можете просмотреть содержимое базы данных
Joomla! с помощью MySQL Administrator (рис. 3.24).
Рис. 3.24. С помощью MySQL Administrator вы можете изучать таблицы Joomla!
С помощью MySQL Administrator вы также можете создавать пользователей
MySQL. Можно создать пользователя для Joomla! и предоставить ему необ-
ходимые для доступа к базе данных полномочия. Нажмите кнопку User
Administration (в левой части окна) и создайте нового пользователя с помо-
щью кнопки Add new user. Имя пользователя может быть любым, например,
joomla или joomlaAdmin. После создания пользователя, выделите его и пе-
рейдите на вкладку Schema Privileges. Данному пользователю нужно предо-
ставить полный доступ к базе данных Joomla!.
На вкладке Schema Privileges нажмите кнопку «, чтобы переместить все
привилегии из области доступных полномочий (Available Privileges) в об-
ласть присвоенных полномочий (Assigned Privileges), как показано на
рис. 3.25. Для подтверждения изменений нажмите кнопку Apply changes.
114
Гпава 3
Рис. 3.25. Предоставление полномочий пользователю Joomla! для доступа к БД Joomla!
Вот и все. Теперь при установке Joomla! вы можете создавать таблицы в базе
данных]оот!а15 с использованием учетной записи Joomla!.
Создание базы данных Joomla!
из командной строки MySQL
Если на вашем узле доступен только текстовый MySQL-интерфейс, в этом
разделе мы поговорим о том, как создать базу данных Joomla! из командной
строки. Если вы хотите использовать командную строку локального MySQL-
сервера, выполните команду Пуск | MySQL | MySQL Server | MySQL
Command Line Client. Текстовый клиент MySQL сначала попросит вас ука-
зать пароль пользователя root, а потом уже зарегистрируется на сервере
MySQL.
Примечание переводчика
Если вы используете ХАМРР, то для запуска командной строки MySQL нужно
выполнить следующие действия:
1. Нажать комбинацию клавиш <33>+<R>, ввести команду and и нажать кла-
вишу <Enter>.
Установка и настройка
115
2. Ввести команду c:\xampp\mysql\bin\mysql -u rcot и нажать клавишу
<Enter>.
Если введенный пароль— правильный, вы увидите окно, подобное изобра-
женному на рис. 3.26. На рисунке видно приглашение mysql>— вы можете
вводить команды.
Рис. 3.26. Командная строка MySQL — вы можете вводить команды SQL
Для создания базы данных Joomla! нужно ввести всего одну команду:
mysql> CREATE DATABASE joomla;
В ответ вы должны увидеть Query ОК и сообщение о том, что обработана
одна строка SQL-кода. Чтобы увидеть все существующие базы данных, дос-
тупные пользователю, под которым вы зарегистрировались на сервере
MySQL, используется команда:
SHOW DATABASES;
Вы увидите список баз данных, подобный изображенному на рис. 3.27.
Рис. 3.27 Список доступных баз данных
116
Гпава 3
Настройка прав доступа к файлам и каталогам
Правильная настройка прав доступа — один из самых важных аспектов на-
стройки Зоот1а!-системы. В ОС UNIX/Linux для изменения прав доступа ис-
пользуется команда cbmod.
Изменить права доступа к файлам и каталогам можно с помощью практиче-
ски любого FTP-клиента. В FileZilla нужно щелкнуть правой кнопкой мыши
на файле и выбрать команду Атрибуты файла. Права доступа будут отобра-
жены в окне Изменить атрибуты файла (рис. 3.28). Вы можете изменить
права доступа по своему усмотрению, отметив соответствующие флажки, а
можете сразу ввести числовое значение прав доступа (например, 777).
Рис. 3.28. Изменение прав доступа с помощью FileZilla
Рис. 3.29. Многие хостинг-провайдеры предоставляют cPanel для управления хостингом
Многие хостинг-провайдеры предоставляют панель управления хостингом
cPanel (рис. 3.29). cPanel (или Control Panel) позволяет осуществлять всевоз-
можные функции: от запуска инсталляционных сценариев (сценариев уста-
новки Joomla!, MySQL, Gallery2 и т. д.) до управления файлами Для измене-
Установка и настройка 117
ния прав доступа можно использовать утилиту File Manager из cPanel. File
Manager позволяет перемещать, удалять, редактировать, переименовывать,
копировать файлы и каталоги. Для нас же основной является функция изме-
нения прав доступа к файлам и каталогам.
Выберите файл или каталог, права доступа к которому вы хотите изменить, и
щелкните на ссылке Change Permissions (рис. 3.30). Вы увидите Web-
интерфейс для утилиты chmod, позволяющий изменять права доступа для вла-
дельца (User), членов группы владельца (Group) и остальных пользователей
(World).
Рис. 3.31. Нажмите кнопку Change
для установки новых прав доступа
Рис. 3.30. Нажмите на ссылке
Change Permissions
Установите права доступа и нажмите кнопку Change (рис. 3.31) для сохране-
ния новых параметров. Если вы получите сообщение об ошибке, обратитесь к
вашему хостинг-провайдеру.
Установка файлов Joomla!
В этой главе мы разобрались, как установить и настроить все серверы, необ-
ходимые для установки Joomla!. Теперь, когда все серверы запущены, вы
можете, пользуясь инструкциями из предыдущей главы, установить Joomla!
на свой сервер.
При наличии правильно настроенных ХАМРР, WAMPP, LAMPP или МАМР
у вас не должны возникнуть трудности с установкой Joomla!. Если при уста-
новке Joomla! появится ошибка (например, ошибка доступа или проблема с
соединением MySQL), обратитесь к следующему разделу.
Решение проблем
Если у вас возникли проблемы с одним из серверов, возможно, вы найдете
решение проблемы в этом разделе. Технические проблемы могут быть на-
столько сложными и настолько разными, что невозможно рассмотреть все
118
Гпава 3
возможные ситуации в одной книге. В этом разделе я попытался собрать про-
блемы, с которыми столкнулся сам лично, и проблемы, с которыми столкну-
лись другие пользователи Интернета. Для каждой проблемы приводится как
минимум одно решение.
Помните, что довольно часто мы боремся не с причиной проблемы, а с ее
симптомами. Часто вы пытаетесь решить, как вы думаете, не проблему, а ее
следствие. Понятно, что все следствия будут устранены после решения при-
чины. Поэтому даже если описание проблемы в этой главе не совсем соответ-
ствует вашей ситуации, вы обязательно прочитайте ее решение. Полагаю, что
оно поможет вам найти решение именно вашей проблемы.
Проблемы с сервером Apache
В этом разделе мы рассмотрим общие проблемы, возникающие при установ-
ке и настройке сервера Apache. Помните, что ошибка может быть не только в
самом Apache, но и в связке Web-сервера с РНР и MySQL. Прежде чем при-
нять решение, прочитайте разделы, посвященные решению проблем с РНР и
MySQL, чтобы убедиться, что причина сбоя именно в Apache.
Удаленный доступ к серверу
Я запустил сервер Apache на моем локальном компьютере под управлением
Windows ХР, но не могу получить доступ к Web-серверу с других компьюте-
ров сети. В чем проблема?
Решение 1
В Windows ХР Service Pack 2 есть брандмауэр, блокирующий все IP-порты, в
том числе и порт 80, который Apache использует для общения "со всем ми-
ром". Если этот порт блокируется, Apache не будет работать!
Сначала убедимся, что проблема в брандмауэре. Выполните команду Пуск |
Панель управления | Брандмауэр Windows. Выключите брандмауэр, после
чего перезапустите Apache и попытайтесь получить к нему доступ с другой
машины. Если по-прежнему вы не можете получить доступ к вашему Web-
серверу, значит, причина не в брандмауэре, а в чем-то другом.
Если же все работает нормально, включите брандмауэр снова. Ведь вы не хо-
тите, чтобы ваша машина осталась незащищенной? Перейдите на вкладку
Исключения (эта вкладка будет в окне настройки брандмауэра) и нажмите
кнопку Добавить порт. Добавьте порт 80, как показано на рис. 3.32.
Для нормальной работы Joomla! вам нужно открыть несколько портов Ведь
вы можете устанавливать защищенные соединения по HTTPS (порт 443).
Установка и настройка
119
Также нужно открыть порт MySQL— 3306. Для серверов типа ХАМРР нуж-
но открыть следующие порты:
♦ FTP, порт 21:
♦ SMTP, порт 25;
♦ POP3, порт 110;
♦ IMAP, порт 143;
♦ AJP/1.3, порт 8009;
♦ HTTP-ALT, порт 8080 (порт для Tomcat по умолчанию).
?->-чгиь»»этрыдпяаь-)».п>в1 •»/» .'».«flMaa?p
Чтобы Г .1ИТИ И*.,.Г., IlCVbl'
дса.^.«»<гациипгх»'раь»« и«< сгу»и-'
Ими
Ном»" "орта' вЧ
флор TCP nocirUOr
Sr J ЬШЫ tr
Изменить область Отмена
Рис. 3.32. Для разрешения Web-сервера нужно открыть порт 80
Решение 2
По умолчанию Apache использует стандартный порт для Web-сервера — 80.
Только одно приложение может использовать порт в одно и то же время.
Возможно, некоторые другие приложения (например, Skype) могут блокиро-
вать этот порт. Первым делом попытайтесь завершить работу других интер-
нет-приложений и перезапустите Apache.
Если это не сработает, вам нужно переконфигурировать Apache, указав иной
порт. Для этого нужно изменить следующие директивы файла конфигурации
httpd.conf:
♦ Listen;
♦ Port:
♦ BindAddress.
120
Гпава 3
В зависимости от версии Apache, некоторые директивы могут отсутствовать
в вашем конфигурационном файле по умолчанию. Тем не менее, вы можете
добавить их в ваш конфигурационный файл, и сервер распознает их.
Начните с директивы Listen. Установите другое значение (например, 8080) и
перезапустите Apache Проверить работоспособность конфигурации можно,
добавив номер указанного порта к IP-адресу Web-узла, например:
http://127.0.0.1:8080
Проблемы с файлом .htaceess
После переименования файла htaccess.txt в файл .htaceess на Apache/PHP-
сервере при обращении к любой ссылке генерируется ошибка 404'.
Решение
На вашем Web-сервере или, возможно, на сервере хостинг-провайдера вклю-
чено кэширование файла .htaceess. Обычно перезагрузка кэша производится
один раз в час. Подождите и повторите попытку снова. В большинстве случа-
ев проблема исчезнет сама по себе.
Примечание____________________________________
Возможность записи файла configuration.php можно включить с помощью пане-
ли управления cPanel.
Не работает SSI
SSI (Server Side Includes) не работает, и я получаю сообщение об ошибке
"INCLUDES filter removed".
Решение
Проверьте вашу директиву Options, возможно, нужно добавить опцию
includes. Может, данная директива перезаписывается в каком-нибудь конфи-
гурационном файле. Просмотрите все .conf-файлы и измените директивы
AllowOverride None на AllowOverride Options.
Странное поведение сервера Apache
Мой сервер Apache стал генерировать необъяснимые сообщения об ошибках,
"обрезать" файлы, т. е. при загрузке с сервера файлы стали повреждаться.
1 Файл не найден. — Пер.
Установка и настройка 121
Решение
Вы установили расширение Apache, которое изменило некоторые параметры,
использующиеся для ускорения передачи файлов (например, подкачку памя-
ти, использование Winsock AcceptEx и т. д.). Вы можете отключить это рас-
ширение, добавив следующие три директивы в ваш файл httpd.conf:
EnableMMAP Off
EnableSendfile Off
Win32DisableAcceptEx
После этого перезагрузите Web-сервер. Если это не помогло, попытайтесь
переустановить сервер.
Проблемы с РНР
Наиболее сложные проблемы с РНР возникают из-за неправильных настроек
в php.ini. Конфигурационный файл очень большой, и в нем огромное количе-
ство опций, которые могут конфликтовать друг с другом.
Примечание переводчика_____________________________________
Если вы хотите более углубленно разобраться с инициализацией РНР, могу по-
рекомендовать книгу Колисниченко Д. Н. Профессиональное программирование
на РНР. — СПб.: БХВ-Петербург, 2007.
PHP-сценарии не выполняются
Я пытаюсь открыть созданную страницу phpinfo.php, но в браузере ничего не
появляется1.
Решение
Всякий раз, когда открываемая в браузере PHP-страница пуста, выполните
команду меню браузера Вид | Просмотр HTML-кода. Вы увидите HTML-
код, полученный от сервера. Если PHP-код не был обработан, как планирова-
лось, будет возвращена абсолютно пустая страница. Возможно, был возвра-
щен HTML-заголовок, что говорит о том, что PHP-код выполнялся, но про-
изошла ошибка. Глядя на HTML-код, можно понять, выполнялся ли вообще
РНР-код.
Если РНР-код вообще не выполняется, убедитесь, что PHP-расширения нахо-
дятся в подкаталоге \ext каталога, в который был установлен Apache. С дру-
гой стороны, если при просмотре HTML-кода был некоторый вывод, воз-
1 Или браузер отображает исходный код phpinfo.php вместо информационной страницы. —
Пер.
122
Гпава 3
можно, что при выполнении PHP-сценария произошла ошибка. Просмотрите
файлы журналов сервера Apache: вы найдете в них описание ошибки или же
включите директиву display errors для отображений ошибок. После этого
нужно перезапустить Apache и заново запросить страницу с ошибкой.
Ошибка "No input file specified"
При попытке запуска РНР я получаю сообщение "No input file specified" и
РНР не запускается.
Решение
Некоторые инсталляторы неправильно устанавливают директиву docroot, и
это вызывает проблему, особенно на системах с несколькими Web-узлами.
Проверьте ваш php.ini и удалите текущее значение директивы.
Изменения php.ini не вступают в силу
Когда я редактирую php.ini, создается впечатление, что изменения не всту-
пают в силу.
Решение 1
Изменения в php.ini не вступят в силу до следующего перезапуска Web-
сервера В случае с Apache используйте команду Restart меню Apache Server
Control. Если у вас Microsoft IIS, вы можете выполнить команду iisreset
/stop для остановки сервера и команду net start w3svc для его запуска. По-
сле перезапуска сервера изменения вступят в силу.
Решение 2
В вашей системе установлено несколько файлов php.ini. Некоторые инстал-
ляторы помещают файл php.ini в каталог Windows. Вы можете просто редак-
тировать не тот файл. Найдите все файлы php.ini в вашей системе. Попробуй-
те переименовать их, добавив к имени файла суффикс InActive, чтобы опре-
делить, какой из файлов работает. После этого перезапустите Apache, и вы
увидите, какой из файлов php.ini используется.
IIS возвращает ошибку 505, и РНР не запускается
При запуске PHP-сценария под управлением IIS сервер возвращает ошибку
505 "Указанный модуль не найден".
Решение
Иногда у инсталляторов РНР наблюдаются проблемы с длинными именами
(длиннее, чем старые DOS-имена— восемь символов для имени файла и три
Установка и настройка 123
для расширения) файлов или каталогов, а также с пробелами, используемыми
в них. Попытайтесь переместить каталог РНР в какой-нибудь каталог с про-
стым именем, например, C:\php5. Если у вас РНР находится в каталоге
\Program Files, будьте готовы к возможным ошибкам при выполнении неко-
торых сценариев.
Проблемы с MySQL
Вообще настройка РНР довольно проста, но иногда для того чтобы заставить
РНР и MySQL работать вместе, нужно потрудиться. Как уже я рекомендовал
в предыдущей главе, нужно идти по пути наименьшего сопротивления, т. е.
использовать знаменитый метод KISS (Keep It Super Simple).
Попытайтесь сузить проблему и провести ряд базовых тестов, постепенно
усложняя их. Когда я сталкиваюсь с проблемой, то использую командную
строку MySQL, чтобы устранить ряд проблем, связанных в том числе и с ин-
терфейсом администратора. Из командной строки я могу понять источник
проблемы, возникшей в моем РНР-коде.
Ошибка подключения к MySQL-серверу
При попытке подключения к серверу я получаю ошибку "Can't connect to
MySQL server" ("He могу подключиться к серверу MySQL"). Сервер MySQL
запущен, имя пользователя и пароль указаны правильно. В чем проблема?
Решение
Помешать соединению с MySQL-сервером может что угодно. Вот наиболее
вероятные причины:
♦ программа обычно подключается к серверу MySQL по протоколу TCP/IP,
используя номер порта по умолчанию — 3306. Убедитесь, что номер пор-
та задан правильно;
♦ попытайтесь использовать IP-адрес 127.0.01 вместо символьного имени
localhost в вашей программе (т. е. в PHP-сценарии). На некоторых систе-
мах имя localhost не разрешается в IP-адрес, поэтому вы не можете полу-
чить доступ к MySQL-серверу;
♦ на момент написания этих строк, на хостинге Yahoo! вместо localhost
нужно было использовать адрес mysql;
♦ в Linux вы также можете подключиться к MySQL, используя UNIX-
сокет— это файл, обычно называющийся /tmp/mysql.soc. Убедитесь, что
файл существует и что вы правильно указали его имя. Имейте в виду, что
периодически каталог Ztmp очищается, поэтому файл сокета может быть
удален;
124
Гпава 3
♦ убедитесь, что программа, с помощью который вы подключаетесь к
MySQL, поддерживает систему аутентификации, используемую MySQL-
сервером. Например, система аутентификации MySQL 4 абсолютно несо-
вместима с MySQL 5. Если программа пытается получить доступ к базе
данных с неподдерживаемой системой аутентификации, вы получите со-
общение о невозможности подключения к серверу, а не ошибку "Непра-
вильное имя пользователя или пароль". Чуть позже будет показано, как с
помощью программы, совместимой с MySQL 4, подключиться к серверу
MySQL 5;
♦ в Windows число портов ограничено. В системе может быть открыто
5000 портов. С одной стороны этого достаточно, но не для Интернета. По-
сле открытия порт резервируется на 120 секунд, после этого он должен
быть переназначен. Если у вас есть проблемы с соединением, попытайтесь
уменьшить время резервирования порта. Запустите редактор реестра
(regedit32.exe) и перейдите к ключу hkey_local_machine' system
\CurrentControlSet\Services\Tcpip\Parameters. Добавьте следующий па-
раметр: Имя — TcpTimedwaitDelay, тип — reg_dword, значение — ЗС Те-
перь время резервирования равно 30 секундам.
Невозможно создать Windows-службу MySQL
При установке MySQL (после нажатия кнопки Execute) я получаю сообще-
ние "Cannot create Windows service for MySQL. Error: 0". Как мне исправить
это?
Решение
Вполне возможно, что у вас уже установлен MySQL-сервер, знаете ли вы это
или нет (его могла установить одна из используемых вами программ). Сейчас
мы это проверим. Выполните команду меню Пуск | Панель управления |
Администрирование | Службы и просмотрите список установленных служб.
Вы можете увидеть службу MySQL, несмотря на то, что инсталлятор сообща-
ет, что службу невозможно установить.
Чтобы удалить старую службу, перейдите в командную строку и введите ко-
манду:
sc delete mysql
Данная команда запускает утилиту Service Control. Вы должны получить сле-
дующий ответ:
[SC] DeleteService SUCCESS
После этого попытайтесь снова запустить инсталлятор — все должно быть
нормально. Помните, что утилита sc есть в Windows ХР и в более поздних
Установка и настройка
125
версиях Windows (Server 2003, Vista). В более ранних версиях, например в
Windows 2000, ее нет, и вам нужно загрузить ее с сайта Microsoft.
Ошибка соединения во время установки
Во время установки MySQL я получаю ошибку соединения (рис. 3.33). Как
мне исправить ее?
Рис. 3.33. Проблема соединения во время установки MySQL
Решение
Проблема в вашем брандмауэре. Простейший способ решить ее — запустить
конфигуратор брандмауэра — Панель управления | Брандмауэр Windows.
На вкладке Исключения нужно нажать кнопку Добавить порт и ввести но-
мер порта MySQL (по умолчанию 3306), как показано на рис. 3.34. Нажмите
кнопку ОК и попытайтесь продолжить инсталляцию MySQL. Все должно
работать.
Проблема с подключением к MySQL 5
На моем Web-сервере запущен MySQL 5, но у меня возникла проблема
с подключением Joomla! к MySQL. Я получил сообщение о том, что Joomla!
не может подключиться к MySQL-серверу.
Решение
При переходе с четвертой к пятой версии MySQL был изменен метод аутен-
тификации паролей. Новая система аутентификации более безопасна, но не-
совместима с приложениями, написанными ранее (для более старых версий
126
Гпава 3
Рис. 3.34. Добавление порта
MySQL). Чтобы хоть как-то сгладить эту ситуацию, пятая версия поддержи-
вает метод аутентификации, используемой в четвертой версии.
С помощью командной строки MySQL вы можете установить старый стиль
аутентификации для отдельных пользователей. Запустите MySQL-клиента и
зарегистрируйтесь на MySQL-сервере. Введите следующую команду, заме-
нив имя пользователя (joomla) и пароль (mypass):
mysql> SET PASSWORD FOR 'joomla' = OLD_PASSWORD('mypass');
Если все нормально, то вы должны получить ответ:
Query ОК, 0 rows affected (0.02 sec)
Несмотря на то, что было обработано 0 строк, теперь ваша учетная запись
будет использовать старый стиль паролей. Запустите приложение, пытаю-
щееся подключиться к MySQL, снова — проблема должна быть решена.
Если вы хотите, чтобы для всех учетных записей использовалась старая схе-
ма аутентификации, запустите программу MySQL Administrator. Перейдите
на вкладку Security раздела Startup Variables Включите параметр Use old
passwords (Использовать старые пароли), как показано на рис. 3.35
Установка и настройка
127
Рис. 3.35. Включите выделенный параметр для использования стиля аутентификации MySQL 4
Резюме
Если вы устанавливаете корпоративный сервер или сервер для Joomla!, те-
перь вы знакомы с различными способами установки и настройки вашей сис-
темы. Вы можете использовать ХАМРР для быстрой установки и настройки
всех необходимых для Joomla! серверов. Альтернативно, можно настроить
каждый сервер отдельно в конфигурации LAMP/WAMP/MAMP.
Поскольку Joomla! для своей работы требует четыре разных сервера, которые
должны корректно работать вместе, при настройке вы можете столкнуться с
множеством проблем. В этой главе было представлено базовое руководство
по решению этих проблем. Используя эту информацию, вы сможете эффек-
тивно развернуть Joomla! в большинстве случаев.
ГЛАВА 4
Добавление контента
Контент — сердце вашего сайта. Потребность в управлении контентом —
движущая сила для внедрения CMS вроде Joomla!. Очень скоро вы обнару-
жите, что добавление нового контента занимает большую часть времени,
проводимого вами в Joomla! (разумеется, после первоначальной настройки).
Перед добавлением новых статей в Joomla! вы должны потратить некоторое
время на разработку концепции наполнения новым материалом.
Примечание переводчика_______________________________
Контент (от англ, content) — содержимое сайта, материал.
Вы можете задать вполне уместный вопрос: "Почему вы должны сначала ду-
мать об организации материала, а уж потом добавлять новый материал?"
Joomla! позволяет очень быстро и просто добавить новый материал. Через
некоторое время статей накопится очень много, и сайт выйдет из-под контро-
ля из-за плохой каталогизации.
Дезорганизованный сайт подобен компьютерному диску, где все файлы рас-
положены в одном-единственном каталоге — найти в нем что-то становится
невозможно! Создав соответствующие категории, вы организуете ваш мате-
риал иерархически (подобно структуре каталогов). Хорошо продуманные
категории позволяют упростить процесс создания и поиска страниц сайта
(статей).
Планирование содержимого сайта
Перед тем как приступить к планированию, вы должны понимать, как Joomla!
управляет контентом. Joomla! не использует открытую систему, подобную
структуре каталогов, у которой неограниченное количество уровней (имеют-
5 Зак 468
130
Гпава 4
ся в виду подкаталоги). Вместо этого иерархия ограничивается двумя уров-
нями, чего вполне хватает даже для больших сайтов. Эти два уровня называ-
ются разделами и категориями.
Также Joomla! позволяет хранить статический материал (который не принад-
лежит ни одной из категорий). Статический материал — это страницы, не
соответствующие созданной иерархии сайта, например страница "О компа-
нии", и поэтому их нельзя объединить с остальным контентом.
Некатегоризированный контент может быть также использован для хранения
статей, категория которых пока не определена. В этой главе мы довольно
подробно изучим статический контент.
Разделы и категории Joomla!
Joomla! — продвинутая в техническом плане CMS, поэтому статьи хранятся в
таблицах базы данных, а не в каталогах на жестком диске. Принадлежность
страницы к разделу и категории задается специальными полями. Такая орга-
низация позволяет достаточно просто реорганизовывать контент: вместо пе-
ремещения файлов из одного каталога в другой достаточно установить новые
атрибуты.
Весь контент Joomlal-сайта организован в двухуровневую (и только двух-
уровневую) иерархию. Самый верхний уровень — это разделы, второй уро-
вень — категории. Некоторые пользователи Joomla! никак не могут понять
разницу между разделами и категориями, поэтому не знают, как правильно
организовать их.
Самый простой способ разобраться с организацией Joomlal-сайта— это
представить сайт небольшой газетной компании. У каждого подразделения
(отдел новостей, рекламный отдел и т. д.) или раздела1 есть своя комната в
здании. В каждой в каждой комнате есть много ящиков для файлов. Катего-
рию Joomla! можно сравнить с таким ящиком. В свою очередь, в каждом
ящике есть много файлов — статей. Если иерархию Joomla! сравнить со
структурой каталогов, то структура Joomlal-контента будет выглядеть так:
Раздел\Категория\Статья
Используя данный способ записи пути, путь к статье "Joomla! License
Guidelines" из демо-данных Joomla! можно записать так:
About Joomla...\The Project\Joomla! License Guidelines
На рис. 4.1 показана карта Joomlal-сайта после установки демо-данных. Наи-
высший уровень содержит разделы (например, About Joomla!). В каждом
1 В терминологии Joomla!. —Пер.
Добавление контента
131
разделе есть определенное число категорий. Все разделы и категории могут
редактироваться администратором сайта, также администратор может добав-
лять новые разделы/категории и удалять уже имеющиеся.
Разделы Категории
The Project
The CMS
The Community
Latest News
Newsflash
Archive
General
Current Users
New to Joomla
Languages
Рис. 4.1. Карта Joomlal-сайта (используются демо-данные)
Site Opening Soon
New Joomla Release
Subscribe to new SVN
Вы можете найти нужный вам контент с помощью интерфейса администра-
тора, перемещаясь по дереву сайта от раздела до категории и, в конечном
итоге, до нужного элемента контента. Однако Менеджер материалов в
Joomla! отображает весь контент не в виде дерева, а в виде простого списка.
Зайдите в Менеджер материалов1. По умолчанию отображаются только пер-
вые 20 элементов. Перейдите в нижнюю часть окна и из раскрывающегося
списка Показать # выберите 100 (рис. 4.2).
Вы увидите, что всего в списке будет примерно 43 записи. Пролистайте спи-
сок, пока не найдете статью "Joomla! Features". Теперь посмотрите на столб-
цы таблицы для этой статьи: вы увидите ее название, состояние публикации,
флаг публикации на главной странице, права доступа, идентификатор (ID),
раздел, категорию, автора, дату последней модификации и общее количество
хитов (просмотров).
1 Панель управления Joomla! | Все материалы. — Пер.
132
Гпава 4
Рис. 4.2. Сколько элементов контента нужно показать за один раз
Joomla! умеет сортировать контент в любом выбранном порядке. В большин-
стве случаев Joomla! отображает контент в хронологическом порядке, поэто-
му последние статьи будут показаны первыми. Данный порядок сортировки
очень удобен, но иногда нам нужно просмотреть только статьи, содержащие-
ся в определенном разделе или категории. Статья "Joomla! Features" находит-
ся в разделе About Joomla! и в категории The CMS. В верхней части таблицы
из списка выбора раздела выберите раздел About Joomla! (рис. 4.3). После
этого вы увидите список статей, принадлежащих только выбранному разделу.
Также вы можете установить фильтр по категории, автору и по статусу пуб-
ликации. Поле Фильтр предназначено для поиска статей: вы можете ввести
часть заголовка статьи или ее идентификатор.
В списке выбора раздела можно выбрать Без категории для отображения
статических статей, не принадлежащих ни к одному разделу.
Фильтр: 1 Выполнить ][ Сброс
# Г” Заголовок
- Выверит» К 1ТвгориI
- Выберите раздел -
Без категории
Пуолмк.идш
ДО€1УП
1 Г Example Pages and Menu Links
--w---—Всем
2 Г What's New in 1 5?
Всем
Abo
door
з Г Joomlai Overview
4 Г Extensions
? О * ” Всем
2
© 3 Всем
Рис. 4.3. Выберите About Joomlai из списка выбора раздела
Добавление контента
133
Некатегоризированный или статический
контент
Если вы хотите быстро добавить какой-нибудь материал1, то можете выбрать
в качестве раздела Без категории — статья будет добавлена как некатегори-
зированный или статический контент. Это означает, что статья не появится
ни в одном разделе, но будет доступна как отдельная статическая страница.
Многие Web-мастера создают некатегоризированные статьи, поскольку хотят
получить сайт как можно быстрее. Вообще, это не очень хорошая идея. Если
вы создаете свой Joomlal-сайт сверху вниз (сначала определяете разделы, за-
тем категории, а потом уже создаете контент), а не снизу вверх, сайт будет
лучше организован и развиваться более гармонично. Небольшая инвестиция
времени в планирование сайта в перспективе многократно окупится, когда
сайт существенно вырастет в размерах.
Примечание________________________________________________
В предыдущих версиях Joomla! был отдельный менеджер для управления ста-
тическим контентом — Менеджер статического контента (Static Content
Manager). Начиная с версии 1.5, используется Менеджер материалов, который
управляет всеми видами статей.
План вашего сайта
Понимая структуру Joomla!-сайта, вы можете приступить к определению раз-
делов и категорий, которые лучше всего подойдут вашему сайту.
Потратьте некоторое время на планирование вашего сайта— это позволит
вам сделать понятный и полезный сайт.
Существует несколько программ, которые могут вам помочь в создании пла-
на сайта. Наиболее популярными являются Microsoft Word, FreeMind и Leo.
У каждого приложения есть преимущества и недостатки, поэтому какое луч-
ше — решать вам. Подумайте об иерархической структуре сайта, как о чем-то
большем, нежели о простой карте сайта. Лучше потратить полчаса на созда-
ние хорошего плана, чем целую неделю на реорганизацию сайта. Созданный
документ (схема сайта) будет важной частью документации сайта.
Совет_____________________________________________________
Даже если вы создаете сайт для себя, создайте и сохраните документацию
сайта. Со временем она вам пригодится Когда сайт разрастется и у вас поя-
вятся наемные работники, обслуживающие ваш сайт, документация по сайту
может понадобиться.
1 Например, черновик. — Пер.
134
Гпава 4
Режим структуры в Microsoft Word
Многие Web-дизайнеры и разработчики для создания плана сайта использу-
ют режим структуры MS Word1 В этом режиме вы можете создать простую
иерархическую структуру (рис. 4.4). На этом рисунке изображена структура
популярного сайта CNN.com. Данный сайт разбит на области, например,
Programs (Программы), Health (Здоровье), Education (Образование) и т. д.
Рис. 4.4. Режим структуры MS Word помогает планировать сайты
В использовании Word есть несколько преимуществ. Во-первых, MS Word
установлен на большинстве компьютеров, работающих под управлением
Windows. Во-вторых, drag-and-drop-возможности редактора позволяют реор-
ганизовать текст очень быстро и очень просто. Вы можете использовать кла-
виши <ТаЬ> и <Shift>+<Tab> для создания/удаления заголовков соответст-
венно.
К тому же, если вы создаете простой HTML-сайт (а не используете CMS),
после создания иерархической схемы сайта вы можете ее автоматически кон-
1 Меню Вид | Структура — Пер.
Добавление контента
135
вертировать в HTML, получив уже готовую схему в формате HTML, которая
станет фундаментом вашего сайта.
Однако у MS Word есть и недостатки. Возможности Word по экспорту соз-
данной схемы в один из часто используемых форматов документации сайта
довольно скудны. Да и возможности самого инструмента создания схемы то-
же оставляют желать лучшего: наблюдаются большие проблемы с формати-
рованием. когда вы пытаетесь распечатать созданную схему или просто вне-
дрить в уже существующий обычный документ. Кроме того, представление
отдельных уровней схем в полноразмерных шрифтах имеет непрезентабель-
ный вид. Поэтому для создания схем лучше использовать альтернативные
программы, которые к тому же являются бесплатными и свободно распро-
страняемыми.
FreeMind: отображение мысли
Скорее всего, вы не знакомы с концепцией отображения мыслей. Методика
отображения мысли разработана педагогом Тони Бьюзеном и представляет
собой метод визуализации организационной информации, которая отобража-
ет эту информацию в наиболее понятной и легко запоминающейся для чело-
века форме.
Примечание переводчика_________________________________________
В Интернете вы без особого труда найдете книги Тони Бьюзена, переведенные
на русский язык, конечно, если вам это интересно.
На рис. 4.5 представлена базовая организация сайта CNN.com с использова-
нием методики отображения мысли. Данная карта была создана бесплатным
Java-приложением FreeMind, доступным для загрузки на сайте http://
freemidn.sourceforge.net. Как показано на рис. 4.5, при визуализации схемы
сайта используется множество визуальных элементов (пиктограммы, стрелки,
области-облака). Иллюстрация в книге черно-белая, а карта мысли выводится
в полном цвете, что делает ее восприятие еще проще
Создание структуры сайта— это просто фантастически мощный и одновре-
менно простой способ визуализации. Для примера я создал карту сайта не-
движимости (рис. 4.6). Обратите внимание, как несбалансированна структура
сайта. Можно увидеть, что большая часть тем (топиков) сгруппирована в од-
ной области. У хорошо организованных сайтов структура более сбалансиро-
вана.
После небольшой ревизии, обновленная карта сайта выглядит более сбалан-
сированной (рис. 4.7).
Метод отображения мысли превосходно подходит для разработки структуры
Web-сайта, особенно для JoomlaJ-сайта. Создавая карту сайта, вы сможете
136
Гпава 4
american.jnominj/
natfHwk/index.htirt /
payht яИплкпуЙ ndex Jibnl
prima.nowi/
__________Khowbiz.tong't/j
____frtuation room/1 *
____________student news//
wctiive/hH}&x,titmt
bor^ i»bnl
archive/
/спп classroorn/archrve/
С»ЦРгоуяпв/
LOCAL/
__________gteiw.beck/ I
_________Lnrry.kKig
lou.dobbs.fwiight/
___nancy grace/
nancy, gracu/book html ।
__________cpen.house/j
paJa zahn.now/
EDUomov ------
fxlpainlngjctFvffies/achive/
^qtikJcguidc/crct'lveJ_
hg«thc ogy___________
HEALTH/ £ heajthcfogy q eaftirotogy cn
\*rary/
NDEX/abouLta/
_CNW
EMAIL?
HLN/_
_______archive
courtTv/iirchtveA
opnnofl/archive/
scotus/arcNve/y
iv^Rx^arohrvah.ml
btopi/polbcattickqiAndaxJitnii J>--------
-^FnpJ/wwwxnncorti s
C-nfral/
i midwest/
s northeast/
>?soudi/
\southweet/
\wett/
SHOW8IZ/
StudioTour/
TRAVEL/
'weather/,
_____about/
, feedback/
ZOOfl/Ugh tecim ports/
SPECIALS/ /zoOC/holiday. travel/
\ ZOOG/bmt^wty
tn/archive/
/ fun.gam e/arch^c/
TECH/ r ntemet/archive/
\parcWvn/
\ «расе/___________
US/
WORLD/
__________________kinktov °
careerbuilder/cUtech htrnT\
mtlhtrrT4
___________riel»c^html4|mctnctive..HgalJitnill
news.updala.htmi Я
_____I rnarnain
your.conwwiU html f
privacy html
tape/1
cireers/areiiiva/
africa/arctmre/
/am»r leas/archive/
У asiycVartJwe/
t^anrope. archiwi/
ymeasVatriihfe/
. i « м , breaking,rwws.html
M* .ar
ha p/adveflirittg.htni
j help/cnn npohlnn ___
|hd;c»nlv.ntml_____________
[ yheip/^otcoffiJitmi
I g he<m robe sarvtces.titml
” Е7/__________________
^web.'html
* betor JC .
Ihelp/ras.html
bbojjearciutlml"
fhnlp/vidMJnml
\heip/video/
advertise/___
ms/tachtmi
podcasting/
’ \rss/
^video/
comparison/
f guide/
\jndWLC.html
Рис. 4.5. Карта сайта CNN com с использованием метода отображения мысли
Добавление контента
137
Рис. 4.6. Огромное количество веток слева
говорит о несбалансированной структуре
сайта
Рис. 4.7. У более сбалансированной
карты сайта дерево выглядит симметричным
понять, как ваш материал будет разделен на разделы и категории Однако ес-
ли вы хотите добавить к структуре любую актуальную информацию (напри-
мер, черновик статьи или заметки), программа FreeMind с этим не справится.
Для этого нужно использовать профессиональную программу для создания
иерархических схем — Leo.
Программа Leo
Leo (Literate Editor with Outlines) — наиболее часто используемая мною про-
грамма для разработки Joomlal-сайта. Leo — бесплатная и свободно распро-
страняемая программа, написанная на языке Python, поэтому ее можно запус-
кать на самых разных платформах, поддерживающих этот язык (Linux, Win-
dows и Mac OS). Скачать программу можно на сайте: http://sourceforge.net
/project/?group_id=3458.
У программы Leo есть три основных особенности, которые выделяют ее сре-
ди других подобных программ: смешивание файлов, клонирование и воз-
можность добавления дополнительного текста к каждому узлу схемы. Сме-
шивание файлов — это довольно сложная тема, имеющая отношение к коду
138
Гпава 4
программ, поэтому мы ее раскроем в гчаве 13, когда будем создавать расши-
рения Joomla!. Также Leo позволяет клонировать узлы схемы, вставляя их в
любую ее часть. При изменении клона сразу же отображаются в связанных с
ним узлах. Эта функция довольно удобна для представления одной и той же
информации в разных частях схемы.
Примечание______________________________________________
У Leo гораздо больше функций, чем описано в этой книге. Фактически, из Leo
вам полностью доступен интерпретатор Python, и вы можете писать собствен-
ные скрипты для обработки узлов схемы. Также вы можете добавлять собст-
венные кнопки, а также разрабатывать плагины для выполнения макро-
функций. Хотя далеко не все функции Leo нужны при разработке Joomlal-сайта,
если вы хотите знать больше, вы всегда можете посетить страничку, посвящен-
ную Leo — http://leo.zwiki.org
Примечание переводчика ____________________________________________
Для работы Leo нужен установленный язык программирования Python, скачать
который можно по адресу http://www.python.org/download/. При выборе ин-
сталлятора обратите внимание на тип процессора — существует как обычный
инсталлятор для Windows, так и инсталляторы, оптимизированные под процес-
соры AMD64 и Itanium.
Web-разработчикам будет полезна возможность добавления текста к узлу
схемы. На рис. 4.8 видно, что окно Leo разделено натри панели: схему (левая
верхняя), панель протоколирования (правая верхняя) и панель текста (ниж-
няя). Панель схемы показывает ту самую схему сайта CNN.com, которую мы
создавали с помощью программы FreeMind. Как видите, форма отображения
схемы несколько иная — обычная иерархическая схема.
Рис. 4.8. Структура сайта CNN.com, созданная с помощью программы Leo
Добавление контента 139
Вы обратили внимание, что на рисунке выбран один из разделов? В панели
текста отображен текст. Вы можете добавить подобный текст для каждого
узла схемы. Как только вы начнете использовать эту функцию, поймете, на-
сколько она удобна.
Leo незаменима в тех случаях, когда нужно разработать не только первичную
схему сайта, но и добавить первичный контент. У Leo даже есть плагины,
обеспечивающие проверку правописания, экспорт схемы в форматы
HTML/RTF/Microsoft Word вместе со ссылками (благодаря этому вы сможете
просматривать схему сайта в окне браузера) и подсветку синтаксиса кода (в
том числе HTML, РНР, CSS, XML и много других компьютерных языков).
Наличие функции экспорта означает, что всю вашу работу, проделанную в
программе Leo, можно будет конвертировать в ваш Joomlai-сайт.
Кроме того, вы в любое время можете добавить дочерние узлы, а также под-
ключить к вашей схеме HTML-код, РНР-скрипты, CSS-код и другую тексто-
вую информацию. С помощью мыши вы можете перемещать узлы вверх,
вниз, влево и вправо.
Одна из самых мощных функция Leo — функция подъема. Если вы хотите
сконцентрироваться на какой-нибудь части схемы, выполните команду меню
Outline | Hoist. После этого выбранный узел со всеми своими дочерними уз-
лами будет вынесен в отдельную схему (рис. 4.9).
Рис. 4 9. Команда Outline | Hoist выносит выбранную ветку схемы в отдельную схему
Примечание переводчика ___________________
Чтобы вернуть все, как было, нужно использовать функцию De-Hoist из меню
Outline
140
Гпава 4
Как только вы разработаете структуру вашего сайта в Leo, можете ее воссоз-
дать с помощью панели управления Joomla! или же использовать плагин Leo
для экспорта в HTML. Данный плагин генерирует HTML-код, который мож-
но просмотреть в любом HTML- или текстовом редакторе. Также существует
плагин для экспорта в формат Microsoft Word, который может конвертиро-
вать схему из Leo-файла в схему MS Word, которую можно будет просмот-
реть в режиме структуры.
Используя Leo, Microsoft Word или FreeMind (или любую комбинацию этих
трех программ), вы можете разработать структуру вашего Joomlal-сайта и
даже при необходимости заполнить сайт первичным контентом. С планом на
руках мы можем приступить к настоящей разработке сайта
Реинкарнация Web-сайта LoanStraircase
в Joomla!
Довольно давно меня посетила идея создать сайт базы данных недвижимости.
Я разработал данный сайт с помощью Microsoft Active Server Pages (ASP), а в
качестве сервера баз данных использовался Microsoft SQL Server. Сайт был
свободный для всех, кто был в нем заинтересован. Изюминкой сайта был фо-
рум, где профессиональные агенты по недвижимости обменивались опытом.
Также на сайте был обзор книг и видео, связанных с недвижимостью.
Хотя я закрыл этот сайт некоторое время назад, он послужит превосходным
примером для данной книги — мы попытаемся воспроизвести его в Joomla!-
сайте. Старый сайт послужит основой практически для всего — от шаблона
дизайна до доступа к базе данных. К тому же виртуальное сообщество, "вы-
ращенное" на сайте, является прекрасной моделью взаимодействия, которую
можно реализовать с помощью компонентов Joomla!.
Сначала мы рассмотрим структуру сайта LoanStraircase и разберемся, как,
используя возможности Joomla!, можно создать настоящий сайт. Начнем с
рис. 4.10, где изображена структура сайта, который мы попытаемся создать.
Я создал схему сайта в Leo и даже выбрал несколько статей со старого сайта
для их переноса в Joomla!.
Созданную схему я буду использовать при построении Joomla!-сайта. По-
скольку Leo может сохранять все — от текста до ссылок, я буду использовать
его для создания документации сайта. Также я буду включать MySQL-код
для всех созданных мною таблиц, которые до этого использовались для хра-
нения информации старого сайта.
Когда все будет готово, Leo-файл станет зеркалом опубликованного сайта,
что позволит мне заархивировать полный документ Web-узла. Затем, по ос-
Добавление контента
141
новным разделам и категориям созданной схемы я создам такую же структу-
ру сайта в Joomla!.
Рис. 410 Структура сайта LoanStaircase, воссозданная в Leo
Создание разделов и категорий
Я надеюсь, что вы продумали план сайта, который хотите создать в Joomla!,
поскольку этот план понадобится вам прямо сейчас. Многие Joomlal-сайты
начинают разрабатываться именно с создания разделов и категорий, необхо-
димых для организации контента, чем мы и займемся в этом разделе. Открой-
те панель управления Joomla!: сейчас мы реализуем необходимую иерархию
сайта.
Удаление демо-данных
(статей, категорий и разделов)
Перед созданием нового сайта нужно удалить демонстрационный контент,
чтобы начать создание сайта с нуля. Помните, что раздел сайта не может
142
Глава 4
быть удален, пока не будут удалены все категории, принадлежащие этому
разделу. Аналогично, вы не сможете удалить категорию, пока из этой катего-
рии не будут удалены все статьи. Поэтому генеральную уборку нужно начать
с уровня статей.
Совет
Если вы вместо переключателя возле названия статьи видите небольшой за-
мок, это означает, что статья в данный момент находится на проверке, т. е ре-
дактируется вами или другим пользователем. Возможно, вы раньше открыли
эту статью для проверки/редактирования и окно браузера с этой статьей все
еще открыто или же вы его закрыли, но не нажав кнопку Закрыть, поэтому ста-
тья считается открытой. Пока статья находится на проверке, ее нельзя удалить.
Чтобы разблокировать все статьи, выполните команду меню Инструменты |
Сброс блокировок.
В Менеджере материалов выберите 100 из списка Показать # для отображе-
ния сразу 100 статей. Теперь все имеющиеся статьи будут показаны как один
большой список. В заголовке столбца, в котором находятся все флажки вы-
бора статей, будет один общий флажок. Включите его, чтобы выделить все
статьи (рис. 4.11).
Рис. 4.11. Включите флажок в заголовке столбца, чтобы выделить все статьи
После выделения всех статей нажмите кнопку Корзина в верхней части окна,
чтобы переместить все выделенные статьи в корзину. Но вы все еще не мо-
жете удалить категории, поскольку статьи находятся в корзине, поэтому вы-
берите команду Материалы | Корзина материалов, чтобы отобразить со-
держимое корзины (рис. 4.12), и снова выделите все статьи.
Добавление контента
143
Joomla! Joomla Jumpstart
Рис. 4.12. Менеджер корзины
Нажмите кнопку Удалить. Вы получите список статей, которые будут удале-
ны. Подтвердите удаление контента, и статьи будут навсегда удалены из кор-
зины.
Теперь вам нужно удалить все категории. Перейдите в Менеджер категорий
(Панель управления | Категории) и удалите все категории подобно тому,
как вы удаляли статьи. Правда, вам не нужно перемещать категории в корзи-
ну, поскольку их можно удалить непосредственно. После удаления категорий
нужно удалить все существующие разделы'. Теперь ваш Joomlai-сайт абсо-
лютно "чист", и вы можете приступить к его наполнению контентом
Совет___________________________________________________________
Одна из проблем большинства администраторов — перегрузка сайта неопубли-
кованным контентом. Вместо того чтобы удалить ненужные статьи, они просто
снимают флаг публикации. Неопубликованный контент подобно сорняку засо-
ряет Joomlal-сайт, в результате чего сайт начинает работать все медленнее и
медленнее. Удаляйте старые статьи с сайта!
Добавление новых разделов и категорий
Построение структуры нового сайта начнем с создания разделов. Выберите
Материалы | Разделы для запуска Менеджера разделов, который позволяет
вам добавлять, удалять, изменять разделы и менять их порядок.
Для добавления нового раздела нажмите кнопку Новый (рис. 4.13). Для сайта
LoanStaircase я первым делом добавил раздел для домовладельцев. Примите
' С помощью Менеджера разделов. — Пер
144
Глава 4
во внимание, что это первый раздел плана нашего сайта. Значение поля Заго-
ловок должно быть кратким, поскольку оно появится в меню. В моем случае
я ввел в качестве заголовка Home Owner Section (Раздел для домовла-
дельцев).
* J mid! Joomla Jumpstart
Версия! 5Л
Cant Всемжм» Материалы Компоненты Расширения Инструменты Помощь Просмотр * 0 $61 О Выйти
Joomla1 Распространяется по лицензии GNU/GPL
Рис. 4.13. Для создания нового раздела нажмите кнопку Новый
После заголовка вам нужно заполнить следующие поля:
♦ Псевдоним — задает псевдоним раздела. В отличие от поля Заголовок,
которое отображается в меню и должно быть кратким, псевдоним отобра-
жается только тогда, когда выбран раздел, а его длина может быть такой,
как вам нужно. Для этого поля я установил значение Home Owner/Buyer
Section (Для тех, кто хочет купить или продать дом);
♦ Публикация — определяет, будет ли опубликован данный раздел или нет.
Это очень мощная функция, поскольку с ее помощью администратор мо-
жет скрыть целый раздел. Выберите переключатель Да для этого поля;
♦ Сортировка— позволяет определить расположение текущего раздела в
общем списке. Из выпадающего списка вы можете выбрать, после какого
раздела должен быть выведен новый раздел, также можно выбрать дирек-
тиву первый или последний, и новый раздел будет помещен в начало или
конец списка соответственно. Новые элементы по умолчанию всегда ста-
новятся последними, а порядок можно изменить только после сохранения
раздела;
♦ Доступ — задает уровень доступа к разделу и к статьям этого раздела.
Значения могут быть: Всем, Registered (зарегистрированным пользовате-
лям) и Специальный;
Добавление контента 145
♦ Картинка — задает пиктограмму для раздела. Из раскрывающегося спи-
ска можно выбрать названия всех картинок, расположенных в папке
\stories. Я отказался от выбора картинки;
♦ Позиция картинки — определяет позицию картинки раздела: слева, по
центру или справа. Я оставил это поле как есть — по умолчанию;
♦ Описание — содержит полное описание раздела. В это поле нужно я по-
местил основное описание документов, которые пользователи (продавцы и
покупатели недвижимости) могут найти в этом разделе.
Как только вы нажмете кнопку Сохранить, раздел будет сохранен в базе
данных. Поздравляю! Вы только что создали первый раздел. Теперь вам ос-
талось добавить все разделы, согласно вашему плану.
Совет___ _ __ _____ ___ ______________________________
Менеджер разделов, Менеджер категорий и Менеджер материалов позволяют
выбрать картинку из каталога \images\stories. Для закачки новых картинок на
сайт нужно использовать Медиаменеджер
Для создания категорий с помощью Менеджера категорий используется ин-
терфейс, аналогичный тому, который вы использовали для создания новых
разделов, поэтому нет особой необходимости в пошаговых инструкциях.
Для категорий есть одна дополнительная опция — Раздел Поскольку катего-
рия — это иерархический потомок раздела, вы должны выбрать (из раскры-
вающегося списка) название раздела, к которому будет относиться создавае-
мая категория.
Откройте Менеджер категорий и добавьте все категории из вашего плана.
После этого вы сможете приступить к добавлению статей.
Выбор текстового редактора
Перед добавлением статей вам нужно выбрать WYSIWYG-редактор, который
вы будете использовать для модификации статей. Каждый пользователь мо-
жет выбрать любой редактор из доступных в Joomla!, но администратор
может выбрать редактор по умолчанию.
Для выбора редактора укажите команду панели управления Общие настрой-
ки | Сайт. На фрейме Сайт список Визуальный редактор по умолчанию
содержит названия доступных редакторов. По умолчанию в Joomla! установ-
лены два редактора: TinyMCE и XStandard Lite.
Сравнение редакторов TinyMCE и XStandard Lite
В стандартный "комплект поставки" Joomla! входят два WYSIWYG-
редактора: TinyMCE и XStandard Lite. Редактор TinyMCE обеспечивает пре-
146
Гпава 4
восходные возможности редактирования текста, поэтому был выбран по
умолчанию. С возникновением Joomla! 1.5 появился редактор XStandard Lite,
предоставляющий дополнительные возможности (строгое соответствие
XHTML и некоторые другие функции).
Вам нужно попробовать оба редактора, а потом уже выбрать лучший для вас.
Создатели обоих редакторов стремятся сделать их совместимыми с большин-
ством браузеров, однако будьте готовы к тому, что иногда функциональность
редакторов в определенных браузерах будет ограничена. Если вы разрабаты-
ваете сайт под заказ, сначала нужно протестировать WYSIWYG-редактор в
браузере заказчика, чтобы избежать трудностей при добавлении материала.
Совет____________________________________________________________
Хотя TinyMCE и XStandard Lite — стандартные редакторы, входящие в состав
дистрибутива Joomla!, для Joomla! доступны дополнительные редакторы. На
момент написания этих строк было доступно девять альтернативных редакто-
ров с дополнительными функциями вроде поддержки XML, расширенного
управления медиаданными и т. д. Для более подробной информации посетите
категорию WYSIWYG Editors раздела Extensions сайта extensions.joomla.org
TinyMCE
TinyMCE (Tiny MoxieCodeEditor) довольно долго был (и остается) стандарт-
ным редактором для Joomla!. Он написан на JavaScript, что обеспечивает
полную WYSIWYG-функциональность. TinyMCE похож на небольшой тек-
стовый процессор (рис. 4.14). он даже позволяет редактировать непосредст-
венно HTML-код контента.
В Z U | == s? =3 11 - Styles - v J -- Format - у Font famJy - v
s= 1= I E-sl | Ф £ *5 ЗЭ $ ~ H □ ta Д-
— x< *" I П ж Й I | Й)
Рис. 4.14. У TinyMCE есть функции, аналогичные функциям текстовых процессоров
Основные функции этого редактора следующие:
♦ изменение шрифта, стиля и размера шрифта;
♦ выравнивание по левому краю, по центру, по правому краю и по ширине;
♦ функции Вырезать, Копировать и Вставить (допускается вставка текста
без форматирования из Word);
Добавление контента 147
♦ поиск и замена текста;
♦ поддержка списков (нумерованных и маркированных);
♦ многократная отмена и повтор действий;
♦ вставка даты, времени, гиперссылок, HTML-тегов, горизонтальных полос,
символов, смайликов, картинок и встроенных медиаданных (в том числе
Flash);
♦ выбор цвета текста и фона;
♦ возможность вставки таблицы и возможность манипуляции столбцами и
строками таблицы;
♦ поддержка CSS (Complete Cascading Sheets).
Также TinyMCE предоставляет следующие дополнительные функции:
♦ проверку правописания;
♦ печать;
♦ поддержку символов национальных алфавитов и возможность перехода
к редактированию справа налево1;
♦ полноэкранное редактирование;
♦ слои;
♦ абсолютное позиционирование;
♦ отображение контрольных символов.
Текущая версия TinyMCE полностью совместима с браузером Microsoft
Internet Explorer 5.5 SP2 (и более новыми версиями, версия IE 5.0 не совмес-
тима с этим редактором), Mozilla SeaMonkey 1.0.5 (и выше), Firefox 1.5а (и
выше), Opera 9 (и выше). Теоретически, TinyMCE будет работать с любым
браузером, поддерживающим JavaScript.
Внимание!______________________________________________________
У TinyMCE есть ограничение на размер статьи. Не думаю, что у вас возникнут
проблемы с размером статьи (потому что обычно в онлайн-режиме публикуют-
ся короткие статьи), старайтесь, чтобы текст статьи не превышал 200—
300 Кбайт, иначе редактор зависнет. Вообще это больше проблема JavaScript,
нежели проблема самого редактора.
XStandard Lite
В версии 1.5 появился редактор XStandard, предоставляющий дополнитель-
ные специальные функции для людей с ограниченными возможностями и
1 Для арабского языка — Пер.
148
Гпава 4
поддержку XHTML. Данный редактор требует установки специального пла-
гина на стороне клиента. На момент написания этих строк данный плагин
был доступен только для платформы Windows.
Примечание
Редактор XStandard Lite, поставляемый с Joomla! 1.5, является не очень из-
вестной версией редактора XStandard. То, что поставляется с Joomla!, является
специальной версией, созданной усилиями команды разработчиков Joomla! и
команды XStandard. Редактор XStandard Lite обладает большинством функций
редактора XStandard Professional (коммерческий программный продукт) и явля-
ется бесплатным для пользователей Joomla!. Профессиональная версия ре-
дактора доступна на сайте www.xstandard.com
Вот список уникальных функций XStandard Lite:
♦ CSS-разметка, поддержка XHTML;
♦ библиотека картинок, из которой можно вставлять картинки в свои статьи;
♦ библиотека гиперссылок;
♦ возможность вставлять отрывки из библиотеки;
♦ возможность изменения размера картинки прямо в редакторе;
♦ управление параметрами таблицы (например, шириной столбцов) с помо-
щью мыши.
Самый большой (и единственный) недостаток XStandard Lite — ограниченная
поддержка операционных систем: плагин, запускаемый на стороне клиента
(пользователя), работает только в Windows 98, ME, NT, 2000 и ХР. А вот
TinyMCE работает практически на любой платформе, для которой разработан
JavaScript-совместимый браузер. С другой стороны, плагин XStandard Lite
обеспечивает производительность, о которой можно только мечтать в скрип-
товых редакторах вроде TinyMCE.
Без редактора
Если вы в настройках сайта выберете No Editor в качестве редактора, это со-
всем не означает, что редактор вообще не будет доступен. Когда вы выбирае-
те редактор вроде TinyMCE, область редактирования HTML-кода будет заме-
нена редактором, позволяющим выбирать шрифты, стили, вставлять картин-
ки и т. д.
Если вы выбрали No Editor, для редактирования статьи появится обычная
область для ввода текста, в которую вы можете вводить непосредственно
HTML-код, например:
<Ц1>Мой заголовок</Ь1Хр>Мой текст</р>
Добавление контента 149
Опция No Editor — лучший выбор для опытных пользователей или же когда
есть необходимость вырезать и вставлять HTML-код прямо в текст статьи.
Однако в большинстве случаев новички будут озадачены HTML-тегами.
Добавление статей
В главе 2 было рассмотрено добавление простой статьи. Теперь пришло вре-
мя рассмотреть этот процесс более подробно. Мы не только изучим парамет-
ры статьи, но и поговорим о внедрении в статью различного медиаконтента
(рисунков, звуков, Flash-анимации).
Установка
основных параметров статьи
Основные параметры статьи вам придется устанавливать каждый раз при до-
бавлении нового материала. К этим параметрам относятся дата публикации,
псевдонимы заголовка и автора и др. Они определяют, как статья будет пред-
ставлена на сайте.
Для каждой статьи могут быть определены следующие параметры (см.
рис. 2.30):
♦ Псевдоним — альтернативный заголовок для статьи, который может ис-
пользоваться сценариями для так называемого дружественного поиска.
Например, псевдоним для статьи "What’s New in 1.5?" может быть "whats-
new-in-15", что сделает название статьи более удобным для написания
кода;
♦ Псевдоним автора — вместо имени автора будет отображаться его псев-
доним (если вообще включена опция показа имени автора);
♦ Доступ — устанавливает права доступа для трех групп пользователей
(Всем, Registered, Специальный);
♦ Дата создания — позволяет определить дату создания статьи, которую
увидят все посетители;
♦ Опубликовано— определяет, когда статья должна автоматически поя-
виться на Joomlal-сайте. Данная функция очень полезна, когда публикуе-
мый материал тесно связан с определенной датой или же публикуется
планируемый выпуск новостей, например, блок "Советы повара по втор-
никам". Редакторы могут загрузить статью когда угодно, но она будет
опубликована во вторник. На языке военных данный метод называется
"выстрелил и забыл". После установки даты публикации статья автомати-
чески появится на сайте в указанное время;
150
Гпава 4
♦ Истекает — позволяет указать дату, когда статья будет скрыта Если дан-
ный параметр не указан, статья будет на сайте до тех пор. пока ее не
скроют вручную или не удалят.
Все поля выбора даты (Дата создания | Опубликовано | Истекает) содержит
кнопку ..., вызывающую графический календарь, позволяющий легко вы-
брать нужную дату.
Совет______________________________________________________
Параметры Опубликовано и Истекает предоставляют отличную возможность
публикации и активации сезонного контента. Вы можете публиковать информа-
цию. которая будет полезна каждый год (например, как красиво упаковать по-
дарок) и установить параметры Опубликовано и Истекает так. чтобы статья
была опубликована между 1 и 31 декабря. Данная статья может быть создана
летом, после чего о ней можно забыть. Когда наступит Новый год, данная ста-
тья будет автоматически опубликована на сайте в указанное время. В конце го-
да вы можете просто переустановить даты для периодического материала, и
ваш сайт опять сможет отобразить его.
Установка расширенных параметров статьи
В разделе Параметры - Расширенные (рис. 4 15) можно определить пара-
метры статьи, которые будут задействованы, когда статья будет полностью
отображена (когда посетитель щелкнул на ссылке Подробно внизу описания
статьи). В большинстве случаев эти параметры не требуют изменения, по-
скольку параметры по умолчанию вполне приемлемы.
Большинство расширенных параметров предназначено для перезаписи гло-
бальных параметров. Значение по умолчанию для расширенного парамет-
ра— Использовать глобальные. В большинстве случаев использование
глобальных параметров— отличная идея, поскольку с помощью панели
управления их можно установить один раз для всех статей, у которых не оп-
ределены собственные параметры.
В разделе Параметры - Расширенные можно определить следующие пара-
метры:
♦ Заголовок — показывает или скрывает заголовок статьи;
♦ Заголовок как ссылка— разрешает ссылку в заголовке статьи. Когда
посетитель перейдет по этой ссылке, он попадет на ту же страницу, что и
по ссылке Подробнее1;
♦ Вступительный текст— показывает вступительный текст чуть выше
статьи. Вступительный текст — это описание статьи, отображаемое в спи-
1 То есть будет опять открыта эта же статья. По сути, функция бесполезная. — Пер.
Добавление контента
151
ске статей при просмотре категории, вместе со ссылкой Подробнее Чтобы
отделить вступительный текст от остальной части статьи, используйте
кнопку Разрыв страницы (вы увидите красную горизонтальную полоску,
отделяющую вступление от текста статьи);
* Пара метры - Статьи
* Метаданные
Альтернативный текст
Подробнее...
Рис. 4.15. Расширенные параметры статьи
используются только при полном отображении статей
♦ Название раздела и Название раздела как ссылка — первый параметр
переопределяет, будет ли показано название раздела при просмотре ста-
тьи. Второй параметр переопределяет, будет ли создана ссылка для назва-
ния раздела, что позволит посетителю просмотреть все статьи из этого
раздела;
♦ Название категории и Название категории как ссылка— первый па-
раметр показывает название категории в начале статьи. Второй определя-
ет, будет ли создана ссылка для названия категории, что позволит посети-
телю просмотреть все статьи из этой категории;
152
Гпава 4
♦ Рейтинг— показывает рейтинг статьи (рейтинг устанавливается пользо-
вателями). Будьте осторожны с изменением этого параметра. Если у одной
статьи не будет рейтинга, а у других будет, или, наоборот, у всех статей
будет показан рейтинг, а у одной — нет, это может показаться странным
для посетителей сайта;
♦ Имя автора — переопределяет, показывать имя автора или нет;
♦ Дата и время создания — показывает или скрывает дату создания;
♦ Дата и время последнего изменения — показывает или скрывает дату
последнего изменения;
♦ Иконка PDF — показывает или скрывает пиктограмму PDF-версии статьи;
♦ Иконка печати — переопределяет, показывать или нет пиктограмму пе-
чати для этой статьи;
♦ Иконка e-mail — переопределяет, показывать или нет пиктограмму e-mail
для этой статьи;
♦ Язык материала — переопределяет язык материала;
♦ Ключевая сноска— текст, используемый для ссылки на эту статью в
пределах системы Joomla!;
♦ Альтернативный текст Подробнее...— задает текст для ссылки Под-
робнее, т. е. указанный текст будет отображаться вместо слова "Подроб-
нее".
Расширенные параметры статьи изменяются довольно редко, вряд ли вы бу-
дете изменять их.
Установка метаданных статьи
Метаданные — это информация об информации. В нашем случае, это инфор-
мация о статье, невидимая пользователями, зато доступная для поисковых
машин и использующаяся для индексирования статьи. Метаданные очень
важны для корректного представления ваших материалов в WWW Более
подробно о них мы поговорим в главе 12, когда будем рассматривать технику
поисковой оптимизации.
В Joomla! вы можете установить следующие поля метаданных:
♦ Описание — позволяет задать описание статьи. Описание отображается в
некоторых поисковых машинах (например, Joomla!) сразу после заголовка
статьи;
♦ Ключевые слова — ключевые слова, относящиеся к статье;
♦ Параметр Robots— задает параметр Robots, определяющий опции ин-
дексирования этой страницы поисковиками;
Добавление контента
153
♦ Author — позволяет изменить автора статьи. Данная функция полезна,
когда администраторы публикуют чужой материал, например, получен-
ный по электронной почте от автора.
Совет_________________________________________________________
Многие поисковые машины не обращают внимания на ключевые слова, по-
скольку спаммеры устанавливают их так, что они не соответствуют реальному
контенту их сайтов. Поэтому не тратьте много времени на ключевые слова, а
вместо этого убедитесь, что необходимые ключевые слова есть в описании и
самой статье. Такая стратегия будет более эффективной. Если вы хотите упро-
стить данный процесс, то можете использовать один из генераторов метадан-
ных (например, www.see-search.com/webdesign/seeMetaTag.htm) для извле-
чения ключевых слов из ваших тегов.
Каждый раз при публикации новой статьи не забывайте заполнять метадан-
ные, поскольку маловероятно, что вы вспомните о них уже после добавления
статьи, поэтому лучше всего заполнять их при добавлении статьи.
Добавление статьи на сайт
Теперь вы ориентируетесь в параметрах статьи, что позволит вам более эф-
фективно публиковать ваши статьи. Сейчас настало время добавить новую
статью, согласно структуре вашего сайта.
Откройте Менеджер материалов и нажмите кнопку Новый или же просто
нажмите кнопку Добавить материал в панели управления Joomla'.. Введите
заголовок и псевдоним статьи (обычно это версия статьи, удобная для ком-
пьютера). Выберите раздел и категорию, а также решите, будет ли статья
опубликована на главной странице сайта. На рис. 4.16 показана статья, кото-
рую я опубликовал на сайте.
Перед сохранением статьи я хотел бы изменить несколько расширенных па-
раметров в разделе Параметры - Расширенные (рис. 4.17). Я хочу, чтобы
название категории отображалось, как ссылка. Затем я хочу включить пикто-
грамму печати, чтобы посетители могли сразу распечатать статью, если им
это нужно (даже если у большинства остальных статей эта функция выклю-
чена в глобальных параметрах).
Убедитесь, что вы установили метаданные статьи. Я добавил краткое описа-
ние статьи, указав в нем все важные слова. Также я поместил список ключе-
вых слов, соответствующих статье (рис. 4.18).
Перед сохранением статьи я указал ее метаданные. Но и это еще не все. Сна-
чала я загружу небольшое изображение домика в формате PNG с целью ото-
бражения его в тексте статьи. Позже я добавлю аудиофайл. Вы же можете
добавить Flash-ролик или любой другой мультимедийный файл.
154
Гпава 4
Joomla! Joomla Jumpstart
Рис. 4.16. Введите заголовок, псевдоним, текст статьи, выберите раздел и категорию статьи
Рис. 4.17. Измените необходимые вам расширенные параметры статьи
Добавление контента
155
Метаданные
Все, что вы хотели знать об
АРН, но боялись спросить
Описание
Исае Owner, hoaieouner, *ra.
Ключевые AW1
слова
Параметр
Robots
Author
Рис. 4.18. Убедитесь, что вы указали метаданные статьи
для ее корректного отображения в поисковых машинах
Поместите курсор в то место, где вы хотите увидеть картинку. Перед добав-
лением мультимедийного файла в статью вам нужно загрузить его на сайт.
Внизу экрана будет кнопка Картинка. Нажмите ее — вы увидите окно Вста-
вить картинку. Данное окно отображает миниатюры всех загруженных на
сайт мультимедийных файлов.
Совет______________________________________________________________
Если у вас есть картинки, которые нужно вставить в отдельные статьи, вы мо-
жете их загрузить с помощью Мвдиаменеджера
Я хочу загрузить собственную картинку, поэтому я нажал кнопку Обзор
(рис. 4.19), выбрал мой файл houseicon.png и нажал кнопку Загрузить. После
загрузки изображения его миниатюра автоматически появится в окне выбора
картинки.
Для вставки картинки просто нажмите ее. Поле Адрес (URL) картинки бу-
дет автоматически заполнено. В моем случае — это images/stories/houseicon.png.
После этого я ввел описание картинки1, что очень важно для поисковых ма-
шин, да и вообще для удобства пользователей. Поисковые машины не могут
"увидеть" графику, зато они могут "прочитать" HTML-тег <ait>, задающий
текстовое описание картинки Описание картинки как раз устанавливает этот
тег. Кроме этого, текстовое описание картинки используется программами
для чтения с экрана.
В качестве заголовка картинки я просто продублировал текст, введенный в
поле Детали картинки. Также я хочу, чтобы картинка была подписана на
странице, поэтому я включил флажок Подпись После всего этого я нажал
1 Поле Детали картинки. — Пер.
156
Гпава 4
кнопку Вставить в правом верхнем углу экрана для вставки картинки в те-
кущую позицию курсора. Картинка будет вставлена прямо в текст статьи
(рис. 4.20).
Рис. 4.19. Нажмите кнопку Обзор и выберите картинку,
которую вы хотите загрузить
Рис. 4.20. Картинка появится в текущей позиции курсора
Теперь статья готова к публикации, поэтому я нажал кнопку Сохранить для
сохранения статьи в базе данных Joomla!. Если вы перейдете на ваш сайт, то
не увидите статью. Почему? Потому что чуть ранее вы удалили все старые
Добавление контента
157
разделы и категории, которые должны были отображаться на главной стра-
нице.
Чтобы увидеть новый материал, вам нужно добавить новые разделы и кате-
гории на главную страницу. Перед этим давайте добавим еще одну статью,
чтобы проверить, как отображается некатегоризированный материал.
Добавление второй статьи
Чтобы разобраться с разными типами контента, вам нужно добавить еще од-
ну статью и сделать ее некатегоризированной. Позже вы можете сделать
ссылку в меню на некатегоризированную статью, как на целый раздел или
категорию. Пример некатегоризированного документа— "Условия использо-
вания сайта".
Довольно часто некоторые документы, вроде условий использования сайта,
лицензии, не вписываются в иерархическую структуру сайта. Конечно, для
таких документов можно создать отдельную категорию, но в этом примере
мы оставим статьи некатегоризированными.
Создайте новую статью, параметры и текст можно указать на свое усмотре-
ние. Убедитесь, что в раскрывающихся списках Раздел и Категория выбрано
значение Без категории (рис. 4.21).
Рис. 4.21. Создайте некатегоризированную статью для демонстрации прямых ссылок
В отличие от предыдущей статьи, мы не будем изменять расширенные пара-
метры. Однако вы можете использовать расширенные параметры для пере-
записи следующих глобальных значений: имя автора, дата и время создания
158
Гпава 4
статьи. Я рекомендую скрыть оба параметра, поскольку они не нужны для
системного документа (но необходимы для всех остальных статей сайта).
Как только статья будет готова, нажмите кнопку Сохранить для публикации
статьи в базе данных. Теперь можно приступить к созданию меню.
Совет
Домашняя страница вашего Joomlal-сайта называется главной страницей. Ме-
неджер главной страницы используется для определения контента, отобра-
жаемого на главной странице. Если вы хотите быстро проверить содержимое
главной страницы, запустите Менеджер главной страницы с помощью кнопки
Главная страница в панели управления Joomla!. Все материалы, размещен-
ные на главной странице, также доступны в Менеджере материалов.
Если после возвращения в Менеджер материалов в колонке Публикация бу-
дет изображена пиктограмма задержки (с желтым восклицательным знаком),
это означает, что статья будет опубликована в будущем, т. е. в качестве даты
публикации указана дата из будущего (рис. 4.22). Чтобы опубликовать ста-
тью прямо сейчас, откройте ее для редактирования и измените дату публика-
ции на текущую.
Рис. 4.22. Если отображен значок задержки,
значит дата публикации статьи — в будущем
Связь меню со статьями
В основе Joomla! лежат статьи, но чтобы получить к ним доступ, использует-
ся система меню. Каждый раздел, каждая категория или даже отдельный до-
кумент должен быть привязан к меню, чтобы посетитель смог получить к не-
му доступ. Меню в Joomla! не всегда определяется так, как в обычном при-
ложении.
В Joomla! меню может быть горизонтальным и располагаться в верхней части
окна или же вертикальным и располагаться в левой части окна. Меню может
выглядеть как простой список статей, позволяющий пользователю перейти к
нужной статье. Меню также может быть выполнено в виде блога.
Добавление контента 159
В следующей главе мы подробно рассмотрим каждый тип меню. А сейчас мы
просто создадим одно прямое меню1 и одно меню категории, позволяющее
просмотреть все статьи категории.
Создание прямого меню
для некатегоризированной статьи
Для нашей некатегоризированной статьи мы создадим меню, разрешающее
пользователю получить к ней доступ. Данное меню будет отображаться от-
дельным элементом в главном меню.
Откройте Менеджер меню, выберите главное меню1 2 и нажмите кнопку Ре-
дактировать пункты меню. Затем нажмите кнопку Новый для создания
нового пункта меню.
Вы увидите окно, напоминающее представленное на рис. 4.23. В этом окне
находится список всех типов контента, привязанных к данному меню. Чтобы
увидеть доступные статьи, нажмите ссылку Материалы в группе Внутрен-
няя ссылка.
ы Меню: [Новый] О Q
Отменить Помоиф
Выберше шп меню
| С S) Внутренняя ссылка
КЗ Материалы
кз Контакты
| р Ленты новостей
с Голосования
а Поиск
КЗ Пользователь
р Взб-ссылки
а Враппер
I
С Внешняя ссылка
< о Разделитель
• Q Псевдоним
Рис. 4.23. В этом окне вы можете выбрать контент для связи с меню
1 Указывающее непосредственно на статью. —Пер.
2 В нашем случае оно будет называться Joomla Jumpstart Menu. — Пер.
160
Гпава 4
Выберите тип меню Стандартный шаблон материала для создания прямой
ссылки на статью. Установите название пункта меню Условия использова-
ния сайта или любое другое, соответствующее вашей некатегоризированной
статье. Оставьте значения в раскрывающихся списках Показать в и Роди-
тельский элемент как есть (Joomla Jumpstart Menu и Верх соответствен-
но), как показано на рис. 4.24.
Тип пункта меню
Стандартный шаблон
материала
Стандартный шаблон материала отображает один материал
____________ * Параметры Основные
Сменить тмп~|
Выберите стать»
выбрать
Параметры - Компонент
Параметры Система
Подробное и» пункта меню
Заголовок:
Псевдоним:
Ссылка: index php?opiion-com_conteni&vieuwirticle
Пока talk 8: | Joomla Jumpstart Menu v
Родительский элемент:
Hom*
Joomlai Overview
Whets New in 1 б'’
Joomlai License
More about Joomla!
FAQ
The News
Web Link*
News Feeds
Пувлитаци»: r HeT Да
Порядок пока >a- Новые элементы по умолчанию станов ятс я
последними Порядок может быть изменен посла
сохранения
Рис. 4.24. Оставьте значения в раскрывающихся списках Показать в
и Родительский элемент как есть
В правом верхнем углу нажмите кнопку Выбрать и в появившемся окне
(рис. 4.25) выберите статью. Для выбора статьи просто щелкните на ее назва-
нии, после чего название статьи появится в поле Выберите статью.
Больше не нужно изменять никакие параметры, поэтому можете нажать
кнопку Сохранить.
Если теперь вы зайдете на главную страницу своего Joomlai-сайта, то увиди-
те в главном меню новый пункт — Условия использования сайта
(рис. 4.26). Если вы нажмете эту ссылку, то увидите нашу страницу без ссы-
лок на раздел или категорию сайта.
Подобным образом вы можете добавить в меню любой другой элемент. Од-
нако CMS создана не для того, чтобы каждую новую статью добавлять в ме-
ню вручную. Вместо этого вы можете создать динамическое меню для целой
категории сайта.
Добавление контента
161
Рис. 4.25. Щелкните на статье для ее связи с меню
Mam Menu
• Ноте
• The Hews
• Web Luks
• Newsfeeds
• Условия использования
ca it.1
Рис. 4.26. Пункт Условия использования сайта теперь часть главного меню
Отображение меню категории
В этом разделе мы научимся добавлять элемент меню, отображающий все
статьи определенной категории сайта. Перед добавлением нового меню же-
лательно произвести "генеральную уборку" главного меню, чтобы очистить
его от несуществующего контента.
Откройте Менеджер меню и нажмите кнопку Редактировать пункты меню
напротив главного меню. Когда будет показан список элементов меню, выбе-
рите все элементы кроме Ноте и Условия использования сайта (в том чис-
ле Joomla! Overview, What’s New in 1.5?, Joomla! License. More about
Joomla!, FAQ, The News, Web Links, News Feeds). Нажмите кнопку Корзи-
на для удаления этих элементов. Не нужно сразу очищать корзину, вы смо-
жете сделать это в любой удобный момент.
Если вы обновите главную страницу сайта, то увидите всего два элемента
главного меню. Теперь, когда вы очистили меню от "битых" ссылок, пора
6 Зак 468
162
Гпава 4
создавать новые пункты меню. Поскольку Менеджер меню все еще отобра-
жает пункты главного меню, нажмите кнопку Новый для создания нового
элемента меню.
Как и в случае с прямой ссылкой, выберите Внутренняя ссылка | Материа-
лы. Далее выберите Шаблон списка категории. Вы увидите окно, которое
будет немного отличаться от окна создания ссылки на статью, рассмотренно-
го в предыдущем разделе. Справа (рис. 4.27) вы увидите параметры элемента
меню, позволяющие вам определить, как будут показываться статьи.
Примечание переводчика________________________________________
Шаблон списка категории отличается от шаблона блога категории тем, что в
первом случае выводятся только ссылки на статьи а во втором — выводятся
краткое описание каждой статьи и ссылка Подробнее
Рис. 4.27. В области Параметры - Основные вы можете определить параметры,
влияющие на отображение шаблона списка категории
Вам нужно указать название элемента меню. В случае с сайтом LoanStaircase
я хочу, чтобы все документы из категории General (Общие) отображались
этим меню, поэтому я назвал данное меню Free Borrower Articles (Бесплат-
Добавление контента
163
ные статьи для заемщика). В области Параметры - Основные я выбрал кате-
горию General, в которую я буду помещать все основные статьи.
Когда все будет готово, нажмите кнопку Сохранить для создания меню. Вы
увидите элементы главного меню, новый элемент будет помещен в конец
списка. Вполне естественно, что вы захотите переместить это меню выше
вашего прямого меню, поэтому нажмите стрелку вверх в столбце Порядок
(рис. 4.28).
Рис. 4.28. Нажмите стрелку вверх для изменения порядка текущего меню
Обновите окно браузера, и вы увидите не только элементы меню, отображен-
ные в правильном порядке, но и статью, отображенную на главной странице
сайта. Шаблон отобразит содержимое главного меню, и вы увидите только
что добавленный пункт меню. Теперь, когда вы знаете, как настроить под се-
бя контент сайта, мы перейдем к изменению оформления сайта.
Установка нового шаблона
Лучший способ изменить внешний вид Joomlal-сайта— это загрузка и уста-
новка шаблона. В Интернете вы найдете много бесплатных и коммерческих
сайтов, где можно скачать новые, высококачественные шаблоны для вашего
сайта. В этом разделе мы научимся загружать и устанавливать новый шаблон,
позволяющий придать вашему сайту более презентабельный вид.
Графическая тема вашего Joomlal-сайта определяется шаблоном сайта. По
умолчанию (при стандартной установке) выбран шаблон rhuk milkyway.
Чтобы понять всю мощь системы шаблонов, обратите внимание, как изме-
нится ваш сайт после выбора нового шаблона. Внешний вид сайта будет пол-
ностью преобразован.
Перед тем как приступить к установке шаблона, его нужно выбрать и загру-
зить. Существует много коммерческих сайтов, позволяющих купить доступ
164
Гпава 4
ко всем своим шаблонам. Из бесплатных сайтов можно порекомендовать
два — wwAv.joomla24.com и www.joomlahut.com.
Совет____________________________________________________________
К сожалению, когда вы попытаетесь найти бесплатные Joomlal-шаблоны с по-
мощью поисковых машин вроде Joomla!, то получите большинство ссылок на
коммерческие сайты, на которых только есть слово "бесплатный". Даже если на
этих сайтах и есть бесплатные шаблоны, они "запрятаны" так далеко в недрах
сайта, что вам будет трудно их отыскать, или же вообще на этих сайтах нет
бесплатных шаблонов. Однако не сдавайтесь — в Интернете есть много бес-
платных Joomlal-шаблонов.
Шаблон очень часто сохранен в ZIP- или GZIP-архиве. Поскольку Joomla!
умеет работать с архивами этих типов, вам не нужно распаковывать файлы
архива на жесткий диск. Достаточно лишь загрузить шаблон на сайт, а
Joomla! сама распакует файлы шаблона и поместит их в соответствующие
каталоги.
Режим совместимости с Joomla! 1.0________________________________
В сети можно найти огромное количество шаблонов для Joomla! версии 1.0.
При создании версии Joomla! 1.5 разработчики понимали, что важно обеспечи-
вать режим обратной совместимости на тот случай, если старые шаблоны нико-
гда не будут обновлены.
Для активации режима обратной совместимости выберите команду панели
управления Joomla! Расширения | Менеджер плагинов и активизируйте (опуб-
ликуйте) плагин System - Legacy. Если вы используете шаблоны версии 1.5, от-
ключите это расширение, поскольку оно сводит на нет все улучшения в новой
системе плагинов (в том числе страдает производительность сайта).
Программный интерфейс 1.0 теперь не приветствуется (в будущем вообще бу-
дет прекращена его поддержка), поэтому если у вас есть возможность перейти
на шаблон версии 1.5, сделайте это. Команда разработчиков Joomla! произвела
ревизию системы шаблонов, по результатам которой можно сделать вывод, что
шаблоны версии 1.5 будут еще долго использоваться, а вот время шаблонов
версии 1 0 уже вышло.
Обычно шаблон состоит из набора файлов, включающего РНР-код, таблицы
стилей (CSS) и картинки. На рис. 4.29 представлен сайт Joomla24, где я пы-
таюсь загрузить шаблон Moz Dev в ZIP-формате. Найдите на этом сайте (или
на любом другом) шаблон и сохраните его на жестком диске.
Для изменения шаблона вам сначала нужно загрузить его на ваш сайт с по-
мощью Менеджера расширений. Вызвать этот менеджер можно командой
Расширения | Удалить/установить. Нажмите кнопку Обзор и выберите
файл шаблона, затем нажмите кнопку Загрузить файл & Установить
(рис. 4.30).
После успешной загрузки шаблона, откройте Менеджер шаблонов. Сейчас
выбран шаблон rhukmilkyway. Чтобы изменить дизайн сайта, выберите ус-
Добавление контента
165
тановленный вами шаблон и нажмите кнопку По умолчанию в верхней час-
ти окна.
Alls by Goodie I
New
DowniosdB
Мог Dev
Template Gallery
Home
We Title:
We Version:
File Size:
File HomePage:
Downloads:
Мог Dev
1.0
46.69 Kb
Comments (C)
Tuesday. 10 October 2006
Submit Template
But
Jo m*«1 5л Templates
1247
Я
Рис. 4.29. Нажмите ссылку Download для загрузки архива нового шаблона
Рис. 4.30. Нажмите кнопку Загрузить файл & Установить для установки нового шаблона
Откройте браузер и нажмите кнопку Обновить, чтобы просмотреть, как бу-
дет выглядеть сайт в новом шаблоне. Поздравляю! Вы только что изменили
дизайн вашего сайта. Если вы хотите загрузить коммерческие шаблоны,
к ваши услугам множество сайтов. Вы можете менять дизайн сайта хоть каж-
дый месяц!
166
Гпава 4
Совет
Чтобы увидеть, как будет выглядеть ваш сайт после применения того или иного
шаблона, подведите указатель мыши к названию шаблона (в Менеджере шаб-
лона). Вы увидите небольшое окно предварительного просмотра.
Ваш сайт и ваши пользователи
Одно из огромных преимуществ CMS перед обычной Web-страницей — это
возможность простого управления содержимым. Если у вас есть пользовате-
ли (редакторы или модераторы), работающие с контентом сайта, вы можете
уделять больше времени продвижению сайта и другим не менее полезным
задачам. Joomla! позволяет назначить зарегистрированным пользователям
различные роли, предоставляющие полномочия по изменению Web-сайта.
Вы можете разрешить вашим пользователям добавлять новый материал, но
публиковаться он будет только после вашего одобрения. Только за вами по-
следнее слово, что будет на сайте, а что — нет.
Совет_________________________________________________________
В стандартную "поставку" Joomla! входит менеджер персональной информации
(PIM). Запустить его можно с помощью команды Компоненты | Контакты |
Контакты. Для любого пользователя, зарегистрированного в Joomla!, можно
сохранить личную информацию в PIM. Вы можете создать новую запись и свя-
зать ее с записью пользователя.
Когда вы создаете новую учетную запись для вашего пользователя, можете
выбрать одну из трех категорий, к которой будет относиться новый пользова-
тель: Registered Author (Автор), Registered Editor (Редактор) или Registered
Publisher (Издатель). Вы можете самостоятельно добавлять пользователей, а
также редактировать учетные записи уже зарегистрированных пользователей.
Например, вы можете открыть Менеджер пользователей и нажать кнопку
Новый для создания нового пользователя.
При создании пользователя я ввел название учетной записи — John Doe, ло-
гин jdoe, указал электронный адрес и пароль. В списке Группа я выбрал Au-
thor (рис. 4.31). Пользователи этой группы имеют право добавлять новый
контент.
Запустите браузер и попробуйте зарегистрироваться на сайте под именем
только что созданного пользователя. Слева вы увидите форму для входа, ис-
пользуя которую зарегистрированные пользователи могут входить на сайт.
Введите логин и пароль созданного пользователя, затем нажмите кнопку
Логин. После входа браузер перейдет опять на домашнюю страницу, но вме-
сто формы входа будет отображен блок с приветствием и кнопкой Выйти.
Добавление контента
167
Oft Пользователь: [Новый]
Данные пользователя
Hi ванне John Doe
Погни jdo*
F mail jdoe®yjhoocom
Новый пароль
Подтвердить пароль
IРУПП»! ;ГРиЬ1<с Fronlend
- Registered
Рис. 4.31. Выберите группу Author
Чтобы добавить новую статью, пользователь должен выбрать существующий
раздел или категорию. После того как он выберет категорию, ниже списка
статей появится кнопка Новый (рис. 4.32).
Нажмите кнопку Новый и увидите экран WYSIWYG-редактора, выбранного
по умолчанию. Ниже области редактора вы найдете панели для изменения
большинства основных параметров статьи и ее метаданных.
Рис. 4.32. Нажмите кнопку Новый для публикации новой статьи
168
Гпава 4
Введите простую статью и заполните ее параметры, как бы это сделал поль-
зователь вашего сайта. Как только статья будет готова, нажмите кнопку Со-
хранить. Статья будет добавлена на сайт. Как только пользователь добавит
статью, администратор или модератор может решить, публиковать ее или
нет.
Войдите как администратор и откройте Менеджер материалов. Вы увидите
статью, которая была только что добавлена в систему. В колонке Публика-
ция вы увидите красный х, означающий, что статья пока не опубликована.
Только администратор или пользователь с правами Editor или Publisher мо-
жет опубликовать статью.
Резюме
Теперь вы знаете практически все о публикации материалов в Joomla!. В этой
главе мы не только рассмотрели посторонние приложения планирования сай-
та (MS Word, FreeMind, Leo), но и реализовали иерархическую структуру ва-
шего сайта.
Как уже было отмечено ранее, по умолчанию Joomla! поставляется с двумя
редакторами (TinyMCE и XStandard Lite), использующимися для создания и
изменения статей. У TinyMCE превосходный пользовательский интерфейс, и
он написан на JavaScript, что позволяет его запускать в любом браузере
XStandard Lite требует установки специального плагина на стороне клиента и
может работать только на Windows-платформе, зато он поддерживает
XHTML. Вы можете выбрать любой из этих редакторов.
Мы также изучили основы построения меню, поэтому теперь вы можете соз-
давать прямые ссылки на статьи, а также ссылки на целый раздел или катего-
рию сайта. Наконец, мы создали нового пользователя и установили ему пра-
ва, необходимые для публикации нового контента на Joomlal-сайте.
В следующей главе мы поговорим об администрации не только сайта, но и
виртуального сообщества.
ГЛАВА 5
Администрирование Joomla!
Одно из преимуществ Joomla! — непринужденность администрирования сай-
та. Практически все функции по администрированию сайта доступны из па-
нели управления Joomla!, что делает возможным управление сайтом (контен-
том и конфигурацией) из любой точки Земного шара, где есть доступ к Ин-
тернету. Когда же администрирование сайта невозможно выполнить с
помощью интерфейса администратора, вы можете использовать стандартные
Му SQ L-утил иты.
Интерфейс администратора Joomlal-сайта структурирован так, что каждая
зона ответственности имеет собственного менеджера. Например, Менеджер
шаблонов управляет всеми шаблонами, Менеджер пользователей использует-
ся для настройки учетных записей пользователей. Менеджеры Joomla! можно
разделить натри категории: управление дизайном, управление материалами и
системное администрирование.
Администрирование дизайна
Убранство вашего сайта зависит от нескольких факторов. Прежде всего, на
дизайн сайта влияет шаблон. Шаблон определяет графическую и цветовую
тему, шрифты для всех страниц сайта (хотя некоторые расширения вроде
Simple Machines Forum (SMF) используют собственные настройки темы), по-
этому Менеджер шаблонов больше всех остальных менеджеров влияет на
дизайн сайта.
Кроме шаблона сайта огромное влияние на внешний вид сайта оказывает вы-
бранный язык. Некоторые языки, например китайский или языки, которые
читаются справа налево (в терминологии Joomla! такие языки называются
RTL — right to left), могут значительно изменить внешний вид сайта. Изме-
нить язык сайта можно с помощью Менеджера языков.
170
Гпава 5
Менеджер шаблонов
Менеджер шаблонов (рис. 5.1) позволяет администратору выбрать шаблон по
умолчанию, а также изменить главный файл шаблона, таблицу стилей (CSS-
файл) и другие файлы шаблона. Это означает, что вам не нужен текстовый
редактор и FTP-доступ к сайту — при необходимости вы сможете изменить
шаблоны с помощью Joomla!.
Примечание переводчика
Вызвать менеджер шаблона можно с помощью команды меню панели управле-
ния Расширения | Менеджер шаблонов
Г"1 Менеджер шаблонов
По умолчанию Правке Помещу
Сайт Дцшинс! ритор
# Имя шаблона Назначено
умолчтннп
1 С beez
2 С eff_corpth«ne
Версия Дата
1 0.0 19 February 2007
1.0 20080222
Alfthoi
Angie RadtkeJRobert Deutz
efiphje
3 Г rhukjnikyway
1 02
Показать #|20 V
11/20/06
Andy Miler
Рис. 5.1. Менеджер шаблонов
Подведите указатель мыши к названию шаблона, и вы увидите, как будет вы-
глядеть ваш сайт после выбора этого шаблона. Щелкните на имени шаблона,
и вы увидите окно конфигурации, подобное представленному на рис. 5.2.
Здесь вы можете изменить все основные параметры шаблона, в том числе ко-
роткое описание шаблона, полученное из XML-дескриптора
Все доступные параметры шаблона отображаются в области Параметры
Шаблон может быть привязан к определенным меню, отдельным пунктам
меню, всем непривязанным статьям или вообще не быть привязанным к ме-
ню. Чтобы привязать шаблон ко всем пунктам меню, вам нужно установить
выбранный шаблон как шаблон по умолчанию на главной странице Менед-
жера шаблонов.
Нажмите кнопку Редактировать HTML, вы увидите обычный текстовый
редактор (рис. 5.3). У этого редактора нет никаких специальных функций
вроде подсветки синтаксиса, даже нет функций поиска и замены. Он предна-
Администрирование Joomla'
171
значен для небольших изменений, когда обычный текстовый редактор недо-
ступен.
П Шаблон: (Правка]
{Досмотр Редактировать НТИ. Редактировать CSS Сохранить
Закрыть Помощь
Подробности
Нювдкжк еЛ.согрСЬете
Описание: CorpTheme
Привязка к пунктлы пеню
Менк: (* цат Выберите из списка
Параметры
Файл параметров fleTpWMfe1i_co<p(heme£>afem3jrtl3 Доступен на запись!
SkJe Column Position Слава V
Рис. 5.2. Настройки шаблона
Г“ Редактор HTML файла шаблона
Сохранить Применить Отме
fiomo;4Jkw*4XouJdomaiiis.<llnN8.org.ua<pubNc_titml4oomMAemplMee/0n_corpUiemeAndex.php
<?ph₽
/”
* Qcopytight Copyright СО ZOOS - Z008 Open Source Matters. All rights reserved
• Blicense GNU/GPL, see LICINSI.php
* Joon!aI is free software. This version nay have been Modified pursuant
* to the GNU General Public License, and as distributed it includes or
’ is derivative ot works licensed under the GNU General Public License or
* othn tree or open source softvere licenses.
* See COPYRIGHT.php for copyright notices and details.
fl no direct access
defined! ’_ЛХ1С’ ) or die ( 'Restricted access*
«tDOCTYPl htel PUBLIC "-Z/B3C//DTO XHTML 1.0 Transitional//IN" *'http. ifwv.w3.org/TR/xhtall/DTD/xhtall-
transitional.dtd">
<htnl rains"http://wuw.w3.оrg/1533/xhtal- xal:lang-"<7php echo fthis->language; ?>’ lang-"<?php echo Pthis-
>language; 1>" >
«head*
«idoc: include tvpe^’heMd" /> .. ............ ..........
Рис. 5.3. Вы можете редактировать HTML-файла шаблона
прямо из интерфейса администратора
Для редактирования таблицы стилей (CSS-файла) нажмите кнопку Редакти-
ровать CSS— вы увидите тот же редактор, который использовался для
V72
Гпава 5
редактирования HTML-файла. Если у шаблона несколько CSS-файлов, вам
будет предложено выбрать файл для редактирования (рис. 5.4). В списке
окажутся все CSS-файлы из каталога \css выбранного шаблона, а не только
те, которые перечислены в XML-файле.
8ГЛ Редактор CSS файла шаблона
Правка Отменить Помощь
# home dkwBorgu-donu in а<1й we.org ua public Jitml lootnla templates efi_corpthemecse
C left css
Доступен на
мнись Недоступен
ил «лпись
Доступен на запись
right.css
С tefnpiate.css
Доступен на запись
Доступен на запись
Рис. 5.4. Если у шаблона несколько CSS-файлов,
аы можете аыбрать один для редактирования
В большинстве случаев вам не понадобится изменять файлы шаблона. Если
вам не понравился какой-то шаблон, вы можете выбрать другой, а не тратить
время на "доведение до ума" данного шаблона.
Менеджер языков
Менеджер языков позволяет вам установить языки, которые будут доступны
в вашей Joomlal-системе. Для Joomla! доступно более 40 языков. Админист-
ратор может выбрать язык по умолчанию, который будет использоваться для
всех новых пользователей. Но после регистрации пользователь может вы-
брать предпочитаемый им язык сайта.
Joomla! — одно из самых многоязычных приложений. Создана даже специ-
альная группа, проверяющая правильность перевода Joomla! на разные языки.
Эта же группа занимается обновлением и корректировкой языковых плагинов
Joomla!.
JoomJFish (www.joomfish.com)— одно из самых популярных расширений
Joomla!, позволяющее управлять многоязыковым контентом. JoomlFish по-
зволяет переводить (правда, вручную) содержимое сайта и хранить все пере-
воды в базе данных. С помощью дополнительных расширений можно даже
переводить статический текст, который будет появляться на сайте переведен-
ным на выбранный пользователем язык.
Администрирование Joomla!
173
Примечание переводчика__________________________________________
Зная особенности машинного перевода, уж лучше переводить материалы вруч-
ную, если в этом есть такая необходимость. Качество машинного перевода,
к сожалению, пока все еще оставляет желать лучшего.
Менеджер языков позволяет вам управлять многоязыковым сайтом, но уста-
новка новых языков осуществляется через Менеджер расширений. После ус-
тановки новый язык появится в Менеджере языков и станет доступным для
настройки (рис. 5.5). Менеджер языков позволяет вам выбрать язык по умол-
чанию для интерфейсов сайта и администратора. Заметьте, что языки сайта и
панели управления могут быть разными.
Рис. 5.5. Менеджер языкоа позволяет выбрать язык сайта и язык панели управления
Имейте в виду, что не только интерфейсы сайта и администратора можно пе-
ревести на разные языки. Отдельные статьи также могут быть настроены для
отображения на многоязыковом сайте. Автор статьи может выбрать для нее
один из языков, установленных в вашей Joomlal-системе, из списка Язык
материала'.
Управление материалами
Управление контентом — это основная работа администратора сайта. Адми-
нистратору нужно управлять разделами, категориями, статьями и медиафай-
лами. Поэтому управление контентом — основная функция Joomla!.
1 Список выбора языка находится в области Параметры - Расширенные. — Пер.
174
Глава 5
Большую часть времени, потраченного на управление материалами сайта, вы
проведете в Менеджере материалов, после того, как с помощью Менеджера
разделов и Менеджера категорий будут созданы разделы и категории, в кото-
рые будут помещены новые статьи. Менеджер главной страницы позволяет
управлять всем контентом, отображаемым на главной странице сайта. Ме-
диаменеджер позволяет загружать медиафайлы и управлять ими (картинками,
звуками, Flash-роликами и т. д.), которые используются в ваших статьях. Ме-
неджер корзины используется для хранения "выброшенного" контента, перед
его окончательным удалением.
Менеджер материалов
Вы уже использовали Менеджер материалов (рис. 5.6) для создания категори-
зированных и некатегоризированных статей (вроде Условий использования
сайта). До этого мы не использовали одну из самых важных его функций —
возможность архивирования материалов.
Любой успешный сайт рано или поздно столкнется с проблемой перенасы-
щения статьями. Даже если последовательно заполнять разделы и категории
статьями, Joomla! станет подобной саду, где деревья будут мешать вашей
прогулке по нему. В этом случае администратору нужно позаботиться о том,
чтобы ни посетитель, ни сам администратор "не заблудился" на сайте.
Joomla! предоставляет механизм, предотвращающий переполнение сайта ста-
рыми материалами. Вы можете сократить ненужный материал с помощью
кнопки В архив. Если статья помещена в архив, она больше не доступна на
сайте и не участвует в поиске материалов. Но если вы решите вернуть статью
на сайт, просто просмотрите архив, выберите нужную статью и нажмите
кнопку Из архива. Статья будет восстановлена в прежнее место на сайте.
Рис. 5 6. Менеджер материалов позволяет публиковать и скрывать материалы сайта
Администрирование Joomla!
175
Примечани е_________________________________________________
В предыдущих версиях Joomla! функции архивирования материалов были дос-
тупны в Менеджере архива. Теперь его функции интегрированы в Менеджер
материалов. Чтобы просмотреть только архивные статьи, в раскрывающемся
списке Выберите состояние нужно указать состояние В архиве
Глобальные параметры, влияющие сразу на все статьи, можно изменить, на-
жав кнопку Параметры в окне Менеджера материалов. Вы можете устано-
вить различные параметры статей, например, показать вступительный текст,
имя автора и т. д. (рис. 5.7). Все эти опции вам уже знакомы — мы их рас-
сматривали, когда создавали статьи для сайта. Разница лишь в том, что для
глобальных параметров вы не можете выбрать значение Использовать гло-
бальные, поскольку вы как раз и задаете глобальные значения.
Рис. 5.7. Менеджер статей позволяет вам изменять
глобальные параметры статей
Менеджеры разделов и категорий
В прошлой главе мы полностью рассмотрели Менеджер разделов и Менед-
жер категорий, поэтому не вижу смысла повторяться. Эти два менеджера ис-
пользуются для создания разделов и категорий сайта. Статья всегда должна
быть представлена в разделе или категории. Исключение составляют лишь
статьи, публикуемые на главной странице сайта.
176
Гпава 5
Менеджер главной страницы
Обычно контент сайта отображается с помощью меню, которое связано с оп-
ределенным разделом или определенной категорией сайта. Исключение со-
ставляет лишь главная страница. Главная (она же домашняя страница) сайта
может содержать как некатегоризированные статьи, так и статьи из любого
раздела или любой категории сайта. Именно по этой причине был создан от-
дельный менеджер — Менеджер главной страницы (рис. 5.8).
Менеджер главной страницы позволяет выполнять те же операции, что и Ме-
неджер статей: публиковать, скрывать, архивировать статьи и изменять их
порядок отображения. Думайте о Менеджере главной странице, как о фильт-
ре Менеджера материалов, отображающем только статьи, публикуемые на
главной странице сайта.
Joomla1 Joomla JumpStart
Cam Все ые*«е Ммергмлы Коипопеты Расажрення Янслруыешы Пои - нц» Просмотр О 91 © Еллити
jl Менеджер Главной страницы ft о 3 <„*
Лрхие ГЬ/бли<аи4я Скрыть Удалить Помсад
Сильтр { Выполнить Сброс ] Выверит* рааясл V Вывр*ты*т«гсрию - Выверит* даторл V Выберите . стояние V
Г Заголовок Пуояиышмм Сортировка*- ф Доступ Ю Раадея Натегорпя Author
Г Усповия ислот>зом*«я сайте • 2 Всем 49 АЛпимплог
2 Г Тест л, з Всем 46 AAnristratw
Показать Ж 20 w
ОпуВлиговано. но поиостаноа пено I ч/ Огтубгмкоааном действительно I Опуб/хкодано, но Просрочено I О Не опубликовано) • В архиве
Нажмите на иконсу для переключения состоямя
Рис. 5.8. Менеджер главной страницы отображает содержимое главной страницы сайта
Медиаменеджер
Хотя Медиаменеджер (рис. 5.9) может управлять всеми типами мультиме-
дийных файлов (в том числе звуками и видео), большинство администрато-
ров Joomla! использует его преимущественно для управления картинками
Медиаменеджер позволяет работать с большинством медиафайлов, в том
числе с файлами со следующими расширениями: bmp, csv, doc, epg, gif, ico,
jpg, odg, odp, ods, odt, pdf, png, ppt, swf, txt, xcf и xls. Администратор может
добавлять или удалять типы (расширения) файлов, разрешенных для загрузки
на сайт, путем редактирования параметра Разрешенные расширения фай-
лов (этот параметр находится на вкладке Система общих параметров
Joomla!).
Администрирование Joomla!
177
По умолчанию новые файлы загружаются в каталог \images. В Linux-сис-
темах полный путь к этому каталогу может быть следующим: /Ьоте/и,ия_
пользователя/'риЫ ichtm I/ i mages/.
В Windows-системах путь к этому каталогу будет (в большинстве случаев)
таким: C:\Prograin Files\Apache Software Foundation\Apaclie2.2\htdocs\images.
Картинки, вставленные в статьи, автоматически помещаются в подкаталог
\stories. Путь к ранее загруженной нами картинке houseicon.png будет выгля-
деть так: C:\Prograin Files\Apache Software Foundation\Apache2.2\htdocs\i mages
\stories\houseicon.png.
Медиаменеджер позволяет вам создать новые подкаталоги. Для этого введите
имя нового каталога в текстовое поле, находящееся справа от поля, отобра-
жающего текущий путь, и нажмите кнопку Создать папку.
Любой загруженный медиафайл доступен для вставки в статью. Внизу редак-
тора статьи будет кнопка Картинка, используемая для вставки картинок. В
статье будет сохранен относительный путь к картинке, однако при просмотре
HTML-кода вы увидите следующий тег, отображающий картинку:
<img src="http://www.example.com/images/stories/houseicon.png">
Менеджер корзины
Как в большинстве операционных систем, удаляемый контент не сразу исче-
зает из Joomla!. При удалении материалы помещаются в корзину. Используя
Менеджер корзины, вы можете удалить все содержимое корзины или же вы-
брать только некоторые материалы и удалить их. Также вы можете восстано-
вить отдельные материалы на их оригинальное место.
178
Гпава 5
Почаще очищайте корзину. Ведь когда у вас, скажем, 700 материалов в кор-
зине, вы просто удалите все и даже не будете анализировать, что нужно, а
что — нет. Когда же у вас в корзине всего 10 элементов, вы задумаетесь, что
нужно удалять, а что — нет, и это позволит избежать ошибочного удаления.
Системное администрирование
Joomla!-сайт может одновременно обслуживать десятки тысяч пользователей,
поэтому понимание параметров, относящихся к системному администриро-
ванию, очень важно для администратора.
Менеджер общих настроек хранит глобальные параметры для сайта, системы
и сервера. Менеджер пользователей используется для администрирования
учетных записей пользователей. Менеджер меню позволяет создавать и ре-
дактировать элементы меню. Менеджер расширений — устанавливать и уда-
лять новые расширения и языки. Менеджеры модулей, плагинов и шаблонов
управляют, соответственно, модулями, плагинами и шаблонами Менеджер
массовой рассылки позволяет администратору отправлять письма сразу груп-
пе пользователей.
Панель управления играет роль главной страницы для администраторской
части Joomla.’-сайта и позволяет запускать различные менеджеры, исполь-
зующиеся для настройки сайта.
Панель управления
Используя панель управления, администратор может перейти к любой части
сайта. Данная страница является домашней страницей интерфейса админист-
ратора. Взглянув на панель управления, сразу замечаешь большие кнопки, но
часто администраторы пропускают три очень полезных элемента панели
управления: кнопку Просмотр, инструкции по удалению вступительного
текста, а также административные панели.
Как показано на рис. 5.10, в верхней части окна доступна кнопка Просмотр
(ее можно использовать практически из любой части интерфейса админист-
ратора). На самом деле, это ссылка на главную страницу вашего Joomla!-
сайта. Используйте ее для предварительного просмотра изменений, сделан-
ных с помощью интерфейса администратора.
Чуть ниже вы увидите инструкции по удалению текста приветствия
(рис. 5.11). Возможно, вам захочется удалить это сообщение, чтобы оно не
маячило перед глазами, да и административные панели, находящиеся ниже
этого сообщения, будут доступнее. Административные панели (тоже отобра-
жены на рис. 5.11) предоставляют полезную информацию о сайте, например,
информацию о находящихся в данный момент на сайте пользователей, наи-
Администрирование Joomla1
179
более популярных статьях, недавно добавленных статьях и информацию о
посещениях сайта (статистику).
Примечание переводчика____________________________________________
Если вы не знаете английский язык, то и не сможете прочитать инструкции по
удалению приветствия, которые даже в русской версии Joomla! написаны на
английском. Я вам помогу. Из меню Расширения выберите Менеджер моду-
лей, затем удалите модуль "Welcome to Joomla!".
Joomla! Joomla Jumpstart
Сайт Все менп Mi re риалы Компоненты Расширения Инструменты Помощь W Просмотр
* Welcome то
Congratulations on cnoosrg Joomla! as your corter
We hope you are cbte to create a successful Web s
and maybe you wl be able to give something back t
To make your start with Joomlai as smooth as pass
you some porters to documentation, common quest
securng your server д good place Io start to the "X
Guide to Joomla!"
For your most common questions the best place to !
answers is the Frequently Asked Questions (FAQ)
on a pertKxiar screen in the Admnstration area ot.
Рис. 5.10. Используйте кнопку Просмотр для быстрого доступа
к домашней странице вашего сайта
We hope you have much tun end success with Joomla1 and hope to see
you in the forun among the hundreds and thousands ot contributors
Your Joomla1 team ^'!
P.S.. To remove this message, delete the "Welcome to Joomta'" Module n
the Admostrator screen ot the Module Manager (on the Extensions
menu). Here ts a quick hnk to this screen
> Logged in Users
Popular
► Recent added Articles
Menu Stats
Рис. 5.11. Выше административных панелей вы найдете инструкции
по удалению приветствия
Менеджер общих настроек
Запустить Менеджер общих настроек можно с помощью кнопки Общие на-
стройки в панели управления. Данный менеджер управляет всеми настрой-
180
Гпава 5
ками сайта — от пароля администратора до параметров FTP. Глобальные па-
раметры делятся на три группы: Сайт. Система и Сервер. По умолчанию,
как только вы вызываете этот менеджер, отображаются параметры группы
Сайт.
Параметры сайта
Большинство параметров группы Сайт уже установлено вами во время ин-
сталляции Joomla!. Тут же вы найдете метаданные сайта, параметры оптими-
зации для поисковой машины (SEO, Search Engine Optimization) и параметры
RSS-лент (рис. 5.12). Панель параметров сайта позволяет вам временно "вы-
ключать" сайт и задавать сообщение, которое увидят пользователи, когда об-
ратятся к сайту. Данная возможность очень полезна, когда вы производите
обслуживание базы данных сайта.
£йН1 Си» тема Сервер
Установки сайта
Сип выклинен Нет Г дв
ОррпаМН сайт временно недоступен*
сообщение
Имя сайта joomia JumpStan
Шнуалдным riditor- TmyMCE2Jj> **
редактор но
умалянш о
Длина списка 20 V
Длина RSS ленты ' ю v.
Установки Search Eng не Opli nization
Включить SEO Нвт г Да
ИсЛОЛЬЮВЛТ»
tnocljewtfte
Доол-ить суффикс к URL
НастроГ-wi Метаданных
Значение тэга Jooele! - the dynamic portal engine and content
в>п*демепс system
для всего сайта:
К л to я ель е слова
тэга
«met** для всего
сайта:
Исполь ювать
•АГСЛОВОК
материала а тэге
< meta*
Мсполь <овлть
г ».м актора
мате) мала в тэге
MTi»ta>
Рис. 5.12. Параметры сайта
Два очень полезных параметра находятся в группе Установки Search Engine
Optimization. Подробная поисковая оптимизация будет рассмотрена в гла-
ве 12, а пока обсудим ее лишь вкратце. Данные параметры позволяют созда-
Администрирование Joomla!181
вать виртуальные папки для различных разделов и категорий так, чтобы
браузеру (или поисковой машине) казалось, что URL не содержит парамет-
ров. Например, если функции SEO выключены, то URL, предоставляющий
доступ к определенному разделу, будет выглядеть так:
http://vvvwv.Joomla!.org/index.php?option=com_content&vievv=category&id=
33&Itemid=53
Все эти параметры — элементы URL после вопросительного знака (?) — сби-
вают с толку поисковую машину. Если же опции поисковой оптимизации
включены, то URL будет выглядеть примерно так:
http://www.Joomla!.org/content/vievv/12/26/
Конечно же, вы захотите включить эти параметры. Если у вас собственный
Web-сервер, это не проблема. А если же Joomla! установлена на удаленном
сервере хостинг-провайдера, с включением SEO могут возникнуть проблемы.
Подробнее об этом вы сможете прочитать в главе 12.
Системные параметры
Параметры сайта определяют, как сайт будет функционировать на системе, а
системные параметры определяют настройки самой системы (рис. 5.13).
Большинство этих параметров влияет на производительность, поэтому после
их изменения нужно проверить, как они отразились на системе.
Большинство системных параметров очевидно, но некоторые могут озада-
чить начинающего пользователя Joomla!. Параметры группы Режим отладки
оказывают огромное влияние на производительность и безопасность Joomlal-
сайта, поэтому редко активируются на сервере развертывания. С функцио-
нальной точки зрения, данные параметры не представляют никакого интере-
са, поскольку не добавляют в Joomla! новых возможностей.
Параметры кэширования позволяют включить кэширование страниц, уско-
ряющее процесс вывода страниц так, что для генерации страницы не произ-
водится запрос к базе данных. Если запрошенная страница уже была сгенери-
рована для другого пользователя на протяжении последних 900 секунд (или
того значения, которое вы установите), в браузер будет отправлена кэширо-
ванная версия. Кэширование может существенно повысить производитель-
ность сайта.
Один из недостатков кэширования — необходимость записи в каталог \cache.
На многих Web-узлах данная возможность ограничена, поэтому перед вклю-
чением кэширования поинтересуйтесь у вашего хостинг-провайдера, можно
ли это сделать. Рекомендуемое значение прав доступа (устанавливаются ко-
мандой chmod), разрешающее запись в каталог кэша, — 755.
182
Гпава 5
Сайт Система Сервер
Системные установки
Секретное слово
Путь К папке логов /home/dkreorgu/dornjins/dteMS org.ua/publlc_htl
Включить Web-сергмкы (7 Нвт р д#
Сервер ПОМОЩИ Engl h(GB)-halp.joomh erg V Применить
Режим отладки
Or ладка системы Нет р да
Отладка локализации jy Нет (** дв
Настройки пользователя
Ра решить регистрацию (" Нет да
пользователей
Права нового | Regist/rtd Д
пользователя 1
Активация нового f цет (♦ д0
пользователя
ГЧ|ЫМ«РМ г спрятать ₽ Покатать
лоль зов are ля
Установки кэш л
Включить кэшмрвванис jy Нет р д0
Время кэширования ю мин
Обработчик кэша [♦айл
Установки сессий
Время жи>нм сессии ic ми
Обработчик сессии Гб «1 длины/ v
Установки медиа менеджера
Ра решенные bmp.arv.doo.tpg.gif.ico.jpg.odg.odp.ods.odt.pd'
расширения файлов
Макет мальвы i f>a мер ЮОООООО
(в байтах)
Путь к палке с файлам i images
Путь к папке С Images/stonu
картинками
Огржич >вать ».качку
Проверять MIME типы
С* Нет <• Да
Рис. 5.13. Системные параметры
Примечание переводчика_____________________________________
В большинстве случаев прав 755 окажется мало, поэтому нужно установить
сразу права 777.
Вним ани е±____________________________________________________
Предоставление права записи каталога не всегда желательно с точки зрения
безопасности. Более подробно мы поговорим об этом в разд. "Каталоги, дос-
тупные для записи" далее в этой главе
Параметры сервера
Последняя панель страницы общих настроек содержит параметры сервера
(рис. 5.14), позволяющие настроить взаимодействие вашего Joomlal-сервера с
другими серверами, необходимыми ей для работы.
Одна из наиболее полезных опций на панели Сервер— это GZIP-сжатие
страниц, позволяющее включить сжатие страниц при условии, что ваш РНР
поддерживает эту функцию. Во время установки Joomla! инсталлятор прове-
Администрирование Joomlai
183
рил, поддерживается ли эта функция, и сообщил вам, так ли это (см.
рис. 2.15). Функция сжатия работает так: передаваемая страница "на лету"
сжимается и передается по сети уже в сжатом виде, на компьютере пользова-
теля браузер распаковывает страницу. Весь процесс происходит прозрачно
для пользователя, который почувствует лишь ускорение доступа к сайту, что
наверняка понравится пользователям, у которых модемное или GPRS-
подключение.
Са "и Система Ссррер
Установи сервера
Путь К В|> меинои лапке home/dkMoigu/domxins/dkM org ua/public_ht>
GZlP-сжатме страниц (i Нвт С да
Сообщен, «я об ошибках | По уиолчая*.» v
Установки локали
Временная ' (U ТС 00:00) Зала дна* Европа. Лондон. Лиссабон. Касабланка
юна ' *...“ “
Установки FTP
Вклнчип FTP Нет Г д,
FTP ХОСТ 127.0.0.1
FTP порт ’21
FTP логин
FTP Пароль
FTP корень
Установки базы дани» ix
Тип базы данных mysqi
11мл хоста localhost
Логин dtri
Ба ы данных «^огди
Префикс б л <ы данных Jo>
Установки почты
Способ отправки почты РнР mad function v
Адрес отправшеля dh^labi®mnl ru
Пня отправителя joomla JumpStart
Путь к Sendniail /usc/sbin/sendmad
Исполыовать SMTP- ^eT С да
авторизацию
SMTP ла-гин
SMTP пароль
Адрес SMTP сервера l0Cjin0It
Рис. 5.14. Параметры сервера
Чтобы разрешить отправку писем с сайта (например, массовую рассылку или
отправку сообщений с подтверждением регистрации пользователя), вам нуж-
но отредактировать параметры почты. Если ваш хостинг-провайдер предос-
тавил вам также и почтовый ящик, параметры почты легко получить из ва-
шей почтовой программы (например, из Outlook Express)— просто скопи-
руйте почтовые параметры и вставьте в соответствующие поля группы
параметров Установки почты.
А вот если ваш хостинг-провайдер не предоставил вам почтовый ящик,
включение данной функции может быть довольно сложным. Большинство
SMTP-серверов (эти серверы передают почту) закрыты для пользователей,
которые специальным образом не авторизированны для отправки сообщений.
Все это из-за спаммеров, использующих доступные всем серверы для рас-
сылки нежелательной корреспонденции. Возможно, вам придется использо-
184
Гпава 5
вать персональный почтовый сервер для включения функции отправки поч-
ты. Проконсультируйтесь со своим хостинг-провайдером.
Менеджер пользователей
Менеджер пользователей позволяет администратору предоставлять привиле-
гии различным пользователям (рис. 5.15). Joomla! проектировалась с учетом
здравого смысла, поэтому она является довольно безопасной системой.
Joomla! разрешает регистрацию пользователей на сайте, после которой поль-
зователю отправляется сообщение с требованием подтвердить регистрацию.
Если пользователь подтверждает регистрацию, учетная запись считается про-
веренной и помещается в группу Registered (зарегистрированные пользова-
тели). После входа на сайт каждый зарегистрированный пользователь (даже
тот, у которого наименьшие права) может редактировать свой профиль
(ссылка Your Details) и добавлять Web-ссылку (ссылка Submit a Web Link).
Когда на сайт входит пользователь с правами Author, в меню User Menu по-
является ссылка публикации нового контента (Submit a Web Link). При пуб-
ликации нового контента используется редактор, выбранный в профиле поль-
зователя.
Примечание
Аутентификация пользователей не ограничена системой Joomla!. При желании
вы можете использовать плагины, позволяющие производить аутентификацию
другим системам, например. LDAP или Gmail. Если у вашей корпоративной сети
разветвленная инфраструктура, вы можете доверить аутентификацию другим
системам. Подробнее об этом вы сможете прочитать в документации по
Joomla!.
Администрирование Joomla!
185
Пользователь с наименьшими правами может изменять только свое имя,
e-mail, пароль, язык сайта и часовой пояс. Если же разрешена возможность
добавления или изменения контента, пользователь также сможет выбрать
текстовый редактор.
Управление регистрацией пользователей
Параметры, разрешающие самостоятельную регистрацию пользователя без
вмешательства администратора, можно установить в разделе Система
Менеджера общих настроек или через кнопку Конфигурация в Менеджере
пользователей (рис. 5.16).
СлЙ1 Систему Сервер
Сне темные установки
Секретное слово fWtdaPffdphTkQCR
Путь к пдпке логов /home/dhftsorgu/domiinVdta*e erg ua/public_hti
Включить Web сервисы (♦ Нет f д#
Сервер помощи lEnghsh(GB)-heipjoomla.org V Применить
Режим отладки
Отладка системы с |_|ет Г' да
Отладка л ока л нации |^т С да
Настронки пользователя
Разрешить регистрацию
пользователей
Права нового
пользователя
Активация нового
пользователя
Параметры
пользователя
Г Нет Да
Registered V
Нет Да
Спрятать Показать
Установки кэша
Включить кэширование Нет С да
Время кэширования 15 Мин
Обработчик кэша i «дйл v
Установки сессии
Время жи н т сессии 15 мин
Обработчик сессии . блзл данных v
Установки Медиа менеджер>
Ра решенные bmp.csv.doc.epg.gif.lco.jpg.odg.odp.ods odt.pd
расширения ф илов
Максимально и размер ИООООООО
(в сайтах!
Путь к папке с фемлами images
ПуТЬКПдлкес images/stones
Рис. 5.16. Параметры регистрации пользователей
Примечание переводчика_______________________________________
В книге автор советовал изменять параметры регистрации в разделе Сайт. Но
в моей версии, которая была последней на момент написания этих строк, дан-
ные параметры я нашел в разделе Система, а кнопки Конфигурация в Менед-
жере пользователей не было
Администратор может свободно изменять все параметры, относящиеся к лю-
бой учетной записи пользователя, а также отключать или удалять учетную
186
Гпава 5
запись в случае необходимости. Справа в окне Менеджера пользователей вы
увидите два фильтра, позволяющих выбирать пользователей по их принад-
лежности к определенной группе или по статусу входа на сайт. В отличие от
других систем, в Joomla! пользователь может находиться только в одной
группе.
В н и м ани е!_______________________________________________
Если вы хотите удалить учетную запись пользователя, связанную с записью в
Менеджере контактов, вы тем самым повредите контакт. При удалении пользо-
вателя, убедитесь, что вы удалили связанную с ним запись из списка контактов
(если она там вообще была).
Один из ключевых аспектов создания сайта сообщества— это управление
пользователями. Неподтвержденные учетные записи пользователей, клони-
рованные учетные записи — все это может разрушить вашу базу пользовате-
лей. Отнеситесь к управлению пользователями очень серьезно!
Вход в систему и вопросы безопасности
Joomla! разрешает анонимный доступ любому желающему к общедоступно-
му содержимому сайта, и в то же время позволяет производить аутентифика-
цию зарегистрированных пользователей
Пользователей, получающих доступ к Joomla!-сайту, можно разделить натри
основные группы:
♦ незарегистрированные пользователи— это простые посетители сайта,
которые не вошли в систему и, вероятнее всего, даже не регистрировались
на сайте. Большинство обычных сайтов не обладает системой регистрации
пользователей, поэтому все пользователи таких сайтов попадают в эту
группу1;
♦ зарегистрированные внешние пользователи (registered front-end users) —
пользователи, которые зарегистрировались на сайте, а потом вошли в сис-
тему с помощью формы входа. После регистрации учетная запись пользо-
вателя должна быть активирована по e-mail или же вручную подтверждена
администратором. С помощью механизма регистрации пользователей вы
можете ограничивать доступ пользователей к различным материалам
сайта. Некоторые платные сайты, например Salon.com, предоставляют не-
которые статьи только зарегистрированным пользователям, причем за ис-
пользование сайта с них взимается абонентская плата. Зарегистрирован-
ные пользователи могут размещать, редактировать и публиковать матери-
1 В англоязычной литературе по Joomla! данные пользоватеаи называются public front-end
users. — Пер
Администрирование Joomlai
187
ал (в зависимости от прав доступа), но не имеют доступа к интерфейсу
администратора;
♦ зарегистрированные внутренние пользователи (back-end-пользователи) —
это зарегистрированные пользователи, имеющие право изменять опреде-
ленные части сайта— менеджеры, администраторы, суперадмини-
страторы. Все эти пользователи имеют доступ к интерфейсу администра-
тора (функции интерфейса администратора будут ограничены в зависимо-
сти от прав пользователя).
При редактировании учетной записи с помощью Менеджера пользователей
(рис. 5.17), вы можете выбрать группу пользователя. Для двух основных
групп (front-end и back-end) можно выбрать подкатегории, определяющие
права доступа пользователя.
Пользователь: [Редактировать]
Длнныв пользователя
Название
John Do*
Логин
Jdo*
E-ma I
jdoe@yjhoo com
Новый пароль
Подтвердить пароль
Группа
yPublio Fronltnd
. - Rtgbtered
- Р*дактор
- Publisher
- Public Backend
- Менеджер
• Administrator
- Super Administrator
Рис. 5.17. При редактировании учетной записи пользователя
вы можете указать его принадлежность к одной из групп пользователей
Зарегистрированные внешние пользователи
Пользователи данной группы имеют доступ к WYSIWYG-редактору для от-
правки и/или редактирования статей. Права пользователя варьируются в за-
висимости от его принадлежности к той или иной подгруппе:
♦ Registered — обычный зарегистрированный пользователь, имеющий пра-
во читать ограниченный контент на сайте (если он есть) Пользователь
имеет право добавлять ссылки на сайт, но не имеет права добавлять статьи;
188
Гпава 5
♦ Author (Автор) — пользователи этой группы могут добавлять и редакти-
ровать статьи (только свои). Также эти пользователи могут определять,
были ли их статьи опубликованы на сайте;
♦ Редактор (Editor) — как и автор, данные пользователи могут добавлять и
редактировать статьи, но в отличие от автора, редактор может редактиро-
вать статьи других пользователей;
♦ Publisher (Издатель) — данному пользователю доступны все права редак-
тора, но он может также публиковать и скрывать статьи.
Если учетная запись пользователя была создана с помощью внешнего интер-
фейса Joomla! (когда пользователь зарегистрировался самостоятельно, а не
был зарегистрирован администратором или суперадминистратором), пользо-
вателю будет отправлено по e-mail письмо с просьбой подтвердить регистра-
цию учетной записи (это делается, чтобы убедиться, что введенный пользова-
телем e-mail правильный). Данная функция включена по умолчанию, и
Joomla! проделывает всю эту работу автоматически.
Зарегистрированные внутренние пользователи
Внутренние пользователи — это административные пользователи сайта. Ад-
министраторы имеют право изменять права других пользователей, изменяют
шаблоны сайта, создавать новые разделы и категории, устанавливать новые
компоненты и выполнять другие функции по управлению сайтом. Права
внутреннего пользователя определяются его принадлежностью к одной из
трех подгрупп:
♦ Менеджер (Manager) — пользователи этой группы обладают наименьши-
ми правами среди всех внутренних пользователей. Менеджеры имеют ог-
раниченный доступ к панели управления, они могут подтверждать регист-
рацию пользователей и выполнять базовое обслуживание сайта — управ-
лять разделами, категориями и перемещать статьи из одной категории в
другую;
♦ Administrator (Администратор)— администратор имеет право устанав-
ливать и удалять расширения, изменять шаблон сайта, менять разметку
страницы и модифицировать права любого пользователя с более низким
уровнем доступа. Администраторы не имеют права редактировать учет-
ную запись суперадминстратора, изменять общие настройки сайта, делать
массовую рассылку почты. Администраторы (и суперадминистраторы)
могут создавать новых пользователей. Joomla! может разрешать автомати-
ческую регистрацию пользователей. Ограничения на самостоятельно заре-
гистрированные учетные записи определяются администратором;
♦ Super Administrator (Суперадминистратор) — это царь и бог всего Web-
сайта Данного пользователя можно сравнить с пользователем Admi-
Администрирование Joomla!189
nistrator в Windows или с пользователем root в Linux. Действия суперад-
министратора ничем не ограничены. Первоначально его учетная запись
создается при установке Joomla! (имя пользователя — admin).
Внешний вид интерфейса администратора Joomla! зависит от прав пользова-
теля. Для пользователей с низкими правами (менеджер или обычный админи-
стратор) многие кнопки и элементы меню будут скрыты, но они будут пока-
заны только для суперадминистратора.
Пользователь забыл пароль
Если пользователь забыл свой пароль, Joomla! может отправить пользовате-
лю код верификации по адресу электронной почты, указанному при регист-
рации. Как только пользователь щелкнет по ссылке в полученном от Joomla!
письме, он сможет установить новый пароль. Пароли хранятся в формате
MD5, поэтому они не могут быть расшифрованы с целью отправки пользова-
телю забытого пароля, нужно только устанавливать новый пароль.
Если пользователь по каким-либо причинам не получил код верификации,
ему нужно обратиться к суперадминистратору, который может установить
новый пароль для любого пользователя.
Менеджер меню
В Joomla! меню— это не простые выпадающие меню, как в большинстве
пользовательских интерфейсах. Меню в Joomla! — это интерфейс пользова-
теля. Любой материал, который должен быть доступен пользователям
Joomlal-системы, должен быть привязан к меню. В большинстве случаев кон-
тент не будет доступен пользователю до тех пор, пока он не будет привязан к
меню.
Менеджер меню (рис. 5.18)— ядро Joomlal-системы. Настройка меню —
очень ответственная задача. Поскольку в главе 4 мы разработали довольно
подробную иерархическую структуру сайта, вам не придется потратить мно-
го времени в Менеджере меню. Вам нужно создать все необходимые разделы
и категории, чтобы потом заполнить их контентом.
Меню подобно разделу или категории: оно предназначено для организации,
но не для хранения контента. В меню хранятся отдельные элементы меню
(которые, в свою очередь, указывают на связанный с ними контент), а не свя-
занный с меню контент.
Чтобы просмотреть элементы меню, щелкните на кнопке Редактировать
пункты меню, которая находится в столбце Пункты меню напротив вы-
бранного вами меню в таблице менеджера. На рис. 5.19 показаны элементы
главного меню. С помощью окна Элементы меню администратор может ус-
тановить элемент меню по умолчанию, публиковать или скрывать элементы
190
Гпава 5
меню, а также изменять порядок отображения элементов меню (в колонке
Порядок).
а Меню
К
{ j Пункты меню и модули обновлены;
if Заголовок Тип Пункты меню ЯНеопублмковлно jnyoЛИКОВлно 1 Г Главное меню mainmenu Цр 3 2 С User Menu Меню пользователя 4 3 С Top Menu lopmenu 4 4 С Resources othermenu 5 5 С Example Pages Exampl-Pages |Ц 4 6 Г Key Concepts keyconcepts 3
Показать #[20 v ;
Рис. 5.18. Менеджер меню
Одна из очень удобных функций Joomla! заключается в том, что вы можете
скрывать пункты меню вместо их удаления из системы. Если какой-то эле-
Администрирование Joomla!
191
мент меню сейчас вам не нужен, вы можете просто скрыть его. Позже вы ре-
шите, нужен ли вам этот пункт меню или нет. Вы всегда сможете включить
его. С другой стороны, если он вам не нужен, вы можете в любой момент
удалить его. К тому же меню напоминают категории — очень просто пере-
мещать элементы из одного меню в другое.
Для перемещения выбранных пунктов меню нажмите кнопку Перенос, после
чего увидите окно Пункты меню: [перенос] (рис. 5.20). В этом окне вам
а ПуНКТЫ Меню: [Перенос]
Перенос Отменить Помещу
Переместить в меню:
Пункты меню были перемещены:
1. Free Borrower Articles
Рис. 5.20. Вы можете легко переносить пункты из одного меню в другое
ЕЯ Меню: [Правка]
Сократить Г^>**енить
0 О
Закрыть Понови?
Тип пуню а меню _________
[ Сменить тип ]
Шаблон блога материалов на
главной
► Параметры - Основные
> Параметры - Расширенные
* Параметры Компонент
Стандартньм шаблон отображен я блога тех материалов. которые указаны для показа нв
главной
Подробности пункте меню
ю- «4
Заголовок Free Вонвшы Article*
П сведении: tr««.borrow»r -aritde*
Ссылка: I г d ах. р hp7o ptio п«сып_со nt» кжГ jo rrtpa g
Пом^ПЬВ: ! Главное немю V
Родительский
аяеиент:
Заголовок как ссылка
На ванне раздела
На>в«» ге едтегорин
Показывать
неразрешенные ссылки
На1ваиме раздела кж
ссылка
Пока>ыва1ь гекст
иголовка
Название казетортш как
ССЫГЯм!
Пока ывать
вступительным текст
Нин «автора
Лата и вреия создания
Дата и вр»мя
последнего и.пенения
Рис. 5.21. Редактор пункта меню
192
Гпава 5
нужно выбрать меню, в которое вы хотите перенести выбранные пункты ме-
ню, и нажать кнопку Перенос.
Чтобы отредактировать какой-то пункт меню, выберите его и нажмите кноп-
ку Правка. В окне редактора меню (рис. 5.21) будут отображены параметры
выбранного меню. Окно редактора может слегка отличаться в зависимости от
типа редактируемого меню. На рис. 5.21 выбран шаблон блога главной стра-
ницы, поэтому у вас картинка будет немного другой.
Менеджер расширений
Менеджер расширений (рис. 5.22) используется для установки расширений,
проверки корректности их установки и, конечно же, для удаления расшире-
ний. Менеджер позволяет управлять компонентами, модулями, плагинами,
языками и шаблонами1.
Существуют три возможные метода установки расширений:
♦ загрузка пакета— используйте кнопку Обзор, чтобы выбрать архивный
файл пакета расширения. Joomla! самостоятельно распакует ZIP- или
TAR-архив;
♦ установка из каталога— можно указать каталог на сервере, в котором
размещены файлы расширения. Учтите, что Web-сервер должен иметь
доступ к этому каталогу, иначе ничего не получится;
Рис. 5.22. Менеджер расширений позволяет установить компоненты, модули,
плагины, языки и шаблоны
1 Данный менеджер вызывается командой меню Расширения | Установить/удалить. — Пер
Администрирование Joomla!
193
♦ установка из URL — эта опция особенно удобна для удаленного управле-
ния сайтом. Если у вас есть URL компонента или шаблона, вы просто
укажите его и Joomla! автоматически загрузит, распакует и установит его.
После установки расширение станет доступным для настройки с помощью
соответствующего менеджера, например Менеджера модулей, если вы уста-
новили модуль. Менеджер расширений позволяет вам удалить расширение
любого типа. Для этого просто выберите тип расширения (компонент, модуль
и т. д.), затем выберите расширение из списка и нажмите кнопку Удалить.
Не все расширения можно удалить. Некоторые расширения, выполняющие
системные функции (они называются расширениями ядра, core extensions),
удалить нельзя.
Менеджер расширений позволяет выключить некоторые компоненты (функ-
ция выключения компонентов доступна только для расширений), не удаляя
сам компонент. Это возможность очень удобна для тестирования новой вер-
сии компонента. Администратор может выключить старую версию компо-
нента, не удаляя ее, а потом установить и протестировать новую версию.
В случае чего, всегда можно активировать старую версию компонента.
Менеджер модулей
Менеджер модулей используется для администрирования не только модулей,
но и связанных с ними меню. В Joomla! меню представляет какой-то элемент
Рис. 5.23. Менеджер модулей используется для управления модулями
7 Зак 468
194
Гпава 5
сайта, например, категорию или раздел, который содержит список элементов
меню. При создании нового меню автоматически создается и привязывается к
меню модуль, отображающий это меню. Когда вы откроете Менеджер моду-
лей, то увидите список всех модулей, установленных в вашей системе
(рис. 5.23).
Щелкните на названии модуля, и вы увидите окно настройки этого модуля.
Для разных модулей можно определить различные параметры, поэтому экран
конфигурации модуля может немного отличаться от рис. 5.24, на котором
приведено окно настройки модуля Banners.
i МОДУЛЬ: [Изменить]
Ч
Сохранить Прим*
Подрооносш
Тип нодуля: tftodbatttten
Заголовок Banners
Пака ать аг о ловок: |_|ет С да
Вкличен: Г Нет (1 д„
По-мция- footer v>
Сортировка: Banners v
Параметры
Параметры модуля
Открыть ‘-—
"°,0“ С
Количество 1
Воен
I Registered |
|Специальный |
ГО: 30
Описание: Этот баннерный модуль позволяет
показывать активные баннеры вне
компонента, но внутри вашего сайта
Назначение меню
Клиент
оаннера
Категория
Мекать по
тегам
Порядок
отображения
Текст
заголовка
1 Open Source Мл Не и V
г Joomla1 Promo
Нет Да
Случайным образом V
Нижнни
колонтитул
Суффикс
класса
модуля
Расширенные параметры
Рис. 5.24. Параметры модуля Banners
Расположение модулей обычно задается шаблоном. Однако Joomla! позволя-
ет администратору настраивать модули, так что они будут появляться при
Администрирование Joomla!195
отображении определенных меню. В области Назначение меню можно вы-
брать страницы, на которых должен появиться тот или иной модуль. Напри-
мер, вы можете настроить модуль голосований так, что он будет появляться
только на главной странице.
Менеджер плагинов
Плагинам разрешен самый низкоуровневый доступ к Joomla!, поэтому они
могут даже изменять функции CMS. Плагины "расположены" между Joomla!
и пользователем, точнее его браузером. Менеджер плагинов (рис. 5.25) по-
зволяет публиковать, скрывать и изменять установленные плагины.
Менеджер плагинов -а о С»
Включить Выключить Правя® Помоць
Фильтр. | Выполнить ][ Сброс]
* Г Наллмие гоытмна Вклнчеи Сортировка* цА Доступ Тил-* ♦4ИЛ Ю
1 г AUherticrtton - Joarta г 1 Всем aurhent cat юл K-cmla 1
2 г Authentication - LDAP О А • 2 Всем authentication toap 2
3 г Authertcetkxi. Open© о А * 3 Всем authentication opema 4
4 г Authertcabon - GMail о А 4 Всем autherttcation дтвй 3
5 г Contort - Page Navigation V V 2 Всем cortert pagenavtgatfon 17
6 г Cortent - Rating V а * 4 Всем cortert vote 13
7 г Cortert - Emat Cloakrg А * 5 Всем cortert emadcioak 14
8 г Contort - Code Higrtltfter (GeSH) о Л * 5 Всем cortert gesh 15
9 г Cortent - Load MocMo V А ♦ 8 Всем cortert toaonodule 16
10 г Cortent - Pagerteak V 10000 Всем cortert pegetoreak 12
Рис. 5.25. Менеджер плагинов
Наиболее часто используемый плагин — это текстовый редактор, применяе-
мый для изменения контента. Редактор TinyMCE на самом деле плагин с
именем tinymce. В Joomla! все статьи хранятся в формате HTML в базе дан-
ных. Плагин редактора находится "между" выводом Joomla! (из базы данных)
и браузером пользователя.
Когда пользователь хочет отредактировать статью, Joomla! получает ее текст
из базы данных в сыром HTML-коде и выводит его в обычном поле для ре-
дактирования текста. Плагин TinyMCE перехватывает HTML-код и конвер-
тирует его в WYSIWYG-контент, поэтому жирный текст отображается имен-
196
Гпава 5
но как жирный, а не как текст, заключенный в HTML-теги, да и вставленные
картинки отображаются, как картинки, а не как набор тегов.
Когда пользователь нажимает кнопку Применить или Сохранить, TinyMCE
конвертирует отображенный контент обратно в HTML и передает HTML-код
Joomla!, которая сохраняет его в базе данных.
В большинстве случаев пользователь взаимодействует только с плагинами-
редакторами. Остальные плагины редко взаимодействуют с пользователем, и
их выполнение незаметно для пользователя. У плагина TinyMCE довольно
много параметров (рис. 5.26), которые могут быть установлены администра-
тором — от направления текста до фоновой "чистки" кода.
Плагин: [Правка]
Соршровкп: [ojEjito,. TinyMCE 2 0) 'V
php
Описание: TinyMCE это платформе независимый, основанный на вэб-
технологии, Javascript HTML визуальный редактор.
ГЬраыетры
* Параметры лллгннг
Функциональность | Расширенный V
Очищать код при
запуске
Code Cleanup on
Save
He оч «щать HTML
включения
Предупрежден те
сожран* имя
Уменьшенная
версия
Выкл вкл
Never С" FrortOniy <• Always
Да Нет
Выкл С Вкл
Выкл Вкл
Url Ы ^Относительны* V
Направление гт-------------.
Слева на право V
текста —-------------
Автоматически t
выв.р.чкп '* Нет Г ДО
Рис. 5.26. Параметры плагина TinyMCE
Администрирование Joomla!
197
Почтовый менеджер
У Joomla! есть собственная почтовая мини-система, помогающая пользовате-
лям отправлять сообщения администраторам. Почтовый ящик можно про-
смотреть с помощью окна Личное сообщение1 (рис. 5.27). Данная примитив-
ная почтовая система не заметит стандартного электронного ящика, но может
использоваться для организации внутренних целей (для обмена сообщениями
в пределах сайта).
Личное сообщение
ПОИСК. [ Выполнить ][ Сброс ]
4 Г* Теыл Прочитанное
— -— - ----- _ —- - Zr- ..... — ——щ.' — .
Показать 20 V
Рис. 5.27. Список личных сообщений для администратора пуст
Каждый администратор может настроить свой почтовый ящик, например,
вообще его отключать или же включить функцию перенаправления почты (с
помощью конфигурационного экрана, изображенного на рис. 5.28). По умол-
чанию сообщения удаляются через семь дней после их получения. Если у вас
большой сайт, я рекомендую увеличить это значение до 30 дней, иначе вы
потеряете много сообщений, если не просмотрите их за неделю.
Настройка личных сообщении
Блокировать входящие’
Сообщать мне о новом
письме'
Автоудаление сообщений
после:
Нет Г да
& Нет Да
7 дней
Рис. 5.28. Параметры личных сообщений
1 Вызывается командой Инструменты | Прочитать сообшення. — Пер.
198
Гпава 5
Менеджер массовой рассылки
Иногда администратору нужно отправить электронные сообщения всем поль-
зователям сайта, например, о закрытии сайта на обслуживание или любом
другом связанным с сайтом событием. Менеджер массовой рассылки
(рис. 5.29) позволяет администратору отправить сообщение всем пользовате-
лям определенной группы. Если параметры SMTP-сервера не указаны в
Отправить почту Отменить Параметры Помощь
Подробности
Отправить п иьыо
дочерним группам:
Отправить в формате
HTML!
Группа:
Сообщение
Тема:
Сообщение:
Получатель ВСС.
Отправить коп по на е- Г"
mail сайта.:
Рис. 5.29 Менеджер массовой рассылки
Рис. 5.30. Параметры массовой рассылки: вы можете добавить префикс темы
и суффикс сообщения (подпись)
Администрирование Joomla1 199
Менеджере общих настроек, то сообщение будет отправлено с помощью
внутренней почтовой системы Joomla!1.
Если вы хотите добавить префикс темы или суффикс сообщения (т. е. под-
пись сообщения), нажмите кнопку Параметры (рис. 5.30).
Сброс блокировок
Пока статья редактируется одним пользователем, другой пользователь не
может открыть ее для редактирования. Это предотвращает конфликты двух
пользователей, пытающихся одновременно внести изменения в один и тот же
документ.
Но связь с пользователем может прерваться или же пользователь просто за-
кроет окно браузера без нажатия кнопки Сохранить, а статья-то будет по-
прежнему считаться открытой другим пользователем, и никто не сможет ее
открыть. Именно поэтому в интерфейсе администратора есть функция Сброс
блокировок, команда для вызова которой находится в меню Инструменты.
После вызова этой функции будут сняты все блокировки статей (рис. 5.31).
Перед сбросом блокировок убедитесь, что все пользователи вышли из систе-
мы. Если на момент вызова этой функции какой-то пользователь редактиро-
вал статью, он не сможет потом сохранить изменения.
Сброс блокировок
Таблица оазы данных
Обработка таблицы - jos_banner
Обработка таблицы - jos_bamerc iant
Обработка таблицы - jos_categones
Обработка таблицы - jos_contact_d0tail3
Обработка таблицы - )os_contert
Обработка таблицы - josjnenu
Обработка таблицы - jos_modules
Обработка таблицы - jos_newsfeeds
Обработка таблицы - jos_phjgins
Обработка таблицы - jos_pofls
Обработка таблицы - jos_sections
Обработка табл цы - jos_weblinks
Все элементы разблокированы
Я элемента Разблокировано
Разблокировано 0 Элементы
Разблокировано 0 Элементы
Разблокировано 0 Элементы
Разблокировано 0 Элементы
Разблокировано 1 Элементы
Разблокировано! Элементы у/
Разблокировано 1 Элементы
Разблокировано 0 Элементы
Разблокировано 0 Элементы
Разблокировано 0 Элементы
Разблокировано! Элементы
Разблокировано 0 Элементы
Рис. 5.31. Сброс блокировок
1 Правда оно будет доступно тоже только через Joomlai-сайт. — Пер.
200
Гпава 5
Информация о системе
Из меню Помощь можно вызвать очень полезное окно информации о систе-
ме (рис. 5.32). Окно системной информации выводит информацию о конфи-
гурации сервера, на котором запущена Joomla!
В окне Информация вы увидите пять следующих панелей:
♦ Инфо системы — различная информация о системе: версия Web-сервера,
версия Joomla!, информация о MySQL-сервере, интерпретаторе РНР, брау-
зере пользователя;
♦ Установки РНР— показывает директивы РНР, влияющие на работу
Joomla!, и их текущие значения;
♦ Файл конфигурации — отображает текущие настройки из файла конфи-
гурации configuration.php, который обычно находится в корневом каталоге
Joomla!;
♦ Права на папки — данная панель отображает список важных Joomla!-
папок и сообщает, доступны ли эти каталоги для записи. Среди отобра-
жаемых каталогов есть каталоги плагинов, модулей, шаблонов, кэша, язы-
ков;
♦ Информация РНР— это просто вывод функции phpinfo(), которую мы
рассматривали в главе 3 при проверке правильности установки РНР
Администрирование Joomla!
201
Резервное копирование
Весь контент сайта и большинство установок Joomla! хранится в разных таб-
лицах в базе данных. Однако установленные расширения и конфигурацион-
ные данные сайта хранятся в подкаталогах корневого каталога Joomla!. Что-
бы выполнить полное резервное копирование Joomlal-сайта, вам нужен метод
сохранения файлов Joomla! в соответствии с данными.
Одна из ошибок начинающих администраторов Joomla! заключается в том,
что они забывают сделать резервную копию базы данных Joomla!. Да, очень
важно сделать резервную копию файлов, хранящихся на FTP-сервере, но все
реальное содержимое сайта хранится в базе данных. Поэтому вам нужно обя-
зательно сделать резервную копию базы данных. На рис. 5.33 приведен спи-
сок всех таблиц, используемых Joomla!.
□ jos_bamer MylSAM 5
jos_barner(ient MylSAM 1
jos-banner track MylSAM 0
psjtategones MylSAM 15
jos—CompcDents MylSAM 33
jos_cnntact_detafc MylSAM 1
jos_cantent MylSAM 6
1 jo3_contentjrontpage MylSAM 4
jos_content_fabng MylSAM 0
jos_CDre_acl_afo MylSAM 2
— jos_£cre_ad_aro_t7Oi<K MylSAM 11
—< )os_CDre_ad_aro_secbc3ris MylSAM 1
jos_core_ad _дпхдэз_аго_тар MylSAM 2
jos_cofeJogjtems MylSAM 0
jos_crxe Jog _searthes MylSAM 3
jOSjDTOUpG MylSAM 3
jos_menu MylSAM 33
josjnenu_types MylSAM 8
josjmessages MylSAM 2
jos_nessages_rfg MylSAM 0
J josjnodutes MylSAM 43
3 jos_moduies_menu MylSAM 26
а josjiewsfeetfe MylSAM 9
•т-51 josj*jgins MylSAM 27
- josjxJk MylSAM 1
josj>oe_data MylSAM 12
— -л Josjpo8_date MylSAM 8
jos-poi-rnenu MylSAM 1
jDs_seCbons MylSAM 1
sj jos_sesscn MylSAM 1
jos_stats_agents MylSAM 0
JoS-ternplates_menu MylSAM 2
psjtempbte-positions MylSAM 34
jos_users MylSAM 2
}os_webfinks MylSAM 5
Рис. 5.33. Таблицы, используемые системой Joomla!
202
Гпава 5
Несмотря на большое количество таблиц в базе данных, создать резервную
копию базы данных проще, чем резервную копию файлов. В зависимости от
размера сайта, обычно размер базы данных меньше, чем размер файлов
Joomlal-сайта. Существует несколько методов резервного копирования базы
данных MySQL. В большинстве случаев выбор метода резервного копирова-
ния зависит от сервера, на котором установлена база данных MySQL. Также
существует много плагинов, позволяющих автоматически выполнять резерв-
ное копирование. Масса таких плагинов доступна по адресу http://
extensions.Joomla.org.
Совет ___________________________________________________________
Перед резервным копированием убедитесь, что на вашем сервере включена
опция вроде Quote Names1, заключающая в кавычки текстовое содержимое.
Это позволит предотвратить ошибки при восстановлении из резервной копии.
Создание резервной копии
с помощью phpMyAdmin
На серверах GoDaddy (www.godaddy.com), как и на большинстве серверов
других хостинг-провайдеров, установлена онлайн-утилита phpMyAdmin, раз-
решающая пользователю работать с базой данных MySQL Через Web-
интерфейс этой утилиты пользователь может выполнять большинство опера-
ций по управлению базой данных — создавать базы данных (если это разре-
шено именно этому пользователю) и таблицы, делать выборку из базы дан-
ных и даже редактировать данные таблиц.
Особенно важная для пользователей Joomla! функция — функция резервного
копирования базы данных. Утилита может экспортировать все данные, со-
держащиеся в таблицах базы данных.
Примечание
phpMyAdmin — бесплатное и свободно распространяемое приложение. Если вы
решили настроить собственный Web-сервер и хотите администрировать вашу
базу данных MySQL через Web, вы можете установить phpMyAdmin на свой
сервер. Последнюю версию этой программы можно скачать на сайте Source-
Forge (https://sf.net/projects/phpmyadmin) или на сайте разработчиков
(www.phpmyadmin.net)
На рис. 5.34 представлены оптимальные настройки экспорта для создания
резервной копии Joomla!. Как только вы нажмете кнопку ОК, программа соз-
даст ZIP-архив, в котором будет сохранен SQL-файл, содержащий описание
всех таблиц и данных вашего сайта. Этот файл можно будет сохранить на
1 Это примерное название опции, которое может отличаться в разных плагинах, но суть ее
будет одной и той же. — Пер.
Администрирование Joomla!
203
диске или отправить по e-mail. Делая резервные копии базы данных каждую
неделю, вы сможете снизить вероятность потери данных до минимума.
ЦЗ loc.ilhort » dkwwrgii_shop
Структура ^SOL Поиск <йпрое пп ваблону fib Экспор г Д^Импорг ^Операции
-Отобразить дамп ]сх©м>) оаэы данных---—-------------------------------------------- ~“ ~~ * ~~
~ Пар аыетры------------------------------——~~...............
Д- бввить собственный коммвмтар. й в заголовок (перевод
с роки Vi) Заключить экспорт в
транзакцию
Отключить проверку внешних ключей
Ражим с Вместимости SQL NONE •
Ф
- ’✓С грукгуре..................— —•—.................................
✓Добавить DROP TABLE ! DROP VIEW
Добавить IF NOT EXISTS
✓Добавить AUTOJk ; 5 EMENT
V Заключить названия таблиц и полей в косые кавычки
Добампь CREATE РЯС EDURE / FUN »J
гДооавить в конментлрни'-—-------------—---------------------------
I Даты создания, обновления и проверки
-✓Данные-------------------------------------------------------
✓Полная Вставка
✓Расшир. н.ыв вставки
Максимальная длина создева мого запроса 50000
Использовать отлож.иныа вставки ^ELAYE^1,
И тользсцвть игнор рующив вставки (СМ;«£)
✓Использовать шестнадцатеричное отображение для полей типа 0.00
Тип экспорта NSERT *.
Сохранить как фанп-
LU блок имени файла _____DB_ ( ✓ запомнить шаблон)
Упакова’ь Нет • up gzip
Рис. 5 34. Параметры экспорта базы данных Joomla! в phpMyAdmin
Восстановление из резервной копии
Чтобы восстановить базу данных из резервной копии, вам нужно открыть
phpMyAdmin, выбрать базу данных, в которую нужно восстановить инфор-
мацию, перейти на вкладку SQL После этого нужно нажать кнопку Обзор,
выбрать ваш SQL-файл и нажать кнопку ОК для восстановления таблиц и
данных. После восстановления база данных будет в том состоянии, в котором
она была на момент создания резервной копии.
Резервное копирование
с помощью MySQL Administrator
Если у вас есть прямой доступ к базе данных MySQL, с помощью приложе-
ния MySQL Administrator вы с легкостью создадите резервную копию базы
204
Гпава 5
данных. Каждый сценарий резервной копии сохраняется как backup-проект в
базе данных MySQL. Backup-проекты можно запускать вручную, а можно
настроить автоматический запуск по расписанию.
Чтобы создать новый backup-сценарий, откройте MySQL Administrator, на-
жмите кнопку New Project, выберите проект WeeklyBackup1. Выберите базу
данных Joomla! (в панели Schemata) и нажмите указывающую вправо стрел-
ку для добавления базы данных в список резервного копирования. Перейдите
на вкладку Advanced Options tab и включите параметр ANSI Quotes (он эк-
вивалентен параметру Quote Names, который был упомянут ранее). Затем
перейдите на вкладку Schedule.
Если у вас еще не настроено MySQL-соединение, перейдите к менеджеру со-
единений (Connection Manager). Установите переключатель Schedule this
backup project. Выберите каталог, в котором нужно сохранить резервную
копию. Имя файла будет совпадать с именем проекта, если вы. конечно, не
измените его. К имени файла также автоматически будут добавлены дата и
время создания файла, чтобы новый файл не перезаписал один из файлов,
созданных ранее.
Переключатель Execute backup weekly в области Execution Time оставьте по
умолчанию. Нажмите кнопку Save Backup, после чего backup-проект будет
добавлен в MySQL-сервер. Теперь MySQL-сервер будет автоматически соз-
давать резервную копию каждую неделю.
Резервное копирование файлов
Лучше всего делать резервную копию всех файлов Joomla!. Если вы делаете
резервную копию выборочно, вполне возможно, что вы столкнетесь с про-
блемами при восстановлении из резервной копии в случае обновления версии
Joomla!.
Если Joomla! установлена на локальном сервере, можно просто, используя
встроенные возможности архивирования операционной системы, создать
ZIP- или TAR-архив всего Web-сайта. Альтернативно вы можете использо-
вать утилиту резервного копирования вроде Drivelmage XML. которую бес-
платно можно загрузить с сайта www.runtime.org/dixml.htm, или Агеса
Backup (написана на Java и свободно доступна на сайте http://
sourceforge.net/projects/areca).
Если же Joomla! установлена на удаленном сервере, вы можете использовать
FTP-клиент для копирования всех файлов Joomla! на локальный жесткий
1 Еженедельное резервное копирование. — Пер.
Администрирование Joomla!
205
диск. Вы также можете использовать утилиту резервного копирования с под-
держкой FTP, например, Backup Easy (http://sourceforge.net/projects/bueasy).
Подобного рода программы обычно содержат функции планировщика, по-
этому резервные копии можно создавать по расписанию, как в случае с
MySQL Administrator.
Если вы хотите сделать минимальную резервную копию, убедитесь, что ско-
пировали следующие файлы и каталоги:
♦ configuration.php— содержит все ключевые параметры Joomla!-сайта, на-
пример, параметры доступа к базе данных и метаданные сайта. Этот файл
нужно всегда копировать;
♦ каталог templates— если вы устанавливали новые шаблоны для своего
сайта, сделайте резервную копию этого каталога;
♦ каталог administration\templates— некоторые администраторы изменяют
шаблоны интерфейса администратора. Если вы устанавливали админист-
ративные шаблоны, вы найдете их в этом каталоге;
♦ каталог modules — если вы добавляли новые модули, они будут сохране-
ны в этом каталоге. Этот каталог должен быть также сохранен, если были
внесены какие-либо изменения в один из модулей. Скопируйте весь этот
каталог, чтобы убедиться, что ничего не забыли;
♦ каталог components — в данном каталоге хранятся компоненты и парамет-
ры компонентов, заданные пользователем;
♦ каталог administration\components — содержит административные компо-
ненты, управляющие запуском расширений;
♦ каталог language — если вы устанавливали дополнительные языковые па-
кеты, они будут сохранены в этом каталоге;
♦ каталог plugins — содержит плагины и настройки плагинов.
Сделайте резервную копию этих каталогов (в дополнение к копии базы дан-
ных), чтобы сберечь ядро вашего сайта в случае сбоя. После переустановки
Joomla! вы всегда сможете скопировать эти каталоги на сервер.
Безопасность
Простота использования Joomla! делает ее идеальной для начинающих поль-
зователей. С другой стороны, простота установки и администрирования
Joomla! не способствует безопасности. В этой книге я старался рассказывать
о наиболее очевидных дырах в системе безопасности при установке и на-
стройке системы.
206
Гпава 5
Обеспечение полной безопасности вашего сайта выходит за рамки этой кни-
ги, но мы все-таки рассмотрим несколько рекомендаций, которые помогут
администратору снизить вероятность взлома сайта. Помните, что безопас-
ность — это постоянно перемещающаяся цель, и хакеры всегда найдут новые
способы ее поражения. Поэтому регулярно посещайте Web-сайт Joomla!
(www.joomla.org) и загружайте обновления Joomla!. Часто обновления CMS
закрывают дыры в системе безопасности, поэтому после установки обновле-
ния ваш сайт станет более защищенным, чем был до этого.
Чтобы максимизировать защиту Joomla!, выполните следующие действия:
1. Удалите с вашего сервера все файлы, вызывающие функцию phpinfoO,
с помощью которой хакеры могут узнать всю информацию о настройке
вашего сервера.
2. Удалите каталог installation.
3. Перенесите файл configuration.php за пределы области публичного досту-
па. В этом файле хранятся имя пользователя и пароль для доступа к базе
данных. Поэтому обнаружив этот файл, хакер получит ключи от коро-
левства.
4. Измените имена по умолчанию учетных записей администраторов Joomla!
и MySQL.
5. Используя файл .htaceess, можно ограничить доступ к некоторым катало-
гам с помощью пароля (только в случае, если у вас Apache).
6. Используя файл .htaceess, можно ограничить доступ к некоторым катало-
гам по IP-адресу.
7 Настройте PHP-фильтры mod security и mod rewrite, чтобы блокировать
атаки.
8. Ограничьте права ваших MySQL-пользователей.
Выполнив все эти рекомендации, вы уменьшите шансы хакера уничтожить
ваш сайт. Периодически производите проверку безопасности вашего сайта
(см. http://forum.joomla.org/index.php/topic,81058.0.html), причем чем
дольше ваш сайт находится в сети, тем чаще нужно проводить такие провер-
ки. Чем дольше сайт в сети, тем больше на нем устаревших версий расшире-
ний, неиспользуемых пользовательских записей (возможно, с существенными
привилегиями) и устаревших настроек защиты (например, которые вы сдела-
ли для установки расширений, а затем забыли о них).
Помните, что наилучшая страховка от хакера— это резервное копирование
всего вашего сайта. Если кто-нибудь проникнет на ваш сайт и уничтожит его
(или изменит информацию), только резервная копия спасет сайт!
Администрирование Joomla1 207
Каталоги, доступные для записи
Для большего удобства администратора, для включения возможностей SEF
(search engine-friendly), а также кэширования нужно предоставить некоторым
каталогам право записи, что потенциально создает уязвимость защиты. Са-
мые простые права доступа для каталога — 750, позволяющие владельцу ка-
талога читать/записывать каталог и только читать членам группы владельца и
остальным пользователям.
Один из методов минимизации потенциальной опасности —- это изменение
группы владельца каталога на группу, в которую входит пользователь, от
имени которого запускается Web-сервер. После этого можно установить пра-
ва доступа 770 (чтение/запись для владельца и группы и запрещение доступа
остальным). Такие права доступа закроют доступ к каталогу остальным поль-
зователям. Полный доступ к каталогу получит только учетная запись пользо-
вателя, от имени которого запускается Web-сервер (обычно это пользователь
apache).
Внимание!____________________________________________________
Никогда не устанавливайте права 777, позволяющие записывать в каталог всем
желающим. Если вы можете управлять настройками безопасности, даже ката-
лог для временных файлов должен быть защищен паролем
Примечание переводчика_____________________
Полностью согласен с приведенным выше примечанием автора, но как всегда
есть одно "но". Если у вас нет прав администратора (пользователя root), на-
пример, когда у вас не свой сервер, а вы купили хостинг у хостинг-провайдера,
вы не можете переместить пользователя apache в группу своего пользователя
(от имени которого вы работаете), следовательно, не можете установить права
770. Поэтому вам придется использовать права 777, чтобы пользователь
apache, который для вашей учетной записи является "остальным", получил
право записи.
Резюме
Администрирование Joomla!, благодаря Web-интерфейсу администратора, не
только простое, но возможно из любой точки Земного шара. Различные ме-
неджеры Joomla! (Менеджер шаблонов, Менеджер пользователей и т. д.) эф-
фективно распределяют административные задачи, например, управление
внешним видом сайта, управление контентом, настройку сайта.
Хотя Joomla! отлично работает сразу после установки, Web-мастер должен
периодически выполнять задачи по обслуживанию сайта. Резервное копиро-
вание, реорганизация контента, архивирование контента, управление безо-
208 Гпава 5
пасности — это небольшой список задач, который периодически должен вы-
полнять администратор. С другой стороны, Joomla! позволяет непринужден-
но управлять сайтом и некоторые сложные административные задачи можно
выполнять с помощью нескольких щелчков мыши.
Большую часть интерфейса администратора вы уже исследователи. В этой
главе вы подробно изучили каждую область интерфейса администратора
(представленного различными менеджерами), а в следующей главе мы пого-
ворим о создании собственных шаблонов сайта.
ГЛАВА 6
Создание собственных шаблонов
Ключевая причина процветания Joomla! в мире CMS — это возможность ее
расширения пользователем. Например, очень просто создать новый шаблон
Joomla!. Наверняка вам захочется разработать собственный шаблон или из-
менить существующий.
Шаблон резюме состоит из обычных для этого типа документов элементов.
Претендент на свободную вакансию заполняет этот шаблон, указывая кон-
тактную информацию, опыт работы и т. д. Шаблон Joomla! подобен шаблону
документа, за тем лишь исключением, что заполняет шаблон не человек, а
сама CMS, получая из базы данных необходимую информацию.
Шаблон (или представление сайта) независим от содержания. Одним щелч-
ком мыши в Менеджере шаблонов вы можете изменить вид сайта от показан-
ного на рис. 6.1 до показанного на рис. 6.2 — вам нужно лишь выбрать дру-
гой шаблон.
В этой главе мы узнаем, как создать новый шаблон, соответствующий ваше-
му сайту. Создание шаблона будет продемонстрировано на примере про-
граммы GIMP. Если вы еще не знакомы с GIMP, то будете приятно удивлены,
что это бесплатный аналог Adobe Photoshop. GIMP доступен для всех основ-
ных операционных систем (Windows, Mac OS, Linux).
Структура шаблона может показаться немного сложной, поэтому мы начнем
с разработки простого шаблона Hello Joomla!. Hello Joomla! —элементарный
шаблон, но после его создания вы сможете создавать более сложные и эф-
фектные CSS-шаблоны.
210
Гпава 6
Latest News • Another Article • What 1; an Adjustable Kl'e Mortgage (ARM)? • My First Article What is an Adjustable Rate Mortgage (ARM)? What is an Adjustable Rate Mortgage (ARM) ? Adjustable rate mortgages (ARMs) differ from fixed rate mortgages (the more ladittonal mortgage) in that the rate of the loan changes over the life of the loan. What does this mean to vou? That means that the rate of interest you are paying when you start (let’s say 4.25%) doesn't remain the same for the life of the loan. It could go up (to 4.50%, for example) Joomla! is used for? Community Sites Public Brand Sites r eCommerce г Blogs Intranets r Photo and Media Sites All of the Above! Vote|
or down (to 4.00%). That means that your monthly payments may also go up or down. Results |
И?,' ->
Рис. 6.1. Сайт на базе простого текстового шаблона
Joomlaf
About Joomla! Features Hews TheCctJrfnuniiy
Home
search
Maw мий
• Home
• Free
Borrower
Articles
• Terms aod
Conditions
Latest News
• Anotner Arftde
• What б n Adjustable Rate
Mortgage (ARMP
• My Fast Artcfe
Popular
• What б an Adjustable Rate
Motqaqe (ARMp
• My Fist A/tde
• Another Adrie
Key С.гтецфч
I* Extensions
• Content
What is an Adjustable Rate
Mortgage (ARM)?
What is an Adjustable Rate
Mortgage (ARM) ?
Polls
Joomla! is used for?
г ComnHJrity Sites
c Brand Sees
Рис. 6.2. Сайт, использующий графический шаблон
Быстрое руководство:
создание шаблона Hello Joomla!
JoomlaJ-шаблон — это множество связанных друг с другом файлов, отве-
чающих за отображение информации, хранящейся в базе данных. Шаблон
должен содержать, как минимум, два основных файла:
♦ templateDetails.xml — XML-файл, используемый Joomla! для получения
информации о шаблоне (имя шаблона, автора, дата создания и т. д.). Он
Создание собственных шаблонов 211
также содержит список файлов шаблона. В списке должны быть все фай-
лы — index-файлы, таблицы стилей, картинки, звуки, видео и другие фай-
лы, используемые шаблоном;
♦ index.php — основной файл, загружающий модули, обрабатывающий дан-
ные Joomlai-шаблона, т. е. управляет отображением информации.
Шаблоны Joomla! хранятся на Web-сервере в каталоге \templates. У каждого
шаблона есть свой каталог, имя которого обычно совпадает с названием шаб-
лона. Например, шаблон rhukmilkway находится в каталоге rhukmilkway.
Joomla! чувствительна к регистру символов, поэтому если шаблон называется
rhuk milkway, а каталог называется RHUK MILKWAY, использовать шаблон
не получится.
Как уже отмечалось, в каталоге \templates находятся подкаталоги для каждого
установленного шаблона. Очень полезно изучить содержимое одного из этих
каталогов (или сразу нескольких каталогов). Вы увидите, что, несмотря на
разный внешний вид сайта, обеспечиваемый шаблонами, имена файлов, их
типы и количество часто подобны для разных шаблонов.
Примечание______________________________________________________
По сравнению с шаблонами для Joomla! 1.0, структура новых шаблонов для
Joomla! 1.5 существенно изменилась. Для обработки старых шаблонов исполь-
зовался движок patTemplate а в новой версии данный движок поддерживается
только из соображений обратной совместимости. Если у вас есть опыт разра-
ботки шаблонов для версии 1.0, после прочтения этой главы вы заметите, что
реализация и структура шаблона полностью изменилась. Если вам нужно про-
сто использовать старые шаблоны (для Joomla! 1.0), с помощью Менеджера
плагинов включите плагин System — Legacy.
Создание файлов шаблона Hello Joomla!
Сейчас с помощью вашего любимого текстового редактора (можно использо-
вать обычный Блокнот) мы создадим два файла шаблона Hello Joomla!. Но
перед этим вам нужно создать новый каталог для этих файлов.
Создайте каталог \tmplHelloJoomla в каталоге \templates. Если у вас собствен-
ный Web-сервер, тогда путь к этому каталогу будет похож на C:\Program
Files\Apache Software Foundation\Apache2.2\htdocs\templates\tmplHelloJoomla
Примечание______________________________________________________
Данные инструкции позволят вам впоследствии существенно упростить созда-
ние шаблона. Шаблоны хранятся как ZIP-архив, для установки шаблона адми-
нистратор использует команду Расширения | Установить/Удалить Но в про-
цессе разработки шаблона крайне не практично каждый раз создавать ZIP-
архив и переустанавливать шаблон всякий раз после внесений в него измене-
ний. Вместо этого вы можете создать обычный каталог, в котором будут хра-
ниться файлы шаблона, а затем загрузить этот каталог по FTP на Web-cepsep.
212
Гпава 6
С помощью текстового редактора создайте файл index.php и поместите его в
каталог \tmplHelloJoomla:
chtml>
chead>
cjdoc:include type="head" />
c/head>
<body>
cjdoc:include type=”message" />
cdiv class="center" align="center">Hello World!</div>
cjdoc:include type="modules" name="debug" />
</body>
c/html>
Hani файл index.php существенно упрощен и не соответствует даже простей-
ших правилам HTML, например, не содержит параметр doctype. Когда вы
будете создавать полный шаблон (чуть позже в этой главе), то увидите все
обязательные элементы шаблона. Однако наш шаблон Hello Joomla! будет
максимально упрощен для более легкого восприятия.
В нашем файле index.php первой строкой Joomlai-кода является cjdoc: include
type="head" />. Данная строка используется для вставки информации о сайте
в заголовок. Да, эта директива добавляет метаданные, используемые поиско-
выми машинами. Например, для главной страницы моего сайта с помощью
директивы include я добавил следующую информацию, которая будет от-
правлена в браузер пользователя:
ctitle>LoanStaircase.comc/title>
Cmeta name="generator" content="Joomla! 1.5" />
Cmeta name="description"
content="Loan Staircase — Track your loan or loans" />
Cmeta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Cmeta name="robots" content="index, follow" />
Cmeta name="keywords" content="Loans, Mortgage" />
clink href="http://localhost/favicon.ico"
rel="shortcut icon” type="image/x-icon" />
Данная информация будет изменяться в зависимости от отображаемой стра-
ницы (например, главная страница будет отличаться от страниц статей).
Примечание______________________________________________
Многие начинающие Joomlal-пользователи хотят изменить заголовок главной
страницы, и для этого они пытаются изменить исходный код шаблона. Как вы
видите, все заголовки генерируются динамически. Как же задать заголовок
Создание собственных шаблонов
213
главной страницы? Выполните команду Меню | Главное меню. Выделите
главный пункт главного меню (обычно называется Ноте) и нажмите кнопку
Правка В группе параметров Параметры— Система вы найдете параметр
Заголовок страницы — вот его и нужно изменить!
Вторая Joomlai-директива, cjdoc:include type="modules" name="debug" />,
относится к отладке модулей. Обычно она ничего не отображает, однако если
вы включите опцию Отладка системы в группе Общие параметры | Сис-
тема — Режим отладки, то увидите отладочную информацию внизу страни-
цы. Данная информация довольно полезна, поскольку описывает процесс вы-
полнения шаблона страницы. Например, для главной страницы вы должны
увидеть примерно следующее:
Application 0.156 afterLoadFramework
Application 0.233 afterStartFramework
Application 0.268 afterDisplayoutput
Числа после слова Application означают время рендеринга (генерации) стра-
ницы для каждого шага в последовательности выполнения шаблона. Если
ваша страница загружается медленно, вы можете определить, на какой ста-
дии вывода страницы произошла ошибка.
Чтобы завершить наш шаблон, вам нужно создать XML-файл, описывающий
Joomlal-шаблон. С помощью вашего текстового редактора создайте файл
templateDetails.xml и поместите его в каталог \tmplHelloJoomla:
<?xml version="l.0" encoding="utf-8"?>
cinstall version="1.5” type="template">
<name>Hello Joomla template</name>
<description>
Simplest template in the Joomla! world.
</description>
<files>
< filename> index.php</filename>
<filename>templateDetails.xml</filename>
</files>
</install>
Примечание переводчика______________________________________________
Поля <name> и <description> не должны содержать русских символов поэто-
му не пытайтесь перевести их на русский язык!
Практически все. Теперь перейдите в Менеджер шаблонов (используя меню
Расширения). Вы увидите ваш новый шаблон в списке шаблонов. Выделите
его и нажмите кнопку По умолчанию (рис. 6.3).
214
Глава 6
Рис. 6.3. Выберите шаблон Hello Joomlai и нажмите кнопку По умолчанию
Примечание переводчика_________________________________________
Если Joomla! установлена на сервере хостинг-провайдера, а не на локальном
сервере, достаточно просто скопировать каталог \tmplHelloJoomla в каталог
\templates. Не нужно пытаться архивировать файлы шаблона, а потом устано-
вить их!
После этого откройте окно браузера и перейдите на главную страницу вашего
сайта. Если шаблон корректно работает, вы увидите сообщение "Hello
World!" (рис 6.4). Поздравляю1 Вы только что создали свой первый шаблон!
Рис. 6.4. Браузер отобразит сообщение “Hello World!"
Создание собственных шаблонов
215
Я понимаю, что данный шаблон вас не впечатлил. Однако теперь вы знаете
основную структуру шаблона и познакомились с некоторыми Joomlal-ди-
рективами, которые можно включать в РНР-файл.
Первая1 проблема нашего шаблона — это то, что он не выводит контент сай-
та. Прежде чем вы откажетесь от этого шаблона в пользу более совершенно-
го, давайте попробуем отобразить контент сайта с помощью этого шаблона.
Добавление модулей и компонентов
в шаблон Hello Joomla!
Настало время добавить дополнительные инструкции в наш примитивный
шаблон, чтобы превратить его в настоящий шаблон. Ведь без вывода содер-
жимого сайта, Joomla! это не CMS. С помощью пары строк вы можете доба-
вить один модуль и один компонент в наш шаблон. Модуль будет отображать
последние новости, а компонент — текст главной страницы.
Откройте наш index.php и добавьте выделенные жирным строки после эле-
мента "Hello Word!":
<div class="center" align="center">Hello World!</div>
<jdoc:include type="modules" name="userl" style="xhtml" />
<jdoc: include type="component" />
<jdoc:include type="modules" name="debug" />
В первой добавленной строке добавляется модуль userl, отображающий заго-
ловок Latest News (Последние новости) и список последних статей. Вторая
новая строка добавляет компонент, отображающий текст главной страницы.
Вы, наверное, заметили, что у директивы component нет атрибута name, у казы-
вающего компонент. Если компонент не указан, будет использоваться ком-
понент, имя которого хранится в системной переменной $option. В большин-
стве случаев это компонент com content, отображающий контент страницы.
Когда вы обновите окно браузера, то увидите содержимое главной страницы
(рис. 6.5).
Структура всех Joomla!-шаблонов подобна структуре этого простого шаблона
Hello Joomla!. Готовые шаблоны используют таблицы стилей для расположе-
ния элементов сайта на странице, графику для создания более привлекатель-
ного вида сайта и миниатюры, позволяющие администратору понять, как бу-
дет выглядеть сайт после установки шаблона. Однако все шаблоны построе-
ны по описанному здесь образцу.
1 И самая большая. — Пер.
216
Гпава 6
Рис. 6.5. Модуль и компонент отображают содержимое Joomlai-сайта
Примечание_______________________________
Если у вас свой Web-сервер и при попытке сохранения файла index.php вы по-
лучаете сообщение о том, что файл используется другим процессом, подожди-
те несколько секунд и попытайтесь сохранить файл снова. Интерпретатор РНР
должен вскоре снять блокировку файла.
Изменение существующих шаблонов
После создания примитивного шаблона настало время создать более мощный
шаблон. В большинстве случаев, если вам нужен уникальный шаблон, проще
взять за основу существующий шаблон и приспособить его к вашим нуждам,
чем разрабатывать новый шаблон с нуля. В этом разделе мы поговорим о не-
большой модификации главного шаблона, поставляемого вместе с Joomla!.
После этого измененный шаблон будет напоминать коммерческий шаблон.
В шаблоне по умолчанию присутствует ссылка Работает на Joomla!
(рис. 6.6). Если эта ссылка вам не мешает, оставьте ее — пусть посетители
знают, что ваш сайт работает на Joomla!. Однако большинство организаций
предпочитает скрыть этот факт, чтобы всем казалось, что сайт основан на
коммерческой, а не на бесплатной системе. В этом примере мы рассмотрим,
как удалить ссылку Работает на Joomla!.
Создание собственных шаблонов
217
Рис. 6.6. Внизу шаблона можно увидеть небольшую текстовую ссылку
Работает на Joomlai
В большинстве случаев внешний вид сайта можно изменить с помощью гра-
фического интерфейса администратора. Однако в некоторых особых ситуа-
циях приходится редактировать файлы шаблона. Например, для удаления
ссылки Работает на Joomla! нужно редактировать главный PHP-файл шаб-
лона —• index.php.
Взглянув на код шаблона, вы можете испугаться: его код намного длиннее,
чем код разработанного нами шаблона Hello Joomla!. Но если вы присмотри-
тесь, то увидите в нем уже знакомые нам директивы.
Откройте Менеджер шаблонов (меню Расширения). Выберите шаблон
rhuk milkyway и нажмите кнопку Правка (рис. 6.7). Кнопка Правка позво-
ляет редактировать различные параметры шаблона, в том числе код шаблона.
Рис. 6.7. Выберите шаблон rhuk_milkyway и нажмите кнопку Правка
Вам нужно отредактировать код шаблона, поэтому нажмите кнопку Редак-
тировать HTML (рис. 6.8)— откроется Редактор HTML файла шаблона.
Интерфейс администратора предоставит вам простейший текстовый редак-
тор, позволяющий внести небольшие изменения, однако вам не нужно ис-
пользовать FTP-клиент для прямого доступа к файлу.
218
Гпава 6
ШабЛОН. [Правка]
W О
Про-т-отр Редактировать HTML Редактировать CSS
Подробности
На вампе: Шаолон RHUK Milkyway
Описание: MilkyWay новый шаблон для Joomlaf
Аккуратный дизайн этого шаблона делает
его очень лёгким и быстрым.
Парамоны
Файл параметров flemptates/l
запись!
Цвеговде схем*
Фоновое оформление
Привязка к пунктам меню
Менн»: Невозможно назначить шаблон по
умолчанию
Ширина ш.юломл
Jooma- Распространяется по лицеи ии GNUK5PL.
Рис. 6.8 Нажмите кнопку Редактировать HTML для редактирования кода index.php
<dxv xd"*,whxtebox_b’,>
<dxv xd""vhxtebox_blM»
<dxv id="whltebox_br"></div>
</dxv>
«/div*
</dxv>
<dxv lda 11 footerspacer “></div>
</dxv>
*dxv xd«" footer">
«/body*
</htal>
Рис. 6.9. Выделите строки кода, относящиеся к "Powered by", и вырежьте их из файла
Пролистайте код шаблона, пока не встретите строки, генерирующие код
"Powered by" ("Работает на"), как показано на рис. 6.9:
<р id="power_by">
<?php echo JText::_('Powered by') ?>
Создание собственных шаблонов
219
<а href="http://www.Joomla!.org">Joomla!</a>,
<?php echo JText::_('Valid') ?>
<a href="http://validator.w3.org/check/referer">XHTML</a>
<?php echo JText::_('and') ?>
<a href="http://jigsaw.w3.org/css-validator/check/referer">CSS</a>.
Выделите этот код и нажмите комбинацию клавиш <Ctrl>+<C>, чтобы выре-
зать его. Лучше вырезать код, чем удалить, потому что если после модифика-
ции кода шаблона будут проблемы с его отображением, вы всегда можете
вставить вырезанный текст обратно в шаблон.
Откройте окно браузера и зайдите на главную страничку: вы больше не уви-
дите ненужной нам ссылки (рис. 6.10).
Рис. 6.10. Если вы все сделали правильно,
ссылки Работает на Joomla! больше не будет
Для небольших изменений шаблона можно применять встроенный редактор
Joomla!, а для более масштабных изменений лучше использовать специаль-
ные текстовые редакторы. В следующем разделе вы найдете обзор наиболее
популярных программ, которые существуют для создания шаблонов.
Совет
Перед редактированием любого файла сделайте его резервную копию. Со
статьями и настройкой Joomla! проще — вы не можете ничего такого изменить,
что бы повредило всю систему. А вот с непосредственным редактированием
все намного сложнее — любое, даже самое незначительное, изменение может
повредить всю систему. Если вы не хотите переустанавливать Joomla!, делайте
резервные копии: тогда вы можете просто восстановить исходный файл, и все
будет в порядке.
Создание шаблонов
с помощью Web-редакторов
Для создания шаблонов вы можете использовать различные приложения.
Если вы работаете в Windows, можете использовать стандартный Блокнот,
правда, у него функций явно маловато Если вы предпочитаете Emacs
220
Гпава 6
(в UNIX/Linux), у него функций побольше, да и режим HTML будет весьма
кстати. Однако большинство Joomlai-дизайнеров и разработчиков предпочи-
тает использовать более дружественные программы.
Нам подходят два типа редакторов: WYSIWYG-редакторы и редакторы про-
граммного кода. Joomla!-дизайнеры чаще используют WYSIWYG-редакторы,
а Joomlal-разработчики — редакторы программного кода, предоставляющие
дополнительные функции по редактированию кода.
Примерами WYSIWYG-редакторов могут послужить Adobe Dreamweaver,
Microsoft Expression Web и Nvu. Эти программы позволяют редактировать
HTML-страницу и сразу видеть результат, как будто страница отображается в
Web-браузере. Данные программы можно порекомендовать дизайнерам, ко-
торым нужно производить визуальные модификации элементов страницы
(например, таблиц) путем их перемещения. У этих программ есть возмож-
ность редактирования исходного кода, но довольно ограниченная.
Редакторы кода (например, Eclipse, jEdit, UlraEdit и Leo) отображают только
текст (код) страницы, как в Блокноте или Emacs. Однако у этих редакторов
есть много дополнительных функций вроде подсветки синтаксиса (особенно
это актуально при редактировании РНР кода), редактирования таблиц стилей,
расширенные возможности поиска и замены с использованием регулярных
выражений, автоматическое форматирование кода. Обычно такие редакторы
предназначены для осуществления невизуальных задач вроде редактирования
РНР-кода.
WYSIWYG-редакторы
Web-редакторы, сразу отображающие, как страница будет выглядеть в брау-
зере,— отличные инструменты для создания и редактирования шаблонов
сайта. Некоторые сайты могут быть популярны, даже несмотря на простень-
кий дизайн, например. Drudge Report (www.drudgereport.coin), но они в
меньшинстве. Большинству сайтов для привлечения посетителей нужен хо-
роший дизайн и хороший контент.
Web-редактор, позволяющий упростить процесс визуального дизайна— от-
личный инструмент. Joomlal-дизайнеры часто выбирают Adobe Dream-
weaver1, Microsoft Expression Web и свободно распространяемый редактор
Nvu с Joomlal-плагином. Выбор редактора зависит от личных предпочтений,
поэтому вы должны попробовать все редакторы.
1 Ранее эта программа принадлежала компании Macromedia, поэтому в заголовке окон на ри-
сунках вы обнаружите название Macromedia Dreamweaver. — Ped.
Создание собственных шаблонов
221
"Игрушечные" файлы для WYSIWYG-редактора
Разработка Joomlai-шаблона с использованием редактора — довольно непро-
стая задача, поскольку генерируемые страницы заполняются контентом, по-
лученным от CMS1. Данное обстоятельство создает существенный барьер для
W YSIW Y G-редактирования.
Например, при загрузке Joomlai-шаблона по умолчанию в Dreamweaver вы
получите окно, изображенное на рис. 6.11. Экран пуст потому, что шаблон не
заполнен контентом, и, значит, нечего показывать. Поскольку эти
WYSIWYG-программы не подходят для редактирования PHP-кода, все, что
будет отображено, — пустые таблицы.
Рис. 6.11. DreamwBavBr не очень подходит для непосредственно загруженных шаблонов
Один из полезных методов преодоления данной проблемы заключается в раз-
работке "игрушечных" файлов шаблона вместе с графикой и другими эле-
ментами дизайна (например, таблицами стилей, заголовками, обычными таб-
лицами). Откройте ваш сайт в браузере и выполните команду Файл | Сохра-
1 А при разработке шаблона, понятно, этого контента не будет. — Пер
222
Гпава 6
нить как для сохранения HTML-версии страницы вместе со всей графикой и
вспомогательными файлами. После сохранения Web-страницы в локальном
каталоге будут все ее файлы, включая таблицы стилей, используемые стра-
ницей (рис. 6.12).
Рис. 6.12. CSS-файлы страницы могут быть найдены в каталоге,
в который вы сохранили страницу
Данные файлы можно передать Web-дизайнеру для редактирования и форма-
тирования. Если Web-дизайнер не будет добавлять новые CSS-файлы без со-
гласования с разработчиком, у него есть практически полная свобода измене-
ний расположения элементов страницы, цветовой гаммы, графики. Как толь-
ко визуальное проектирование будет завершено, измененные файлы должны
быть переданы обратно Web-разработчику, который сможет интегрировать
их обратно в шаблон.
Dreamweaver
Dreamweaver— это популярный HTML-редактор, и это хорошо. Возмож-
ность традиционного редактирования страницы, а также наличие библиотеки
шаблонов, делает этот редактор превосходным для ручного администрирова-
ния сайта. В случае с Joomla! вы будете использовать минимум функций это-
го приложения, поскольку все управление контентом производится динами-
чески системой Joomla!.
С помощью Dreamweaver вы можете редактировать таблицы стилей (CSS-
файлы), РНР-код, HTML-код; возможно Dreamweaver — это лучший редак-
тор для Joomlal-шаблонов. У программы есть полезные дополнительные
Создание собственных шаблонов
223
функции вроде загрузки по FTP измененных файлов, что делает эту програм-
му неотразимой для использования с Joomla!. Dreamweaver доступен для
платформ Windows и Macintosh.
На рис. 6.13 изображен Dreamweaver, в который загружена "игрушечная"
версия одного из моих шаблонов.
Рис. 6.13. Твперь Dreamweaver превосходно отображает шаблон
Microsoft Expression Web
На протяжении многих лет Microsoft FrontPage был довольно популярным
редактором, поскольку поставлялся вместе с офисным пакетом Microsoft
Office. По своим функциям этот редактор, конечно же, отставал от Dream-
weaver. Затем Microsoft заменила FrontPage более мощным Web-редак-
тором — Expression Web, который по своим функциям сравним с Dream-
weaver. Теперь пользователи снова могут вернуться к продукции Microsoft.
Expression Web прекрасно справляется с отображением Joomlai-шаблона.
Также у этого редактора очень мощные средства редактирования HTML-кода
(рис. 6.14). К сожалению, Expression Web работает только в Windows, не-
224
Гпава 6
смотря на огромную армию Web-дизайнеров, работающих в Mac OS. Также
программа не поддерживает РНР, а вместо этого умеет работать только с его
альтернативой от Microsoft— ASP. Эти два недостатка делают программу
бесполезной для пользователей Joomla!.
Рис. 6.14. Просмотр HTML-кода в окне Expression Web
Nvu/KompoZer
Nvu (сокращение от EN-view) — бесплатная, свободно распространяемая
альтернатива популярным коммерческим программам, доступная на сайте
www.nvu.com. Хотя Nvu по своим возможностям не дотягивает до уровня
коммерческих программ, его функций вполне достаточно для основной рабо-
ты с шаблонами. Nvu доступен для всех трех основных платформ (Linux,
Windows и Mac OS). Лучше всего использовать Joomlal-плагин для Nvu, ко-
торый называется Nvu Template Builder, который можно загрузить с сайта
www.open4g.com.
Примечание переводчика__________________________________________
На сайте wwwopen4g.com данный плагин называется Joomla! Templater
Builder и доступен в разделе Download. Вам нужно выбрать русскую версию, а
именно файл joomla_open4gtplbuilder-ruRU.xpi. А русскую версию редактора Nvu
можно загрузить по адресу http://nvu mozilla-russia огд/.
Создание собственных шаблонов
225
Как только вы загрузите плагин, выполните команду меню Nvu Инструмен-
ты | Расширения и установите загруженный плагин. После его установки
ваше окно Расширения будет выглядеть так, как показано на рис. 6.15.
Рис. 6.15. Менеджер расширений покажет
только что добавленное расширение
Примечание переводчика
Установленное расширение станет доступным только после перезапуска Nvu,
поэтому сразу после установки плагина программу нужно перезапустить
Установленный плагин чрезвычайно полезен для Joomlal-разработчика, по-
скольку автоматизирует выполнение нескольких утомительных Joomla!-
задач. Плагин может генерировать прототип шаблона, управлять файлом
templateDetails.xml, а также на его панели инструментов вы найдете кнопки
(рис. 6.16), вставляющие соответствующий Joomlal-макрокод для часто ис-
пользуемых модулей и РНР-код.
Казалось бы, это лучший редактор для Joomla!, но у программы есть несколь-
ко недостатков. На момент написания этих строк у программы было множе-
ство ошибок, и она имела ограниченную поддержку CSS. Если эти недостат-
ки были устранены к моменту чтения этой книги вами, тогда Nvu можно на-
звать лучшим редактором шаблонов для Joomla!.
Примечание
Долгое время Nvu не модернизировался, но поскольку Nvu — это открытый
проект, другой разработчик принялся исправлять существующие в программе
ошибки. Новая версия программы получила название KompoZer и доступна по
адресу http://www.kompozer.net. Если не считать исправления некоторых оши-
бок, программа мало чем изменилась, и KompoZer — по сути, это тот же Nvu.
8 Зак 468
226
Гпава 6
Рис. 6.16. Редактор Nvu
Редакторы кода
Редакторы кода предназначены для редактирования кода, а не дизайна. Хотя
эти программы и могут пригодиться дизайнерам, они ориентированы на ре-
дактирование кода. При создании шаблонов Joomla! могут пригодиться три
программы: Eclipse, jEdit и Leo. Все три программы обладают расширенными
средствами поиска/замены (в том числе с использованием регулярных выра-
жений) и средствами управления кодом (проектом). У всех трех программ
есть возможность проверки кода и возможность расширения путем установки
плагинов.
Eclipse — наиболее мощный редактор, но он ориентирован на разработку
больших Java-проектов, поэтому его использование для небольших проектов
не всегда целесообразно. jEdit превосходно справляется с редактированием
отдельного файла, но ему не хватает инструментов для работы с проектом.
Leo очень неплох в управлении проектом и его документировании, но обла-
дает невзрачным пользовательским интерфейсом.
Примечание переводчика
Для редактирования PHP-кода я использую Zend Studio— программу, обла-
дающую подсветкой синтаксиса, средствами проверки PHP-кода и его форма-
Создание собственных шаблонов
227
тирования, возможностью автодополнения кода (когда программа "пишет” код
за вас), поддержкой FTP и, конечно же, инструментами для работы с проекта-
ми. Превосходная программа для PHP-разработки, в том числе и для Joomla!-
разработки. Из недостатков могу отметить лишь не очень шуструю работу про-
граммы в некоторых режимах (например, при загрузке), но это компенсируется
обилием полезных функций. Правда, программа является коммерческой, но,
поверьте, она стоит своих денег. К тому же можно купить обычную (а не про-
фессиональную) версию, которая стоит в три раза дешевле.
Eclipse
Eclipse— это среда разработки программного обеспечения (Integrated
Development Environment, IDE), разработанная IBM для линейки продуктов
Visual Age. Позже IBM передала лицензию на Eclipse фонду Eclipse
Foundation (некоммерческая организация) и сделала исходный код открытым.
Eclipse (vv5vw.eclipse.org) стала открытой средой, поддерживающей много
языков программирования: Java, РНР, Python, C++, Cobol и др. Благодаря мо-
дульной архитектуре, с помощью плагинов можно существенно расширить
возможности программы.
Eclipse очень популярна среди Joomlal-разработчиков, поскольку обладает
фантастическим интерфейсом, превосходно подходящим для разработки
Рис. 6.17. Eclipse —отличная среда для ваших РНР-проектов
228
Гпава 6
таких систем, как Joomla!. Кстати, большинство разработчиков Joomla!
используют именно Eclipse.
Одна из изюминок программы, которая наверняка понравится Joomla!-
разработчику, — это менеджер проекта РНР IDE (рис. 6.17).
Наиболее полезна Eclipse для разработки расширений, что будет продемонст-
рировано в гчаве 13. Для создания шаблонов Eclipse слишком сложна для
обычного Joomlai-дизайнера или разработчика. Eclipse ориентирована на
многопользовательскую работу с проектами кода, а не на редактирование от-
дельных файлов.
jEdit
jEdit (www.jedit.org)— написанный на Java, мощный и свободно распро-
страняемый редактор кода доступный для всех платформ, на которых может
запускаться Java. Хотя у jEdit достаточно функций, существует сообщество
разработки для jEdit, которая очень часто выпускает различные плагины, чем
делает jEdit одним из самых мощных редакторов. Для Joomlal-разработчика
весьма полезны плагины, реализующие следующие функции:
♦ редактирование CSS;
♦ проверка синтаксиса РНР;
♦ сравнение файлов с выделением цветом различий;
♦ поддержка FTP;
♦ форматирование кода;
♦ парсинг РНР;
♦ XML-форматирование
и многое другое.
Для основной работы с РНР я использую jEdit из-за огромного количества
доступных плагинов. На рис. 6.18 изображен jEdit. в котором открыт CSS-
файл одного из шаблонов. Специальный CSS-плагин отображает свойства
выбранного стиля div#iogo, который можно редактировать с помощью выпа-
дающих меню.
У jEdit есть два основных недостатка:
♦ поскольку он написан на Java, то может запускаться на любой платформе,
но в то же время наблюдаются проблемы с производительностью. Я на-
блюдал такие проблемы и у других Java-приложений, но я не специалист
в этой области, поэтому не могу однозначно назвать причину проблемы:
♦ огромное количество плагинов означает, что в базе у этого редактора до-
вольно мало функций Некоторые функции, например, обработка XML,
Создание собственных шаблонов
229
реализованы соответствующим плагином достаточно "криво", в то время
как у других текстовых редакторов (например, у UltraEdit) обработка XML
поддерживается самим редактором (без плагинов) и реализована более
изящно.
Рис. 6.18. Одно из преимуществ jEdit — огромный выбор плагинов, как этот CSS-редактор
Однако эти недостатки малосущественны, по сравнению с мощью и гиб-
костью приложения.
Leo
Впервые мы познакомились с Leo (Literate Editor with Outlines) в главе 7. ко-
гда изучали планирование структуры Joomlal-сайта. Leo— это не просто
программа для создания схем. Leo может быть использован как для разработ-
ки, так и для документирования программных продуктов. У Leo есть возмож-
ность подсветки синтаксиса кода и функция связи проекта с внешними фай-
лами для создания виртуальных схем.
Для примера представим, что вы разрабатываете сложную HTML-страницу.
В обычном редакторе вроде jEdit вы можете просто загрузить файл и отре-
дактировать его. Но что делать, если файл очень длинный, скажем, страниц
20? Хотя это кажется нереальным для HTML-страницы, но вполне нормально
для сложных PHP-проектов, особенно, если они содержат JavaScript-код.
230
Гпава 6
Длинную HTML-страницу можно поделить на несколько частей, например,
заголовок, скрипты, колонка 1, колонка 2, колонка 3 и нижний колонтитул.
В Leo можно "виртуально" поделить файл на части для комфортной работы
с ним. На рис. 6.19 показан пример такого разделения. Я взял шаблон Joomla!
и разделил его на разделы. Стрелки на рисунке показывают связь разделов
схемы с соответствующими фрагментами кода.
♦ Код начинается с раздела «License». На схеме я с помощью стрелки ука-
зал узел, содержащий раздел License. В тело узла вы можете добавить аб-
солютно любой текст.
Рис. 6.19. Leo может виртуально разбивать файл на разделы
♦ Следующий раздел — «header». Щелкните на узле раздела схемы, и вы
увидите содержимое этого раздела (рис. 6.20). В панели кода изображен
только код выбранного раздела, что позволяет сконцентрироваться на ре-
дактировании определенного раздела большого файла.
♦ Ниже раздела header находится раздел «body», который в свою очередь
разбит на подразделы (рис. 6.20).
Думаю возможности Leo по организации вашего проекта видны невоору-
женным взглядом. Наверное, вы заметили, что в схему добавлен всего один
Создание собственных шаблонов
231
файл. На практике вы можете добавить в схему все файлы проекта для пол-
ного управления проектом. Кроме того, любые узлы схемы, имя которых на-
чинается директивой Signore, не будут сохранены в результирующий файл.
Это означает, что вы можете документировать проект в процессе разработки
кода и без отделения документации от кода.
Рис. 6.20. Панель кода отображает только код выбранного раздела header
Далее в этой книге вы увидите другие примеры использования Leo для опти-
мизации Joomlai-проектов. Мощь Leo не может быть недооценена. Как вы
уже знаете, Leo написан на языке программирования Python, поэтому у вас
есть свободный доступ к ядру Leo для автоматизации практически любой
задачи.
Создание настоящего шаблона
До этого мы изучили базовую структуру шаблона, создав с нуля простой
шаблон Hello Joomla!. Но большинство шаблонов создается из уже сущест-
вующих шаблонов или из прототипов шаблонов. Это намного проще, чем
заново изобретать колесо. В этом разделе мы поговорим о создании нового
232
Гпава 6
шаблона на базе уже существующего. Мы разработаем шаблон-болванку для
сайта LoanStaircase, знакомого нам по гчаве 4.
Части мозаики: структура шаблона
Чтобы максимально упростить структуру шаблона, мы использовали всего
два самых необходимых файла. Для большинства шаблонов, однако, нужны
как минимум три файла:
♦ templateDetails.xml — описывает файлы Joomlai-шаблона. Чуть раньше мы
уже создавали такой файл для нашего шаблона Hello Joomla!. Полная вер-
сия этого файла содержит намного больше параметров, чем было показано
ранее;
♦ index.php — содержит основной HTML/PHP-код шаблона, управляющий
выполнением сайта. Файл index.php шаблона Hello Joomla! был макси-
мально упрощен и содержал минимум информации, необходимой для пра-
вильного отображения страницы:
♦ template.css — содержит параметры стилей (шрифты, границы, позицио-
нирование и др.) главной страницы. Этот файл может перезаписывать су-
ществующие наборы стилей для разделов, категорий и отдельных статей.
Эти три файла есть практически в каждом настоящем шаблоне.
Совет
Когда вы создадите свой шаблон и вам захочется его распространять (просто
выложить на сайте или даже продавать), не забудьте включить в шаблон ли-
цензию, определяющую, что пользователь может, а что не может делать с
шаблоном Я рекомендую свободную лицензию GNU General Public License
(GPL), с текстом которой можно ознакомиться в Википедии (http://en.wikipedfa.org
/wiki/GNU_Public_License).
На рис. 6.21 мною создана простая диаграмма основных частей дизайна
Joomla!, с помощью выносок отмечены названия стилей, отвечающих за ото-
бражение каждой части дизайна.
Кроме вышеупомянутых файлов большинство шаблонов содержит:
♦ миниатюрное изображение шаблона— файл с именем template_
thumbnail png и размерами изображения 140x90, который должен нахо-
диться в корневом каталоге шаблона. Данный файл используется Менед-
жером шаблонов для предварительного просмотра шаблона, когда вы под-
водите курсор мыши к имени шаблона;
♦ каталог CSS — отдельный каталог \css содержит файлы стилей, исполь-
зуемые шаблоном. Главный файл стилей шаблона обычно называется
template.css;
Создание собственных шаблонов 233
♦ каталог images — данный каталог содержит графические файлы, исполь-
зуемые шаблоном.
Рис. 6.21. Стили Joomlai-страницы
Имена каталогов никак не контролируются Joomla! (т. е. вы можете выбирать
любые имена для каталогов шаблона), но следующая схема имен может сде-
лать шаблон более понятным для дальнейшего изменения. Такие имена ката-
логов имеются практически в каждом шаблоне.
Для распространения шаблона все его файлы нужно запаковать в ZIP- или
TAR-архив. Joomla! поддерживает оба типа архива и может автоматически
распаковать файлы шаблона в каталог \templates. что позволяет вам устано-
вить новый шаблон с помощью интерфейса администратора Joomla! вместо
закачки файлов шаблона на сайт с помощью FTP-клиента.
Прежде чем приступить к созданию шаблона, вам нужно создать пустые фай-
лы и каталоги в каталоге \templates. Поскольку наш будущий шаблон будет
выводить контент в две колонки, я назвал его главный каталог \tmpITwoCoI.
Итак, я создал три каталога:
♦ \templates\tmplTwoCoI;
♦ \templates\tmplTwoCol\css;
♦ \templates\tmplTwoCol\images.
Пустые файлы index.php и templateDetails.xml поместите в корневой ката-
лог шаблона (\templates\tmplTwoCol). Когда вы приступите к проектиро-
ванию шаблона, вы поместите код, контент и картинки в соответствующие
каталоги.
234
Гпава 6
Пошаговое создание шаблона
Шаблон Joomla! — это комбинация трех ключевых элементов: графики,
PHP/HTML-кода и одной или нескольких таблиц стилей. Работая над созда-
нием шаблона, вам необходим путь, по которому вы будете следовать при
создании новых шаблонов.
Основные этапы создания шаблона следующие'
♦ выбор цветовой гаммы сайта;
♦ создание таблицы стилей, соответствующей выбранной цветовой гамме;
♦ выбор основных шрифтов, используемых для отображения контента;
♦ создание графических файлов;
♦ создание файла index.php;
♦ создание файла templateDetails.xml.
После создания шаблона, вы можете в любое время модернизировать его.
Поскольку страницы сайта генерируются Joomla! динамически, изменения,
внесенные в шаблон, будут немедленно отображены на всех страницах сайта.
Выбор цветовой гаммы
Большинство людей, не знакомых с Web-дизайном, думают, что для создания
профессионального дизайна нужно много знаний, или же создают сайт без
обращения всякого внимания на его внешний вид. В этом разделе мы попы-
таемся справиться с этими двумя крайностями. Следуя основным рекоменда-
циям, вы можете создать профессионально выглядящий Web-сайт, не тратя
годы на изучение Web-дизайна.
Один из самых важных аспектов дизайна сайта— это его цветовая гамма.
У вашего сайта может быть минимум графики, но если шрифты и цветовая
гамма правильно подобраны, он будет выглядеть профессионально.
Цветовая модель RGB
Прежде всего, вам нужно понять несколько основных способов представле-
ния цвета. Наиболее часто используемый в компьютерах метод называется
RGB (Red, Green, Blue — красный, зеленый, синий).
При использовании RGB компьютер "помнит" цвет каждой точки (каждого
пиксела), отображаемой на экране. Цвет задается тремя числами, каждое чис-
ло представляет долю красного, зеленого или синего в цвете точки. Каждое
число может быть в пределах от 0 до 255. У полностью красной точки цвет
задается значением (255, 0, 0), у полностью синей — (0, 0, 255). Чтобы полу-
чить желтый цвет, нужно смешать красный и зеленый— (255, 255, 0). Для
Создание собственных шаблонов
235
получения любого другого цвета нужно смешать три базовых цвета в опреде-
ленной пропорции.
Модель RGB очень удобна для компьютера, но сложна для человека, по-
скольку сложно запомнить различные пропорции, необходимые для получе-
ния нужного цвета. Чтобы упростить нам жизнь, программисты создали спе-
циальные инструменты для выбора цвета (рис. 6.22). Но, даже используя
такой инструмент, сложно сказать, какие цвета нужно смешать, чтобы полу-
чить то, что вам нужно.
Рис. 6 22. Инструмент выбора цвета
Выбор основного цвета для вашего сайта
Если вы посмотрите на самые популярные сайты, вы увидите, что цветовая
гамма достаточно проста. Можно выбрать пару основных цветов, работаю-
щих вместе, а далее использовать различные оттенки этих цветов и тем са-
мым создать хорошую цветовую гамму. Что означает "работают вместе"?
Обычно вы выбираете темный и светлый цвета, чтобы обеспечить хороший
контраст. Вот некоторые обычные пары цветов:
♦ черный и белый;
♦ черный и желтый;
♦ синий и желтый;
♦ красный и зеленый;
♦ красный и синий;
236 Гпава 6
------------,------------------------------------------------------
♦ фиолетовый и желтый;
♦ красный и белый.
Одного выбора основных цветов недостаточно — ваш сайт будет выглядеть
просто и непрофессионально. Вам нужно использовать различные оттенки
выбранных цветов, чтобы создать завершенную с точки зрения дизайна цве-
товую гамму. Выбор оттенков в случае с RGB — нелегкая задача, поэтому
временно мы вынуждены оставить эту модель в покое.
Совет
Вам нужна отличная цветовая модель? Посмотрите на спортивные логотипы!
Профессиональные спортивные организации вроде NFL и NBA тратят много
средств на выбор двух-трех работающих вместе цветов, которые можно ис-
пользовать в качестве основных цветов эмблемы команды. Цвета эмблем неко-
торых спортивных команд помогут вам найти цвет для вашего сайта.
Оттенок-насыщенность-яркость
Цветовая модель RGB превосходна для компьютеров, но для Web-дизайнеров
больше походит модель HSB (Hue, Saturation, Brightness— оттенок, насы-
щенность, яркость). Вместо смешивания трех основных цветов, модель HSB
предлагает производить выбор цвета совсем другим способом.
♦ Оттенок— определяет главный цвет, например, синий, зеленый, фиоле-
товый, оранжевый и т. д. Значение цвета подобно указателю на радуге.
Самое низкое значение — это красный цвет, значение чуть выше — отте-
нок желтого, далее идет синий и т. д.
♦ Насыгценностъ — определяет, сколько цветов должно присутствовать.
Сильно насыщенный цвет будет слишком ярким, подобно тем. которые
используются в игрушках. Если насыщенность минимальная, цвет будет
казаться серым. Думайте о цвете как о солнечном свете — рано или позд-
но, все цвета станут ненасыщенными.
♦ Яркость (или значение) — определяет яркость цвета. Если яркость равна
О, мы получим полностью черный цвет. Если установить максимальную
яркость, то невозможно сказать, какой цвет получим — это зависит от от-
тенка и насыщенности. Чтобы понять, как работает яркость, представьте
цветную бумагу (любого цвета и любой насыщенности) в темной комнате.
Когда яркость низкая, комната кажется почти черной, как и цветной лист
бумаги. С увеличением света в комнате, вы увидите, как цвет становится
четче и четче, пока вы не достигнете максимальной яркости — тогда вы
четко увидите цветную бумагу.
Вы можете спросить, как модель HSB поможет вам при создании дизайна
вашего Joomla’-сайта. Все очень просто. Изменяя яркость выбранного цвета,
вы можете получить совершенно другой оттенок базового цвета.
Создание собственных шаблонов
237
Светлая или темная цветовая тема?
Возможно, вы уже выбрали пару цветов, но пока еще не определились, как
будете их использовать на вашем сайте. Два основных варианта — светлая
или темная схема сайта.
Предположим, что вы выбрали черный и белый цвета. Если вы сделаете текст
черным, это означает, что большая часть экрана будет белой, подобно листу
белой бумаги. Ваш сайт будет выглядеть солнечно, ярко, легко. Такая цвето-
вая тема подходит для туристического сайта, сайта мини-пекарни или поис-
ковой машины вроде Google. Но она совсем не подходит для сайта джаз-
клуба или популярной "стрелялки" (видеоигры).
С другой стороны, если вы сделаете текст белым, все оставшееся пространст-
во будет черным. Совсем другой эффект, не так ли? Сайт выглядит солидно и
даже немного таинственно. Такая цветовая тема подойдет для изготовителя
солнечных очков или же для инвестиционного банка. Но это не совсем хоро-
ший выбор для, скажем, сайта знакомств.
Но, скорее всего, вы выбрали другие цвета, например, ярко-желтый и темно-
синий. Если текст сделать синим, а фон — желтым, мы получим светлую те-
му. И наоборот, желтый текст на синем фоне — это темная тема.
Сначала определите, как будут цвета использоваться на вашем сайте, а после
этого вы сможете определиться с необходимыми оттенками.
Использование HSB для выбора цветов сайта
Теперь, когда вы выбрали некоторые цвета и вообще понимаете, как они
должны использоваться в вашем шаблоне, можете создать простую HTML-
страничку. которая поможет выбрать оттенки вашего сайта, благодаря чему
ваш сайт будет выглядеть профессионально. Данная страничка будет показы-
вать цвета и конвертировать значения RGB в HSB и обратно.
Откройте ваш текстовый редактор и введите код, представленный в лис-
тинге 6.1.
Листинг 6.1. RGB/HSB-конвертер цветов
<HTML>
<HEAD>
<SCRIPT LANGUAGES”JavaScriptl.2” type="text/javascript">
<! —
function rgbChange () {
updateSample();
238
Гпава 6
function testVal(testField) {
if(isNaN(testField)) { testField = 0; }
if(testField<0) { testField = 0; }
if(testField>255) { testField = 255; }
return (testField);
}
function toHexStr(decVai) {
if(decVal<16) strVal="0”;
else strVal=”";
strVal += (decVal-0).toString(16);
return(strVal);
}
function updateSample() (
r = testVal(document.frmRGB.R.value)
g = testVal(document.frmRGB.G.value)
b = testVal(document.frmRGB.B.value)
hexStr = + toHexStr(r) + toHexStr(g) + toHexStr(b);
document.frmHex.hexVal.value = hexStr;
document.bgColor=hexStr;
)
function convertHSBO {
h = document.frmHSB.H.value/360
s = document.frmHSB.S.value/100
v = document.frmHSB.B.value/100
hi = parselnt(h*6);
f-1;
var_h - h * 6;
var_i = Math.floor(hi);
P = v*(1-s);
q = v*(1-s*(var_h — var_i));
t = v*(l-s*(l - (var_h — var_i)));
switch(hi){
case 0: r=v; g=t; b=p; break;
case 1: r=q; g=v; b=p; break;
case 2: r=p; g=v; b=t; break;
case 3: r=p; g=q; b=v; break;
case 4: r=t; g=p; b=v; break;
case 5: r=v; g=p; b=q; break;
}
Создание собственных шаблонов
239
document.frmRGB.R.value = Math.round(r*255);
document.frmRGB.G.value = Math.round(g*255);
document.frmRGB.B.value = Math.round(b*255);
updateSample();
}
function convertRGB() {
r = testVal(document.frmRGB.R.value)/255
g = testVal(document.frmRGB.G.value)/255
b = testVal(document.frmRGB.B.value)/255
v = Math.max(r, g, b);
myMin = Math.min(r, g, b);
if(V“O) s=0;
else s=l-(myMin/v);
i f(v==myMin) h=0;
else
switch(v)(
case r:
if(g>=b) h=60*((g-b)/(v-myMin));
else h=60*((g-b)I(v-myMin))+360;
break;
case g:
h = 60*((b-r)/(v-myMin))+120;
break;
case b:
h = 60*((r-g)/(v-myMin))+240;
break;
}
document.frmHSB.H.value = Math.round(h);
document.frmHSB.S.value = Math.round(s*100);
document.frmHSB.B.value = Math.round(v*100);
}
—>
</script>
</HEAD>
<BODY>
<H1>RGB/HSB Convert</Hl>
<table width="200" border="l" bgcolor="#FFFFFF”>
<tr> <td>
<form name="frmRGB" id="frmRGB">
<label>R (0-255)
240
Глава 6
cinput name="R" type="text" id="R" accesskey="R"
onKeyUp “javascript:rgbChange(); value="255" size="5">
</labelxp>
<label>G (0-255)
cinput name="G" type="text" id="G” accesskey="R"
onKeyUp “javascript:rgbChange(); value="0" size="5">
c/label>c/pxp>
<label>B (0-255)
cinput name=”B” type=''text" id="B" accesskey="R"
onKeyUp “javascript:rgbChange(); value="0" size="5">
< /1 abe lx / pxp>
<label>
cinput name="cmdConvertRGB" TYPE="button"
value="Convert >" onClick=javascript:convertRGB();>
</labelx/p>
</ formx/tdxtd>
cform name="frmHSB" id=”frmHSB">
<label>H
cinput name="H" type="text" id="H" size="5">
c/labelxp>
clabel>S
cinput name="S" type="text" id="S" size="5">
c/labelx/pxp>
ciabel>B
cinput name="B" type="text" id="B" size="5">
</labelx/pxp>
ciabel>
cinput name="cmdConvertHSB" TYPE=”button"
value="Convert <" onclick=javascript:convertHSB()>
c/labelx/p>
<! formx/tdx/tr>
ctrxtd>
cform action="” method="post" name="frmHex” id="frmHex">
clabel>Hex
cinput name="hexVal" type="text" id="hexVal">
c/label>
</formx/td>
ctd> c/td>
</tr>
c/table>
c/BODYX/HTML>
Сохраните этот файл на вашем жестком диске под именем
RGH_HSB_converter.html. Откройте ваш браузер, и вы увидите форму, по-
Создание собственных шаблонов 241
добную изображенной на рис. 6.23. Когда вы будете изменять значения крас-
ного, зеленого и синего цветов, фон страницы будет автоматически изме-
няться в соответствии с введенными значениями.
Hi30
I
'S 8
В 94
L----------
« Convert <
[I—--------
RGB/HSB C onvert
R (0-255) 240
G(0-255) 230
В (0-255) 220
j Convert > j
Hex
#t0e6dc
Рис. 6 23. RGB/HSB-конвертер цветов: конвертирует и отображает цвета
Введите RGB-значения первого цвета вашей цветовой гаммы. Обратите вни-
мание, что в поле Hex появится шестнадцатеричное значение введенного
цвета, которое вам пригодится, когда будете вставлять код цвета в ваш
Joomlai-шаблон.
В качестве темного цвета я выбрал зеленый цвет. Его RGB-значение записы-
вается так (88, 161, 85), а шестнадцатеричное значение выглядит как #58а155.
В качестве светлого цвета я выбрал обычный белый цвет.
Нажмите кнопку Convert >, и в полях HSB вы увидите числа, соответствую-
щие выбранному цвету в модели HSB. В случае с первым цветом моей темы
были сгенерированы значения (118, 47, 63). И тут начинается самое интерес-
ное. Я знаю, что мне нужна более темная версия выбранного цвета для созда-
ния теней. Поэтому я понизил яркость до 26. Думаю, мне такой цвет подой-
дет. После того как я установил значение 26, HSB-значение выглядело как
(118,47, 26).
Теперь нажмите кнопку Convert <, чтобы преобразовать цвет обратно в RGB-
формат и получить новое RGB-значение (и соответствующее ему шестнадца-
теричное значение). В результате я получил RGB-значение (36, 66, 35) и ше-
стнадцатеричное значение #244223. Вы видите, как сложно найти нужный
цвет, используя RGB-модель?
Откройте ваш текстовый редактор или текстовый процессор и сделайте таб-
лицу цветов (табл. 6.1). Заполните параметры вашей цветовой схемы. Я оста-
242
Гпава 6
вил незаполненными поля для светлого цвета, который может использоваться
в качестве подсветки.
Таблица 6.1. Простая таблица темы поможет вам построить свой шаблон
Hex RGB HSB
Theme Color 1 (background) #58a155 88, 161, 85 118, 47,63
Theme Color 1 Dark #244223 36, 66, 35 118,47,26
Theme Color 1 Bright
Theme Color 2 (text) #fafffa 250, 255, 250 120, 2, 100
Theme Color 2 Dark
Theme Color 2 Bright
Теперь у вас есть ваша цветовая гамма для вашего шаблона! Данные цвета
вам нужно использовать при создании картинок для сайта и при разработке
таблиц стилей (CSS).
Таблицы стилей CSS
После выбора цветовой гаммы вы можете приступить к разработке дизайна
сайта. Большинство графических элементов сайта управляются таблицей
стиля, загружаемой шаблоном.
Вместо использования собственного языка форматирования шаблонов,
Joomla! использует существующие и популярные стандарты. Стандарт CSS
был принят всемирным консорциумом W3C (World Wide Web Consortium).
Если вы уже знакомы с CSS, то можете пропустить этот раздел и перейти к
чтению следующего. Если же вы никогда не использовали CSS, обязательно
внимательно ознакомьтесь с содержимым этого раздела, иначе вы не сможете
создать хороший Joomlal-шаблон. Технология CSS — одна из лучших техно-
логий, использующихся при создании сайта. Далее мы поговорим об исполь-
зовании CSS.
Что такое CSS?
Изначально CSS была предназначена для решения проблем совместимости и
универсальности способов форматирования HTML-страниц. С развитием
WWW код HTML-страниц стал очень сложным — многочисленные шрифты,
цветовые схемы, форматирования таблиц, абзацев— все это сделало код
HTML-страницы неуправляемым. С ростом Web-узла на нем появлялись ты-
сячи страниц, что делало задачу изменения дизайна просто невозможной.
С приходом CSS все изменилось.
Создание собственных шаблонов
243
CSS-файл хранит определения текстовых и графических элементов (заголов-
ки, ссылки и т. д.) Например, определение стиля Заголовка 1, при котором
будет использоваться шрифт Verdana размером 18 пикселов и красный цвет,
будет выглядеть так:
.hl (
font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
font-size:18px;
color: #FF0000;
}
Любая Web-страница, использующая данное определение стиля, для тега <hl>
получит описанное выше форматирование (Verdana, 18 пикселов и красный
цвет). Точка перед именем стиля (.) означает, что стиль должен переопреде-
лить существующий стиль тега <hl>. Вы можете описать и собственный
стиль. Например, можно создать свой стиль mySmaii.
.mySmall (
font-family: "Times New Roman", Times, serif;
font-size: 6px;
vertical-align: top; margin: 3px;
1
Для форматирования абзаца с помощью данного стиля вам нужно указать
атрибут class в теге абзаца так:
<р с1азз="туЗта11">Неболыпой текст</р>
В большинстве случаев определения стилей хранятся не в коде HTML-
страницы (хотя они могут быть включены в состав страницы с помощью тега
<style>), а в отдельном файле с расширением css. Поскольку стили вынесены
в отдельный файл, в код HTML-страницы нужно добавить инструкцию, ука-
зывающую, в каком именно CSS-файле нужно искать стили Браузер автома-
тически получит этот CSS-файл и отформатирует страницу в соответствии с
определенными в нем стилями.
Примечание _______________________________________________________
Если вы вообще не знакомы с HTML и информация в этой главе для вас непо-
нятна, просто подождите пока. Практически весь процесс создания шаблона
можно осуществить с помощью специальных утилит (вроде jEdit с CSS-
плагином), интерфейсы которых помогут вам автоматизировать много задач
Общие для всех страниц сайта CSS-файлы — это не единственное преимуще-
ство технологии CSS. Во время создания CSS компании Microsoft и Netscape
боролись за господство на рынке браузеров. Эта конкуренция, а также много-
численные версии браузеров от этих компаний, и возможность работы брау-
244
Гпава 6
зеров на разных платформах привели к тому, что сайт в разных браузерах и
на различных платформах мог отображаться по разному, например, из-за от-
сутствия на той или иной платформе необходимых шрифтов.
Чтобы решить эту проблему с помощью CSS. можно создать несколько вари-
антов форматирования — для разных платформ и браузеров. Например, ваш
CSS-файл может содержать стили, которые будут использованы только при
просмотре страницы на сотовом телефоне. Данная возможность идеально
подходит для CMS, где содержимое сайта отображается с помощью много-
численных шаблонов.
Использование CSS в Joomlaf-шаблонах позволяет полностью разделить кон-
тент и дизайн. Контент (статьи) будет храниться в базе данных, а дизайн в
CSS-файлах. При этом один стиль может быть заменен другим (например, в
зависимости от типа браузера). Понятно, что сайт предстанет в новом виде
без модификации контента.
Совет_____________________________________________
При создании шаблона вы должны поставить для себя одну цель — минималь-
ное использование таблиц для разметки. Разметкой гораздо удобнее управлять
с помощью CSS-файлов. Использование CSS для разметки сайта позволит
лучше оптимизировать сайт для поисковых машин, которые будут корректно
интерпретировать контент сайта.
У стандарта CSS много функций, одна из самых полезных — подбор альтер-
нативных шрифтов, что позволяет корректно отображать Web-страницу, вне
зависимости от монитора, на котором она отображается— на 21-дюймовой
панели или на 3-дюймовом экране сотового телефона.
Поисковые машины и CSS
Другая причина использования CSS заключается в поисковой оптимизации.
Компании-владельцы поисковых машин вроде Google не могут себе позво-
лить нанимать отдельных сотрудников для чтения и индексирования десят-
ков миллионов Web-страниц. Вместо этого поисковые машины используют
специальную технологию (она называется Web-пауками), которая позволяет
считывать Web-сайт и создавать внутреннее резюме каждой страницы сайта.
Это резюме индексируется и потом используется для поиска страниц по за-
просу пользователя.
Чем понятнее Web-пауку будет ваша страница, тем больше шансов, что дви-
жок поисковой машины поймет и проиндексирует ее, следовательно, больше
посетителей зайдет на вашу страницу. Если ваша страница будет менее ма-
шинно-читаема, она будет практически "невидимой" движку поисковой ма-
шины. Самый простой пример "невидимости" — это графический баннер, на
котором написано "XYZ Company". Поисковая машина не может прочитать
Создание собственных шаблонов 245
картинку, она читает только текст. Даже если на картинке название компании
будет написано 5-дюймовыми буквами, оно останется невидимым для Web-
паука. Если пользователь введет запрос "XYZ Company", он не сможет найти
вашу страницу.
Если Web-дизайнер предусмотрительный, он добавит атрибут alt, описы-
вающий картинку. Теперь поисковая машина "увидит" картинку, подписан-
ную текстом "XYZ Company". Аналогично, можно задать альтернативный
текст для разделителей, ссылки на главную страницу и других элементов сай-
та, что обязательно обратит внимание Web-паука.
Если бы наша страница использовала CSS, можно было бы вместо баннера
определить текст "XYZ Company" как стиль Заголовка 1. Поисковая про-
грамма считает Заголовок 1 одной из самых главных частей страницы, соот-
ветственно, это бы подняло рейтинг страницы при поиске. В CSS-файле вы
можете определить параметры Заголовка 1 — шрифт, цвет, размер и т. д.,
чтобы ваша страница выглядела более эффектно.
Приведенный пример не очень реалистичный, поскольку большинство ком-
паний предпочитают графические баннеры. Впрочем, подробнее о важных
элементах сайта и поисковых машинах мы поговорим в главе 12.
А как же быть с отдельными статьями? У многих Web-сайтов заголовки ста-
тей и даже разделов — графические. Если бы они вместо этого использовали
CSS, Web-паук более качественно проиндексировал бы страницу. А это озна-
чает больше посетителей и, возможно, больше прибыли для компании XYZ.
CSS и шаблон Joomla!
После введения в CSS можно приступить к изучению CSS-файла Joomla!.
чтобы определиться, что нужно изменять, а что — нет. Стандартный шаблон
rhuk milkyway содержит более 20 различных стилей, определяющих внеш-
ний вид сайта.
В листинге 6.2 представлены некоторые стили из этого файла. Обратите вни-
мание, что у каждого стиля относительно немного параметров. Стили явля-
ются иерархическими. Так стили ссылок были определены в первом стиле
(a:link и a:visited), все остальное представление страницы будет использо-
вать эти стили, если они не будут явно перезаписаны.
” ' " * -— — - —— - ‘ .....- * имимимм ♦ - и>м ом. м«»* ом • - о ’!>» ом НМ<<
Листинг 6.2. Внешний вид основных частей страницы определяется
всего несколькими стилями
a:link, a:visited {
color: #1В57В1; text-decoration: none;
font-weight: normal;
}
246
Гпава 6
#page_bg {
height: 100%;
padding: Юрх 0;
margin-bottom: Ipx;
background: #0C3A6D;
}
div.center (
text-align: center;
}
divttwrapper {
height: 100%;
background: #f7f7f7 url(../images/mw_shadow_blue l.png) 0 0 repeat-y;
margin-left: auto;
margin-right: auto;
min-width: 750px;
max-width: 1050px;
}
div#wrapper_r {
background: url(../images/mw_shadow_blue_r.png) 100% 0 repeat-y;
}
div#header {
background: url(../images/mw_header_blue_t.png) 0 0 repeat-x;
}
div#header_l {
background: url(../images/mw_header_blue_t_l.png) 0 0 no-repeat;
position: relative;
.ol-foreground {
background-color: #f6f6f6;
}
.о1-backg round {
background-color: #666;
}
.ol-textfont {
font-family: Arial, Helvetica, sans-serif;
font-size: Юрх;
Создание собственных шаблонов
247
Как вы можете видеть, стили задают каждый аспект дизайна — от шрифтов
до параметров границ (margin-*). Вы можете определить основные параметры
разметки, включая столбцы, абсолютное позиционирование некоторых эле-
ментов (например, картинок) и плавающие блоки. К сожалению, много шаб-
лонов (и rhuk milkyway— не исключение) не используют все возможности
CSS для разметки страниц.
Вместо CSS многие шаблоны используют таблицы для разметки страницы.
Вот пример разметки с помощью таблиц:
<table>
<tr>
<td>CTon6eul</tdxТД>Столбец2</tdxлД>СтолбецЗ</td>
</tr>
<tr>
<td>rTiaBHaH</td><td>TeKCT_CTaTbn</td><td>3neMeHTl</td>
</tr>
<tr>
<td>FAQ</td><td>3neMeHT2</td><td>3neMeHT3</td>
</tr>
</table>
Применение таблиц довольно проблематично. Во-первых, нужно постоянно
работать с кодом (особенно если используются разделители картинок), а во-
вторых. разметка в виде таблиц затрудняет восприятие кода Также такая
разметка сложна для восприятия поисковыми машинами, что понижает веро-
ятность нахождения вашей страницы поисковой машиной. Кроме того, изме-
нение разметки требует тщательной ревизии кода.
Создать три столбца с использованием CSS гораздо проще:
#coll [float:left;width:20%;}
#со!2 {float:left;width:60%;}
#со13 {float:left;width:20%;}
Код, помещающий контент в соответствующие столбцы, будет выглядеть
так:
<div id="col1">Столбец1<Ьг>Главная<Ьг>ЕА<2</div>
<div id="col2">MoHCTaTbH</div>
<div id=”col3">PeKnaMa</div>
Гораздо проще, не так ли? Поисковые машины тоже так думают. Однако на-
вигация и меню будут храниться в первом столбце, в то время как наиболее
важный контент сайта— во втором столбце. Поскольку поисковые пауки
обычно обращают внимание на контент, который раньше появляется на стра-
нице. данная разметка не самая оптимальная.
248
Гпава 6
Для решения этой проблемы можно использовать метод сортировки столб-
цов. При этом контент будет размещаться так же, как и в прошлом случае, но
в HTML-коде содержимое со12 будет следовать перед содержимым coll, по-
этому поисковая машина увидит самую важную часть страницы. Об этой
технике мы поговорим в гчаве 12.
Примечание
При изучении CSS вы столкнетесь с игнорированием некоторых возможностей
CSS браузером Internet Explorer 6. Возможно, вы заметили, что в шаблонах
Joomla! обычно есть файл ieonly.css . В данном файле содержатся определе-
ния, предназначенные только для Internet Explorer. В этой книге я постарался
рассмотреть большинство особенностей Internet Explorer. Однако рекомендую
всегда просматривать свою страницу с помощью Internet Explorer и как минимум
еще в одном (любом) браузере, чтобы убедиться, что ваши стили отображают-
ся корректно в любом браузере. Также нужно отметить, что большинство этих
проблем были исправлены в Internet Explorer 7.
Изменение параметров столбца так же просто, как и изменение отдельного
CSS-файла. Вы можете добавить внутренний отступ столбца— от края
столбца до контента. К сожалению, Internet Explorer 6 игнорирует этот атри-
бут. Поэтому для создания отступа вокруг каждого столбца вам нужно доба-
вить еще один элемент <div>:
<div id="coll">
<div class=''gutter">
<jdoc:include type="modules" name="left" />
</div>
</div>
Затем в CSS-файл нужно добавить строку:
.gutter {padding:8рх;}
Создание разметки на две колонки с помощью CSS
Для создания нового шаблона с двумя колонками, вам нужно настроить в
CSS-файле интервалы страницы. Если вы знакомы с созданием HTML-
таблиц, CSS-форматирование покажется вам подобным.
CSS-разметку можно сравнить с разметкой газетной страницы, описанной в
гчаве 4, но на примере Joomla’-страницы. У каждой панели, например, блока,
содержащего контент (чаше всего текст), есть свои атрибуты: граница, тол-
щина границы, края. На рис. 6.24 представлена простая панель со своими
атрибутами.
1 Название файла переводится как "Для IE только". — Пер
Создание собственных шаблонов 249
Края панели всегда прозрачные. Фон панели будет занимать всю ее область
вместе с границами. Вы можете установить различную ширину границы для
разных сторон панели. Например, граница вверху может быть шириной в
1 пиксел, а внизу — 3 пиксела.
Примечание переводчика__________________________________________
Слова margin (край, поле) и border (граница) в переводе с английского языка
будут синонимами — оба слова можно перевести как "граница". Чтобы вам бы-
ло проще, воспринимайте margin как невидимую, a border — как видимую гра-
ницу панели.
Joomla! is
used for?
* Community
Sites
Public
Brand Sites
“ eCommerce
r Blogs
' Intranets
Photo and
Media
Sites
г All of die
Above!
Votej
Results |
We have 1
guest online
Рис. 6.24. CSS-атрибуты панели
Панели можно создавать иерархично, т. е. в пределах панели вы можете соз-
дать набор подпанелей.
Существуют два основных типа рамок: линейные и рамки-блоки. Разметка
линейных рамок осуществляется так же, как и фрагментов текста или карти-
нок. Блоки находятся в пределах тегов <р>, <div> или <table>. Атрибут
display элемента Web-страницы, например, тега <div>, задает тип используе-
мой рамки. Если атрибут display установлен в попе, рамка не будет отобра-
жена.
Для позиционирования можно использовать один из трех методов: normal,
float и absolute. При нормальном позиционировании блоки будут переме-
щаться вертикально, а линейные рамки — горизонтально. При плавающем
(float) позиционировании элементы страницы будут размещены относитель-
250
Гпава 6
но других элементов, а при абсолютном позиционировании расположение
элементов будет задаваться абсолютными координатами.
Примечание
Когда один вертикальный блок следует за другим вертикальным блоком, верти-
кальные края (margins) будут сокращены. Если два блока идут последователь-
но нижняя граница верхнего блока не будет добавлена к Верхней границе ниж-
него. Вместо этого будет выбрана большая граница (имеется в виду невидимая
граница — margin), и она будет использоваться для разделения блоков.
Вы можете использовать относительное (плавающее) позиционирование ра-
мок, при котором расположение блока будет зависеть от расположения дру-
гих блоков, которые расположены перед ним.
Для создания нашего шаблона на две колонки введите код из листинга 6.3 и
сохраните его как файл template.css в подкаталоге \css каталога шаблона.
Главный файл (index.php) мы позже свяжем с файлом стилей.
Листинг 6.3. CSS-файл для шаблона на две колонки
div#logo {
width: 110%; height: lOOpx;
margin-left: -lOpx;
background: url(../images/LSlogo.jpg) left no-repeat;
border: Ipx solid #244223 ;
padding: 2 Opx;
}
#coll {
float:left;width:15%;
background:#244223;
padding: lOpx;
}
#col2 {
float:left;width:75%;
border:3px solid #244223;
background:#58al55;
padding: lOpx;
}
#page_bg {
font-family: Verdana, Arial, Helvetica, sans-serif;
height: 100%;
background: black.
Создание собственных шаблонов
251
.moduletable_menu, .moduletable
{
color: white;
border-bottom: Ipx solid #fff;
margin-bottom: -lem;
}
.moduletable_menu h3 {
border-bottom: Ipx solid #FFFFFF;
margin-bottom: Opx;
}
.moduletable_menu ul {
margin-left: lOpx;
margin-top: Opx;
padding: lOpx;
font-size: 80%;
list-style-type: square;
}
.moduletable_menu a:link, .moduletable a:link {
color:yellow;
}
.moduletable_menu a:visited, .moduletable a:visited {
color:corns ilk;
}
.contentheading {
border-bottom: 2px solid Black;
border-right: 2px solid Black;
border-left: Ipx solid LightGreen;
border-top: Ipx solid LightGreen;
background:#244223;
color: white;
padding: lOpx;
font-size:2em;
}
.contentpaneopen hl {
font-size:1.5em;
border-bottom: Ipx solid #244223;
padding: lOpx;
252
Гпава 6
Как видите, мы перезаписываем некоторые стандартные Joomlal-стили вроде
.contentheading. В этом проявляется гибкость Joomla!: контент будет сгене-
рирован с использованием стандартных стилей.
Примечание
У Mozilla Firefox и Internet Explorer есть утилиты, отображающие стили, исполь-
зуемые Web-страницей. С помощью этих утилит вы можете узнать, какие стили
вам нужно изменить в вашем шаблоне. Для Firefox вам нужно загрузить расши-
рение Web Developer (https://addons.mozilla org/en-US/firefox/addon/60), а для
Internet Explorer— панель Developer Toolbar, которую можно скачать с сайта
Microsoft.
Выбор шрифтов
Выбор шрифтов — нелегкая задача. При выборе шрифтов для сайта нужно
руководствоваться не только вкусом, но и доступностью. Если вы выберите
шрифт вроде Smudger LET, сомневаюсь, что он будет установлен у большин-
ства посетителей Web-страницы. Конечно, если вы хотите, чтобы текст был
представлен с применением именно этого шрифта, можно представить текст
как картинку. Но с другой стороны это усложнит поддержку сайта (ведь при
изменении текста опять придется создавать картинку) и сделает сайт менее
дружественным по отношению к поисковикам, о чем было сказано
в разд. "Поисковые машины и CSS" ранее в этой г заве.
По сути, определения CSS подобны набору правил по отображению страни-
цы современным браузером. Одна из самых полезных функций CSS — под-
бор альтернативных шрифтов. Данная функция позволяет дизайнеру реали-
зовать задуманное, а пользователю — увидеть то, что задумал дизайнер. На-
пример, при разработке Web-страницы дизайнер решил использовать шрифт
Gill Sans МТ Condensed — сайт с ним лучше выглядит. Однако, если шрифт
недоступен браузеру посетителя (например, если пользователь зашел на
страницу, используя браузер мобильного телефона), страница будет отобра-
жена некорректно. Дизайнер может минимизировать эту проблему, используя
CSS Следующая строка задает альтернативные шрифты для выбранного ди-
зайнером шрифта:
font-family: Gill Sans МТ Condensed, Geneva, Arial,
Helvetica, sans-serif;
При отображении текста браузер сначала пытается найти шрифт Gill Sans
МТ. Если шрифт не найден, он попытается использовать шрифт Geneva
и т. д., пока не дойдет до самого простого шрифта — Sans-Serif. Вот еще один
пример задания альтернативных шрифтов:
font-family: "Times New Roman", Times, serif;
Создание собственных шаблонов
253
Шрифты семейства Serif имеют небольшие дополнительные линии на симво-
лах. Например, заглавная буква Т имеет две дополнительные линии, свисаю-
щие вниз от верхней линии, и еще небольшую линию в основании1. Шрифты
без этих графических дополнений называются Sans-Serif. Поэтому большин-
ство шрифтов можно разделить на два типа: Serif и Sans-Serif.
Возможно, вы заметили выбранные мною шрифты в стиле #page_bg (см. лис-
тинг 6.3):
font-family: Verdana, Arial, Helvetica, sans-serif;
Я хотел использовать шрифт семейства Sans-Serif для своего сайта, поэтому
выбрал шрифт Verdana— он довольно современный и хорошо читается. Од-
нако этот шрифт есть не на всех системах, поэтому я указал альтернативные
шрифты, которые наиболее близко похожи на выбранный мною шрифт.
Как только вы определитесь семейством шрифтов — Serif или Sans-Serif (вы
можете использовать оба семейства), вам нужно выбрать сами шрифты. Вы-
бор шрифтов и семейств шрифтов — это больше искусство, чем наука. Мой
вам совет: подражайте профессионалам!
Найдите Web-сайт, который, по вашему мнению, хорошо выглядит, и по-
смотрите, какие шрифты он использует. Примером современного дизайна (в
плане выбора шрифтов) может послужить сайт vvww.wired.com, поскольку
владельцы сайта уделяют много внимания дизайну сайта. Как только вы най-
дете понравившуюся вам модель сайта, сохраните страницу и все ее файлы на
ваш жесткий диск.
Совет
Для сохранения Web-страницы и связанных с нею файлов, я использую брау-
зер Mozilla Firefox. По неизвестным мне причинам у браузера Internet Explorer
часто наблюдаются проблемы с сохранением страниц на жесткий диск, когда
браузер отказывается сохранять страницу и сообщает, что страница не может
быть сохранена. Подобных проблем никогда не было в Mozilla Firefox.
Откройте каталог, в который вы сохранили страницу — в нем будут все фай-
лы страницы (картинки, рекламные баннеры и т. д.). Вы должны увидеть в
нем один или несколько CSS-файлов. Отройте CSS-файлы в текстовом редак-
торе и определите шрифты, используемые сайтом. Теперь вам осталось толь-
ко использовать эти шрифты в вашем сайте! У больших сайтов большая ау-
дитория, поэтому администраторы заботятся, чтобы сайты корректно ото-
бражались во всех браузерах, а посему при выборе шрифтов нужно
ориентироваться на большие сайты.
1 Эти линии называются засечками. — Ред.
254
Гпава 6
Создание графического баннера
Мы определились с цветовой схемой и выбрали шрифты для нашего сайта,
теперь настало время создать красивый графический баннер.
При обсуждении Web-дизайна всегда говорят о программе, стоящей на голо-
ву выше всех остальных: Adobe Photoshop. По этой программе доступно мно-
го pj ководств, для нее разработано много плагинов и, конечно же, у нее пре-
красная Web-поддержка. Однако, придерживаясь духа свободного и открыто-
го программного обеспечения, в этой книге для редактирования графики мы
будем использовать программу GIMP. GIMP почти такой же гибкий и мощ-
ный. как Photoshop, графический редактор. Да, у него нет некоторых рюше-
чек, как у Photoshop, но зато он бесплатный. На рис. 6.25 показан интерфейс
GIMP.
|а8ТО
Esalogo bmp-2
м
Файл Расш
Кисть
Непрозрачность1
_ 100/
Режим1
Нормальное
Кисти
Слои
Режим-
ft Чувствительность к нажиму
С Фиксированная длина штриха
Дополняющий
Норма гьное
Непрозрачность-
» г§п
П Использование цвета из градн> -
EDE
Кисти
Интервал
9 ’
®
ф Е 5
Ш & о
Рис. 6.25. Редактирование логотипа Joomla! с помощью GIMP
Инсталлятор GIMP (также известен как The GIMP) доступен на сайте
www.giinp.org Для работы GIMP нужна библиотека GTK+, которую необхо-
Создание собственных шаблонов
255
димо загрузить и установить отдельно. На сайте GIMP вы найдете подробные
инструкции, как это сделать.
Если вы умеете использовать Photoshop, то без труда разберетесь с редакти-
рованием изображений в GIMP, поскольку обе программы довольно похожи.
Если у вас уже есть Adobe Photoshop, возможно, вы уже знаете, как создать
баннер для заголовка сайта. Создайте баннер размером примерно 150 пиксе-
лов в высоту и 800— в ширину. Большинство браузеров отобразит такой
баннер без особых проблем.
GIMP
Файл
£г*а»ка
* Список дополнений
Список процедур
• Диспетчер модулей
Д Редактор единиц
Кисть
Непрозрачность:
Кнопки
Разное
Создать кисть
Темы Web-страниц
Утилиты
Шаблоны
&
Нормальное
Эмблем»
Режим;
Запустить сервер .,
Консоль Скрипт-Фу
Обновить скрипты
Кисти*
• lcirde(ll)
Ж Чувствительность к нажиму
С Фиксированная Длина штриха
Cj Дополняющий
С Использование цвета из гради»
Ifmgre-26..
SOTAXpoM...
TextQrcie...
Впукльй градиент...
Вырезанная...
Газетный текст...
Глянцевая..
Г орячее свечение.,.
Градиентная...
Ваг ловок web-страьмцы...
Звездная вспьшса...
Звездный фон...
Комикс...
Кристалл..
Ледяная...
Мел...
Неон...
Объемный контур..
Осколки...
Основа I...
Основа II...
Прохладный металл...
Пятнистая корова...
Скоростной текст..
След частицы...
Текстура..,
Хром...
Чужое свечение..
Чужой неон...
Рис. 6.26. Выбор сценария Хром для создания баннера
256
Гпава 6
При создании графики для вашего шаблона не стесняйтесь использовать лю-
бую возможность Photoshop. Если вы будете следовать какому-то руково-
дству, то вряд ли создадите что-то эффектное. Напротив, импровизация в
графических программах всегда давала хорошие результаты.
Для создания баннера с помощью GIMP выберите меню Расш. | Скрипт-Фу.
В подменю Скрипт-Фу вы найдете команды для запуска расширений (сцена-
риев) GIMP, которые используются для выполнения различных макро-
операций, автоматизирующих графические задачи. В подменю Эмблемы вы
найдете команды запуска различных сценариев для быстрого и простого соз-
дания баннеров-логотипов. На рис. 6.26 показано, что я выбрал сценарий
Хром для создания моего баннера.
Сценарий отобразит окно с многочисленными параметрами (аргументами),
позволяющими настроить будущий баннер. В большинстве случаев вам нуж-
но выбрать только цвет или текстуру и шрифт. На рис. 6.27 я ввел текст лого-
типа и изменил цвет фона, выбрал более темный цвет, подходящий для цве-
товой гаммы моего сайта.
Рис. 6.27. Установите параметры баннера
Когда вы нажмете кнопку ОК, будет запущен сценарий, который сгенерирует
баннер в соответствии с установленными параметрами Вот и все! Сгенери-
рованный мною логотип представлен на рис. 6.28.
Попытайтесь использовать остальные сценарии для создания логотипов, поч-
ти наверняка вы найдете тот, который больше всего подходит для вашего
сайта. Когда вы создадите ваш баннер, сохраните его в формате JPG или PNG
в каталоге \i mages вашего шаблона.
Впереди нас ждет наиболее важный шаг — создание главного файла
(index.php) вашего шаблона.
Создание собственных шаблонов
257
Рис. 6.28. После нажатия ОК вы увидите окно со сгенерированным логотипом
Создание файла index.php
Файл index.php — главная часть вашего шаблона, содержащая всю логику
шаблона. В большинстве случаев, поскольку описание внешнего вида сайта
производится в CSS-файле, index-файл шаблона довольно прост. Если вы не
собираетесь добавлять пользовательские функции (или Ajax-функцио-
нальность), у большинства созданных вами в будущем шаблонов будет файл
index.php, идентичный созданному в этом разделе (хотя в других шаблонах
могут использоваться другие модули).
PHP-файл шаблона очень напоминает обычный HTML-файл, просто в него
добавлены управляющие директивы. Посмотрите на фрагмент файла шабло-
на по умолчанию — он очень напоминает обычную HTML-страницу:
<?php echo ' <?xml version="1.0" encoding="utf-8"?' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtmll/DTD/xhtmll-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
lang="<?php echo -LANGUAGE; ?>"
xml:lang="<?php echo -LANGUAGE; ?>">
<head>
<jdoc:include type="head" />
Обратите внимание: страница открывается декларацией ! doctype. Тег doctype
описывает стандарт и схему, которые должны быть применены для обработ-
ки файла. Также он говорит браузеру, как обрабатывать CSS. Вообще этот тег
не обязательный, но с его помощью вы сможете предотвратить много про-
блем совместимости при отображении браузером страницы.
Внимание!_________________________________________________________
При создании нового файла шаблона убедитесь, что вы полностью скопирова-
ли тег doctype из Joomlai-шаблона по умолчанию. Тег doctype в файле шабло-
на был тщательно протестирован. Не изменяйте его, поскольку ошибки в этом
теге могут стать причиной многочисленных и трудноопределимых проблем
9 Зак 468
258
Гпава 6
После тега doctype следует тег html. В тег html включен РНР-код, добавляю-
щий атрибут language перед отправкой страницы в браузер.
Тег jdoc запускает часть Joomla! CMS, написанной на РНР. В любой версии
Joomla!, начиная с 1.5, интерфейс jdoc (JDocument) используется для получе-
ния доступа к Joomla!. JDocument управляет выводом представления (дизай-
на) Joomlal-системы. С помощью jdoc вы можете подключить любой модуль
в любое место страницы, используя синтаксис jdoc:include. Например, для
добавления левосторонних1 модулей вам нужно использовать следующую
инструкцию:
<jdoc:include type="modules" name="left" />
Примечание
В старых шаблонах нужно было использовать префикс mos. Joomla! изначально
была основана на Mambo CMS. Mambo обычно использовала префикс mos (со-
кращение от Mambo Open Source) Поэтому вы все еще можете столкнуться со
старым кодом, совместимым с предшественником Joomla!. Хотя в настоящее
время Joomla! неспешно отходит от старого кода. Например, в старых версиях
шаблонов Joomla!/Mambo использовались функции вроде mosLoadModules()
иmosCountModules(). Теперь они заменены вызовами jdoc: jdoc:include и
jdoc: exists соответственно.
Очень важно включить head-код в раздел заголовка вашего шаблона:
<head>
cjdoc:include type="head" />
</head>
Данный код сгенерирует общий заголовок Joomla!. Заголовок также позволя-
ет определить, редактируется ли в данный момент запрашиваемая статья. Ес-
ли статья редактируется, в страницу будет вставлен код выбранного Joomla!-
редактора.
Введите код, приведенный в листинге 6.4, и сохраните его в файле с именем
index.php в корневом каталоге шаблона. Это и будет ядро вашего шаблона.
<?php echo '<?xml version="l.0" encoding="utf-8"?1 ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtmll/DTD/xhtmll-transitional.dtd">
<html xmlns="http://www.w3.org/19 9 9/xhtml"
lang="<?php echo _LANGUAGE; ?>"
xml:lang="<?php echo _LANGUAGE; ?>">
1 Чтобы избежать слова "левых". — Пер.
Создание собственных шаблонов
259
<head>
<jdoc:include type="head" />
clink rel="stylesheet" href="teinplates/_system/css/general.css"
type-"text/css" />
clink rel="stylesheet" href="teinplates/
c?php echo $this->template ?>/css/template.css"
type="text/css" />
c/head>
cbody id="page_bg">
cjdoc:include type="message" />
cdiv id="logo"> c/div>
cdiv id=”coll">
cjdoc:include type="modules" name=,'left" style="xhtml" />
c/div>
cdiv id="col2">
cjdoc:include type-"component" />
c/div>
cjdoc:include type="modules" name="debug" />
c/body>
c/html>
Хотя этот код напоминает код созданного нами ранее шаблона Hello Joomla!,
он содержит ряд усовершенствований, превращающих его в настоящий файл
шаблона. Тег doctype и возможность указания языка является критической
для соответствия HTML-стандартам. Кроме того, наш шаблон использует две
таблицы стилей (CSS-файлы): основные стили Joomla! и файл стилей, соз-
данный ранее (см. листинг 6.3).
Файлы стилей очень важны, поскольку в них описаны стили элементов <dev>,
используемые для отображения столбцов с контентом. В левом столбце будет
отображены модули, а в правом (или главном) — контент статьи.
Вот и все. Ваш файл шаблона предельно прост, но понятен. Теперь нужно
создать файл метаданных, чтобы Joomla! знала, какие файлы принадлежат
шаблону.
Создание файла templateDetails.xml
Последний этап разработки шаблона — это создание файла с метаданными.
Введите код, представленный в листинге 6.5, и сохраните его в файле
templateDetails.xml в корневом каталоге шаблона.
В этом файле гораздо больше элементов, чем в первом нашем файле. В файл
была добавлена информация о лицензии и авторских правах.
260
Гпава 6
Листинг 6.5. Файл templateDetails.xml содержит указатели
на все используемые шаблоном файлы
<?xml version="1.0" encoding="utf-8"?>
<install version="1.5" type="template">
<name>Two Column template</name>
<version>l.0</version>
<creationDate>01/18/2007</creationDate>
<author>Dan Rahmel</author>
<authorEmail>admin@Joomla!Jumpstart.com</authorEmail>
<authorUrl>http://www.Joomla!Jumpstart.com </authorUrl>
<copyright>2007</copyright>
<license>GNU/GPL</license>
<description>
Two CSS columns in the Joomla! world.
</description>
<files>
<filename>index.php</filename>
<filename>templateDetails.xml</filename>
<filename>images/LSlogo.jpg</filename>
<filename>css/template.css</filename>
</files>
<positions>
<position>left</position>
</positions>
</install>
Установка шаблона
Сейчас у вас готовы все файлы и каталоги шаблона. Чтобы установить шаб-
лон с помощью интерфейса администратора, нужно сжать их в ZIP- или TAR-
архив. Перейдите в каталог шаблона и заархивируйте только файлы и катало-
ги, которые в нем содержатся Если вы используете WinZIP, убедитесь, что
включен параметр Include folders and paths (Включить папки и пути) для
создания необходимой для правильной работы структуры каталогов.
Архивный файл с шаблоном можно распространять любым удобным для вас
способом. Фактически, вы можете создать и распространять собственные
шаблоны, которые будут использоваться другими администраторами Joomla!.
Для установки шаблона выберите Расширения | Установить/Удалить
(рис. 6.29).
Создание собственных шаблонов
261
I Joomla JumpStart
Саш Все меню
Материалы Компоненты Расширения Инструменты Помощь
Дсбавить
.л аермлл
.1
п
I ла
_wt. "
Все па гнилы
Устанйвмть/Удалить
Менеджер модулей
Менеджер плагинов
Менеджер шаблонов
Менеджер язь ков
to Joomla!
on choosing Jot
эт. We hope you are ab e t
*ogram and maybe you wll
ommunity later
Разделы
i
Категории
Медиа
менеджер
To make your start with Joomlai
give you some po nters to docur
help on secur ng your server. A
Beginners Gude to J» i nW.
For you most common question
Рис. 6.29. Команда Расширения | Установить/Удалить
позволяет установить новый шаблон
Предварительный просмотр шаблонов
Вы можете предварительно просмотреть любой шаблон, установленный в
системе. При предварительном просмотре модулей показывается расположе-
ние модулей на странице сайта.
Для предварительного просмотра откройте Менеджер шаблонов. Затем
щелкните на названии шаблона, чтобы открыть окно параметров шаблона.
В появившемся окне нажмите кнопу Просмотр. Если вы откроете предпро-
смотр только что созданного шаблона, то увидите всего два модуля, которые
мы определили в коде шаблона. Для сравнения откройте шаблон по умолча-
нию (рис. 6.30), у которого много элементов страницы.
Экран предварительного просмотра— отличная точка отсчета, если вы со-
брались изменить существующий шаблон. Он отображает структуру страни-
цы шаблона. Эту структуру иногда сложно представить, глядя только на ис-
ходный код шаблона.
Взгляните на окончательную версию нашего шаблона (рис. 6.31): видно, что
мы проделали много работы по сравнению с шаблоном Hello Joomla!. С дру-
гой стороны, это только небольшой шаг от базового шаблона к полноценному
шаблону вроде шаблона rhuk milkway. Большая часть оставшейся работы
заключается в редактировании файлов стилей и создании дополнительной
графики. Зато Joomla'.-интерфейс jdoc возьмет на себя всю рутинную работу
по отображению всего сайта.
262
Гпава 6
Joomla Jumpstart
1ср ЮПВС1 irtf
О Joomta Jumpstart
Feature^** [noneur ! ^ijrhsCommunity
Ьгв*(1СЦ|ГТ|»|ПОПЬ CU n-
Пароль
txnt-nl ouIIhtpI |
! • Заголовок статьи
Welcome to the Frontpage
Условия использования сайта S’ J
Аьтоя: AUftA-ii^jia
'7jO4 24»»- 25
Условия испольмж)нмяои1а
Запомнить меня О
Логин
Забыли
пароль?
Забыли логин?
Ofl - „• 421 •
Тест <h S -J
ABTCJJ • UTuilnjtOt
I д1чЦкР»* ] mttinsj p
jCewac 1 гость онлайн
| * jh7 outing f fit
•Featured Links
•Joomlai
JoomW The moat popular and
I widely used Open Source
; CMS Project in the work!
; JoomlaCode
° JootmaCoda, devetopmert
: and ctatribilen made easy
! Joonrial Extensions
! Joomlai Components
Рис. 6.30 Кнопка Просмотр показывает все модули и расположение компонентов
Рис. 6.31 Заключительный шаблон выглядит минималистично,
но вполне профессионально
Проверка кода шаблона
Каждый раз после создания нового шаблона стоит проверить его HTML-код,
чтобы убедиться, что он соответствует действующим стандартам.
Создание собственных шаблонов 263
Для проверки HTML-кода вы можете использовать онлайн-утилиту от W3C,
которая просканирует сайт по заданному URL и вынесет вердикт относи-
тельно кода сайта. Зайдите на следующий сайт и введите URL страницы, ко-
торую вы хотите проверить:
http://validator.w3.org
Вы также можете использовать обычное (не онлайн) приложение вроде CSE
HTML Validator. Данная программа умеет проверять код HTML, XHTML,
CSS, доступность сайта, доступность ссылок и даже правописание. Данная
программа особенно вам пригодится для проверки локального сервера, к ко-
торому нет доступа извне, и вы не можете указать его URL. Программа CSE
HTML Validator бесплатно доступна для загрузки по адресу:
http://download8.htmlvalidator.com/cselite.exe
Резюме
Основываясь на полученных в этой главе знаниях, вы можете создать прак-
тически любой Joomlai-шаблон, вы будете ограничены только своими зна-
ниями дизайна, знаниями РНР и CSS. Вы изучили структуру шаблона Joomla!
и знаете несколько важных директив Joomla!. Фактически, большинство
Joomlal-шаблонов используют только директивы, рассмотренные нами в этой
главе.
Мы рассмотрели основы CSS и некоторые полезные утилиты вроде
Dreamweaver, jEdit и Leo, которые помогут вам при работе с шаблонами.
Изучая шаблоны по умолчанию, вы скоро сможете создать собственный шаб-
лон с нуля Также нами был разработан RGB/HSB-конвертер, который приго-
дится во многих проектах.
Теперь ваш сайт достаточно привлекателен для посетителей и вам осталось
только сделать из него настоящий магнит, притягивающий новых посетите-
лей. В следующей главе мы поговорим о расширениях Joomla!, позволяющих
увеличить функциональность вашего Web-сайта.
ГЛАВА 7
Расширения Joomla!
Одна из бесспорных причин популярности Joomla! — широкий спектр дос-
тупных расширений. С помощью модулей, компонентов и плагинов вы може-
те добавить на сайт практически любую функцию.
Вы можете добавить разные популярные функции, например, корзину для
заказов товаров через ваш сайт, RSS, форум, чат, карты посетителей, воз-
можность совместной работы над страницами в стиле wiki, возможность
управления товарами и работой с клиентами (CRM, Customer Relationship
Management). По сути, вы можете добавить абсолютно любую Web-
ориентированную возможность в Joomla!. Огромное количество расширений
доступно на главном сайте Joomla! по адресу: http://extensions.joomla.org.
Почти 80% доступных расширений бесплатны — вам нужно просто загрузить
расширение с Web и увеличить возможности вашего сайта. Лучший способ
узнать больше о расширениях— изучить расширения, устанавливаемые по
умолчанию при установке Joomla!. Изучив администрирование существую-
щих расширений, вы сможете понять, как управлять новыми расширениями,
которые хотите использовать.
Разница между модулями, компонентами
и плагинами
Часто начинающие пользователи не могут понять разницы между типами
расширений. Поскольку имеются три разных типа расширений и их функции
могут иногда пересекаться, очень важно знать их возможности и фундамен-
тальные различия между ними. Много Joomlal-пакетов могут использовать
несколько типов расширений, что еще больше сбивает с толку пользователя
Например, пакет голосования использует модуль для отображения пользова-
тельского интерфейса, но для администрирования используется компонент.
266
Глава 7
В каталоге расширений Joomla! для каждого расширения выводится его тип.
На рис. 7.1 показаны два расширения. Первое, joomlaXplorer, является только
компонентом (см. пиктограмму, информирующую о том, что перед нами
компонент). Пакет второго расширения (Joom!Fish) содержит несколько ти-
пов расширений (компонент, модуль, плагин и языковое расширение).
Languages (78)
Mscefanews (141)
Search & Indexing (64)
Tools 03
Vertscai Markets (24)
WYSIWYG Editors (12)
Username
I-------------
Password
I-------------
Remember гпе
login J
Lost Password’
No account yet? Register
Who’s Onto©
foomlaXptorer ШВДШИЗ OH
GCE3GG 212 votes - 5€ reviews
joomfaXptorer is a Fte- and FTP - Ifetf IrvYrJmrVnL
Manager, ft atows you to edit files, *** r «-«/Л
delete, copy, rename, archive and
unpack ffes/dtf ectcnes dir ecth on your server. You can - Bgj
& Rfes - Edit, Copy, Move and Delete files • Search, Lp|
fles - Ceate new files and directories - Change file
much more This script is based on QuiXptorer
http://qutxpk}rer Sourceforge let,’)
(chmod)and
We have 659 guests and
69 members onto©
гигтиМ!
Directory Support
• Rules
• Using this Site
DiscJamw
гэиэпж лги - . ws
• • -! ««than»? -. -
Categx }. Fie Management | GMJG?".
httpJ/devetaper.ioCTria srg/sf/pro^^
.. | Updated lOfoursago
Views: 146,394
Joora*Ftsh -
C5CDGEJ 102 votes - 23 renews
to be compatible with the
The JoorrtFsh project 6 the cfifcel add-on for
managing multtngual content withr the
content management system Joomla!. The
project which was fiorrealy known as
Mambef tsh h rewutten and enhanced d order
new versions of the Joomlai project The )oom?Feh e an add-on
component for Joomfe! which stows you to maintain and organce your
manual translated content n your Joomlai database. The key features of
the fish are: ” Possbity for ar unknited amount of languages • Possbtty to
MANUAL translate al dyn ...
Category: Mufc-irguaa Content | Other open source f Free terse •
trttpJ/fcyge.yxxriB ag^ifmMv’to/newR-ojec... | Updated 273 days ©go
Vewti-74 566
CHWJHwH
Рис. 7.1. В правой колонке выводится тип расширения
Комбинированные пакеты расширений встречаются довольно часто: обычно
в пакете как минимум два разных расширения. Чтобы понять, как все эти ти-
пы расширений работают вместе, лучше всего начать с самого сложного ти-
па — плагина.
Плагины: самые сложные расширения
Плагины являются самыми сложными расширениями, поскольку интегриру-
ются в Joomla! на самом низком уровне. Плагин работает между Joomla! и
пользователем, как показано на рис. 7.2. Плагины активируются различным
событием сервера (системным событием, пользовательским событием, собы-
тием редактора и событием контента). Плагин может перехватывать вывод
Joomla! и вносить в него изменения до того, как данные будут отправлены в
браузер. С другой стороны, плагин может обрабатывать любые данные, по-
Расширения Joomla!
267
лученные от пользователя перед отправкой их CMS. Это означает, что плагин
может изменять входящие и исходящие данные.
Рис. 7.2. Плагин расположен между Joomla! и браузером
Наиболее "видимый" тип плагинов — WYSIWYG-редакторы. Контент статьи
хранится в базе щнных Joomla! в чистом HTML-коде. Если редактор не вы-
бран, HTML-код будет отправлен в текстовое поле для редактирования поль-
зователем. Однако, если плагин редактора выбран, HTML-код будет перехва-
чен плагином и конвертирован в "богатое" текстовое поле, содержащее кноп-
ки форматирования, выбора цвета, вставки картинок и др.
Пользователь может редактировать контент статьи в WYSIWYG-среде. Когда
пользователь нажмет кнопку Сохранить, данные, возвращенные в систему,
будут перехвачены плагином, который конвертирует их обратно в HTML-код
и передаст Joomla! для хранения в базе данных. Это простое объяснение на
примере Joomlal-редакторов описывает весь процесс работы плагинов.
Вы можете использовать уже существующие плагины для вашего сайта, но
если вы амбициозны, то будете разрабатывать собственные плагины. С дру-
гой стороны, ничего сложного в этом нет, и практически любой пользователь
может создать базовый модуль или компонент.
268
Гпава 7
Компоненты и модули
Компонент считается более мощным расширением. Модуль может выполнять
много функций, а компонент— все, что может модуль, и кое-что еще. Вот
что вам нужно знать, чтобы почувствовать разницу между компонентами и
модулями.
♦ Традиционно, модуль используется только для отображения информации
или же для минимального взаимодействия с пользователем. Например,
модуль может отображать курсы валют или же использоваться для голо-
сования на сайте. Компонент может отображать статьи, изменять стиль
страницы, редактировать содержимое статьи (если есть соответствующие
полномочия) или предоставлять полноценный пользовательский интер-
фейс (например, быть форумом или доской объявлений).
♦ Модуль загружается в одну из заранее определенных в шаблоне позиций
(например, вверху, слева, справа). Модуль входа, модуль поиска и модуль
баннеров прекрасные тому примеры. Компонент, напротив, обычно зани-
мает всю страницу. Наиболее часто используемый компонент— компо-
нент главной страницы (называется com frontpage), отображающий ввод-
ный текст одной или нескольких статей с учетом форматирования. На од-
ной странице может быть только один компонент, в то время как
страница может содержать одновременно несколько модулей. Компонент
можно представить как генератор страницы, в то время как модуль — это
простой виджит (элемент интерфейса пользователя).
♦ В интерфейсе администратора для модуля обычно можно задать всего не-
сколько параметров. Интерфейс настройки компонентов обычно сложный,
содержит несколько вкладок, что позволяет полностью настроить функ-
ционирование и внешний вид модуля.
Это базовые различия между модулями и компонентами. Посмотрите на
рис. 7.3, на котором изображена страница предварительного просмотра глав-
ной страницы сайта. Предварительный просмотр позволяет увидеть располо-
жение модулей (user3[], breadcrumb [], left [rounded] и т. д.). Обратите вни-
мание: центральная часть страницы занята компонентом, отображающим
контент, при этом над компонентом не выводится позиция модуля (хотя я
выделил компонент на рисунке).
Модули появляются в четко определенных местах страницы, поэтому ссылка
меню никогда не может быть связана с модулем. Но вы можете создать ссыл-
ку меню, указывающую на компонент: как только пользователь щелкнет по
ней, в центральной части страницы будет отображен соответствующий ком-
понент.
Компоненты и модули очень часто используются вместе: компоненты зани-
маются конфигурацией и выводом, а модули только отображают информаци-
Расширения Joomla!269
онную панель. Например, модуль может отображать поле поиска, а компо-
нент— выполнять сам поиск и отображать результаты поиска. Подобный
способ взаимодействия используется довольно часто. Например, модуль
Banners отображает баннер, а компонент Баннер позволяет создавать банне-
ры и управлять ими.
Понятно, что модули — самые простые расширения Joomla!, поэтому сначала
мы рассмотрим модули, а потом все остальные расширения.
Рис. 7.3. Экран предварительного просмотра показывает расположение модулей
Типы модулей
Чтобы понять, как модули работают в Joomla!, вам нужно сначала разобрать-
ся с типами модулей. Модули, показанные в Менеджере модулей, — это ин-
станции (примеры), созданные от различных типов модулей. Во втором спра-
ва столбце в списке модулей отображается тип каждого модуля.
Тип модуля можно сравнить с шаблоном сайта. Шаблон сайта используется в
качестве пустой формы, заполняемой во время создания документа. Типы
модулей работают, как шаблоны, на основании которых создаются примеры
модулей. Например, в списке модулей вы найдете тип mod mainmenu. Этот
270
Гпава 7
тип является базой для всех меню в Joomla!, а отдельные примеры содержат
параметры каждого меню.
Когда вы устанавливаете модуль в системе, вы, на самом деле, устанавливае-
те не модуль, а новый тип модуля. Joomla! автоматически создает первую ин-
станцию установленного типа модуля — запись, которую вы увидите в Ме-
неджере модулей.
Менеджер модулей показывает список всех доступных в системе инстанций
модулей. Если вы нажмете кнопку Новый, то увидите список типов модулей
(рис. 7.4), на основании которых были созданы существующие модули. После
выбора типа модуля нужно будет указать параметры создаваемого модуля.
Модуль: [Новый] О Q М
След Отменить Помошь
Сайт Administrator
Модули
Материалы в архиве Баннер
Навигатор сайта С Произвольный HTML-код
Лента новостей (RSS/RDF) С* Нижний колонтитул
Hello From С Последние новости
Войти С" Меню
Самые читаемые Случайная новость
Голосование С Произвольное изображение
f Похожие материалы С Поиск
Разделы С Статистика
Syndicate С" кто онлайн
VWapper
Рис. 7.4. При создании нового модуля нужно выбрать
один из существующих в системе модулей
Имена типов модулей стандартизированы: все они начинаются префиксом
(modj), после которого следует имя модуля, пробелы в имени типа не допус-
каются, а все буквы должны быть строчными (’’маленькими”). Имена инстан-
Расширения Joomla'271
ций модулей, наоборот, могут содержать пробелы и символы любого регист-
ра. Столбец Тип в Менеджере модулей отображает тип модуля, на основании
которого была создана инстанция модуля.
Модули по умолчанию
Модули сайта, созданные по умолчанию при установке Joomla!, перечислены
в табл. 7.1. Обратите внимание: на сайте может быть много меню, но все они
принадлежат к одному типу модуля. Поэтому, когда вы создаете новое меню,
вы создаете модуль, который будет управлять конфигурацией и отображени-
ем элементов меню.
Таблица 7.1. Модули, устанавливаемые по умолчанию при инсталляции Joomla!
Модуль Описание
All Menus Организует вертикальные и горизонтальные меню
Archive Управляет списком контента, который был перемещен в архив
Banner Отображает рекламный баннер. Вы можете указать определенный ID клиента или же выбрать автоматическую ротацию баннеров
Latest News Предоставляет список последнего контента в указанной категории
Login Выводит форму для ввода логина и пароля
Newsflash Выводит случайный материал из указанной категории
Polls Позволяет организовать онлайн-голосование с сохранением резуль- татов в базе данных MySQL. Управление модулем производится с помощью специального компонента, а в настройках самого модуля вы найдете только один параметр — суффикс стиля
Popular Выводит список наиболее популярного контента указанной категории
Random Image Выводит случайную картинку из указанного каталога с картинками
Related Items Выводит контент, связанный с отображаемым в данный момент кон- тентом
Search Выводит поле ввода, в которое пользователь может ввести фразу для поиска по сайту
Sections Показывает общий список разделов сайта
Statistics Показывает статистику текущего Joomlal-сервера
Syndication Позволяет посетителю подписываться на новостные ленты RSS и Atom
Weblinks Выводит список ссылок, добавленных пользователями
Who's Online Отображает количество гостей и количество зарегистрированных пользователей или же имена зарегистрированных пользователей (по желанию администратора)
272
Глава 7
Таблица 7.1 (окончание)
Модуль Описание
Wrapper Показывает внешний HTML-контент (с другого сайта) в iFrame-окне Используется, если вам нужно отобразить контент другого сайта в дизайне вашего сайта
Функции большинства модулей понятны из названия модулей (например,
модуль Search). Но функции некоторых модулей не очевидны, поэтому мы
рассмотрим их подробнее.
Примечание переводчика_________________________________
Названия модулей даже в русской версии Joomla! английские.
Модуль Wrapper (mod_wrapper)
Модуль Wrapper предоставляет мощные средства плавного перехода суще-
ствующего сайта на Joomla!. позволяя отображать старый контент перед его
импортом в базу данных Joomla!. Этот модуль позволяет выводить заданный
URL в фрейме Joomlal-сайта. Другими словами, модуль как бы "внедряет"
другой сайт в вашу Web-страницу. На рис. 7.5 я, используя модуль Wrapper,
инкапсулировал сайт Coherent Visual в столбец u^eri моей главной страницы.
Wtr a ifcrary g! hundreds ct het extensions you can add you need as your ate grows Doni
wat hxk ttuoujjh the J : jftm) rr Ln - г<му
MKHttJearMl ieebjee News ПигСмчпмЙу
Hone
SMtt'Cll
t.*r ? Coherent Visual
Populat
Рис. 7.5. Внешняя Web-страница отображается во фрейме вашего сайта
Расширения Joomla!273
У модуля Wrapper есть всего несколько важных параметров, которые вам
нужно установить (рис. 7.6). Параметр Url наиболее важен, поскольку он оп-
ределяет местонахождение внешней страницы. В качестве данного параметра
можно указать относительный адрес, если контент находится на вашем Web-
сервере, или полный URL, если вам нужно получить контент удаленного
сайта.
Полосы прокрутки Г Нет Да Авто
ИЬ рина [юо«
Высота 200
-------------*
Авто подбор высоты С нет Де
Авто добавление С нет До
Tai get
► Расширенные параметры
Рис. 7.6. Параметры модуля Wrapper определяют, как должен быть показан контент
Параметр Суффикс класса модуля позволяет установить ваш собственный
суффикс стиля (для стилей, сохраненных в CSS-файле), который будет ис-
пользоваться этим модулем. Другие параметры (Полосы прокрутки, Шири-
на, Высота, Авто подбор высоты) определяют внешний вид Joomlai-
страницы. Включение параметра Автодобавление (значение Да) добавит
префикс http:// или https:// к введенному URL, если URL не содержит имени
протокола. Параметр Target устанавливает имя фрейма iFrame.
Модуль Wrapper создается по умолчанию при установке Joomla! из типа
modwrapper. Вы можете создать собственные wrapper-модули, нажав кнопку
Новый в Менеджере модулей и выбрав тип mod_wrapper.
Модуль Random Image (mod_randomjmage)
Модуль Random Image отображает случайную картинку из указанной вами
папки. Данный модуль полезен для отображения случайного баннера Мо-
дуль довольно важен для частых посетителей — они будут видеть, что сайт
постоянно обновляется, и будут заходить на него чаще. Также этот модуль
274
Глава 7
можно использовать для показа рекламных баннеров, но для этого лучше ис-
пользовать модуль Banners, который мы рассмотрим чуть позже.
Параметры модуля Random Image показаны на рис. 7.7. Параметры Тип
изображения и Папка изображений определяют, как будут получены кар-
тинки. Параметр Ссылка задает гиперссылку для отображаемой картинки, а
параметр Суффикс класса модуля — пользовательский стиль из CSS-файла.
Рис. 7.7. Параметры модуля Random Images определяют,
откуда нужно брать картинки и как их нужно показывать
Для тестирования модуля укажите каталог /images/stories и тип картинок png.
Выберите позицию модуля right для отображения модуля справа. Чтобы мо-
дуль отображался на всех страницах, выберите опцию Все. Вам осталось
только определить порядок появления модуля1. Теперь нужно проверить мо-
дуль. С установленными параметрами модуль будет отображен на главной
странице 1оот1а!-сайта (на заданной позиции и в указанном порядке).
Как и в случае со всеми модулями по умолчанию, модуль Random Image —
это инстанция типа mod random image. Вы можете создать новые модули
этого типа с помощью Менеджера модулей.
Модули Banners и Advertisement
Модули Banners и Advertisement (оба модуля типа mod banners) управляют
баннерными кампаниями, созданными с помощью компонента Banners Ко-
гда мы будем рассматривать компоненты, то поговорим о создании реклам-
ных кампаний с помощью Joomla!. Сейчас же мы рассмотрим параметры
модуля Banners.
' Параметр Сортировка. —Пер.
Расширения Joomla'275
На рис. 7.8 представлены параметры, влияющие на отображение баннера. Па-
раметр Количество задает количество баннеров, которые будут показаны за
один раз. Параметры Клиент баннера и Категория позволяют выбрать рек-
ламную кампанию, созданную с помощью компонента Banners. Параметр
Искать по тегам — очень мощная опция, позволяющая выводить баннеры,
соответствующие тегам (ключевым словам) отображаемой статьи. Теперь
бейсбольные баннеры будут показаны на бейсбольных страницах, а футболь-
ные баннеры — на футбольных страницах.
Рис. 7.8. Параметры модуля Banners
Параметры Порядок отображения, Текст заголовка, Нижний колонтитул
управляют внешним видом модуля На рис. 7.9 я разместил баннер в верхней
части страницы, а также добавил нижний и верхний колонтитулы. Обратите
внимание: в этом шаблоне текст нижнего баннера немного обрезан, но вы
можете изменить шаблон для корректного отображения нижнего колонтитула
баннера.
276
Гпава 7
Рис. 7.9. Модуль Banners отображается в верхней части страницы
с установленными колонтитулами
Модуль Breadcrumbs (mod_breadcrumbs)
Модуль Breadcrumbs (рис. 7.10) отображает навигационную строку — путь к
текущей странице сайта. Модуль может использоваться для быстрого пере-
хода вверх по иерархии сайта. Модуль полезен не только для пользователей,
но и для поисковых машин, которые правильнее проиндексируют ваш сайт.
Рис. 7.10. Модуль Breadcrumbs отображает путь к текущей странице сайта
Параметры модуля Breadcrumbs (рис. 7.И) в основном относятся к отобра-
жению пути. Переключатель Главная определяет, будет ли показан самый
верхний уровень (Ноте) иерархии. Параметр Разделитель текста позволяет
вам переопределить разделитель по умолчанию (► ►).
Параметры
▼ Параметры модуля
Главная С нет <• Да
Текст главной страницы Нот*
Разделитель текста
Суффикс класса модуля
* Расширенные параметры
Рис. 711 Параметров у модуля Breadcrumbs немного
Расширения Joomlai
277
Модуль Syndication (mod_syndicate)
Модуль Syndication создает новостную ленту для страницы, на которой он
расположен. Новостные ленты (наиболее часто используются RSS и Atom) —
это технологии, обеспечивающие автоматическое разделение контента с дру-
гими пользователями и другими Web-сайтами. Если у сайта есть новостная
лента, это означает, что где-то на Web-сервере есть файл, действующий как
оглавление самых последних статей сайта.
Для чтения данного файла нужна специальная программа— агрегатор. Это
может быть как обычное настольное приложение, получающее новости с раз-
ных сайтов и отображающее самые последние статьи, так и онлайн-
приложение, получающее новости с разных сайтов и публикующее их на
другом сайте (конечно, с соответствующими атрибутами). Популярным Web-
агрегатором (онлайн-агрегатором) является Bloglines (www.bloglines.com).
Кроме того, агрегаторы уже встроены в современные браузеры— Internet
Explorer 7, в Mozilla Firefox (функция Live Bookmark), Mozilla Thunderbird
(команда New Account | RSS News & Blogs).
Модуль Syndication автоматически генерирует новостную ленту по статьям
Joomlal-сайта, на котором он запущен. Модуль отображает специальную
ссылку на файл новостной ленты (рис. 7.12).
eJ
Рис. 7.12. Ссылка на новостную ленту
Если вы исследуете файл новостной ленты (рис. 7.13), то увидите, что оглав-
ление вашего сайта сохраняется в XML-файле в формате RSS или Atom.
В Менеджере модулей вы можете выбрать формат новостной ленты (RSS или
Atom). Хотя я рекомендую использовать RSS, вы можете использовать любой
формат. Также в настройках этого модуля вы найдете опции, влияющие на
его внешний вид.
Модуль Feed Display (mod_feed)
Модуль Syndication используется для публикации RSS-лент для других сай-
тов, а модуль Feed Display, наоборот, позволяет на вашем Joomlal-сайте пуб-
ликовать новости других сайтов. На рис. 7.14 я подписался на новости CNN и
278
Гпава 7
Рис. 713 Новостная лента в формате RSS (XML-файл)
Ads by «toortai
। юдрэонее “
Feed Your Brain with...
Books front the Joomla! Shop
© 2000 Joomla JumpSlart Все права защищены
Joomiai — свободное программное обеспечение, распространяемое по
лицензии GMUWL. Сборка - SEC Joomla
Feed Display
CNN com
CNN com delivers up-to the-
mlnute news and information
on lhe latest top stories,
weather, entertainment,
politics and more.
CINNI.com.
• Japan prepare tor
Olympic torch relay
The Olympic flame
arrived in Tol<yo Friday
morning from Australia
alter completing a
relay in Canberra only
marginally plagued by
antr-China protests
Рис. 7.14. Модуль Feed Display показывает три последних новости
прямо на вашей Joomlai-странице
Расширения Joomla!
279
с помощью модуля Feed Display вывел три последних статьи в правой части
страницы.
Настройка модуля Feed Display предельно проста. Найдите сайт, предостав-
ляющий RSS- или Atom-ленту своего контента (об этом обычно свидетельст-
вует специальная пиктограмма на главной странице). Скопируйте адрес
ссылки новостного файла. Этот адрес нужно установить в настройках модуля
в качестве значения параметра URL ленты RSS (рис. 7.15), после этого вы
сможете получать новости другого сайта на вашем Joomlal-сайте.
П« рлметры
Параметры модуля
Суффикс класса модуля
URL Ленты RSS http.//rss.cnn.com7rss/edition нз
RTL лента
Заголовок ленты
Описан» е ленты
Июбраженне ленты
Материалы
Описание материала
г Да f Нет
₽ Да Г Нет
Да Нет
Да г Нет
<* Да Нет
Количество слов О
► Расширенные параметры
Рис. 7.15. Для работы модуля достаточно установить всего один параметр —
URL ленты RSS
Модули Main Menu, Key Concepts, User Menu,
Examples Pages, Top Menu и Resources
(mod_mainmenu)
Все меню, отображаемые Joomla!, ассоциируются с модулем, который на са-
мом деле и отвечает за вывод самого меню. Все меню Joomla! основаны на
типе модуля modmainmenu. При установке Joomla! будет автоматически
создан модуль Main Menu — инстанция от типа mod mainmenu. Этот модуль
используется на главной странице и не может быть удален из системы.
Большинство параметров типа mod mainmenu влияет на отображение меню
на странице (рис. 7.16). Для большинства сайтов подходят параметры по
умолчанию, но доступно много опций, позволяющих полностью контролиро-
вать меню без изменения кода.
280
Гпава 7
Параметры
Параметры модуля
Параметры
• Параметры модуля
Название меню
Стиль меню
Начальны 1 уровень
Последили уровень
Назначен ie Target
Всегда пока «ывагь
вложенные подпункты
► Расширенные параметры
Устаревшие параметры
Покать ватьмконкн
<• Н
меню
Выравнивание картьнкм
меню
Раскрывать меню
Активировать родителя
Полное активное
выделен те
Слева Г Справа
Нет Г" да
Нет Да
Нет Г* да
► Расширенные параметры
► Устаревшие параметры
Выравннван те картинки
[шаблон
Вь равиивание кари кки
Использоить по умолчанию
Выравнивание картинки
2
I Использозать по умолчанию - V
Вь равн 4 ванне картн <ки |------------------------
3 I 'Использовать по умолчанию
Выравнт в< н те картинки
4
[- Использовать по умолчанию
Вь равнмван те картн> км г,............— — —
5 Г Иснсльоовать по умолчанию
Вь р«внив ние картинки [-----------------------------
С I * Использовать по умолчанию -
Раздел пель
Разделитель
Рис. 7 16. Вы можете изменить любые параметры mod_mainmenu: от стиля до иерархии
Примечание переводчика
В самой последней версии Joomla! (на момент написания этих строк) часть па-
раметров была перемещена в группу Устаревшие параметры, что и показано
на рис. 7.16.
Вы можете установить следующие параметры типа mod mainmenu:
♦ Суффикс класса меню — устанавливает суффикс, используемый для за-
дания пользовательского стиля меню;
♦ Суффикс класса модуля— устанавливает суффикс, используемый для
задания пользовательского стиля модуля;
♦ Название меню — указывает название записи, управляемой Менеджером
меню и присоединенной к этому модулю;
♦ Стиль меню — позволяет выбрать один из форматов меню: список, вер-
тикально, горизонтально или плоский список. Список и плоский список
Расширения Joomla!
281
используют теги <ul> и <ii> для определения меню. Для создания верти-
кальных и горизонтальных меню используются HTML-таблицы;
♦ Начальный уровень — уровень, с которого нужно начать отображение
меню;
♦ Последний уровень — уровень, на котором следует завершить отображе-
ние меню;
♦ Всегда показывать вложенные подпункты — показывать все элементы
подменю, вне зависимости от того, активно ли родительское меню или
нет;
♦ Полное активное выделение — поддержка активного выделения ссылок.
Включение этой опции приведет к потере XHTML-совместимости;
♦ Показывать иконки меню — показывает пиктограммы для меню, если
они определены;
♦ Выравнивание картинки меню — если включен показ пиктограмм ме-
ню, этот параметр позволяет задать выравнивание (по левому или по пра-
вому краю) пиктограмм:
♦ Раскрывать меню — если этот параметр включен (значение Да), то все
подменю всегда будут видимы, не зависимо от того, открыл ли меню
пользователь или нет;
♦ Активировать родителя — если этот параметр включен (значение Да),
то будут включены идентификаторы всех родительских меню;
♦ Выравнивание картинки — из этого раскрывающегося списка вы може-
те выбрать, как будут выровнены картинки. Значение по умолчанию —
ШАБЛОН, т. е. картинки будут выровнены, как указано в шаблоне, но вы
можете выбрать другой тип выравнивания или же вообще отказаться от
него;
♦ Выравнивание картинки 1, ..., Выравнивание картинки 6 -— данные
параметры используются, если для предыдущего параметра выбрано зна-
чение Использовать значения ниже. Если это так, то данные 6 парамет-
ров будут использованы для указания выравнивания картинок для различ-
ных уровней вложенности списка. Все картинки, которые будут использо-
ваться для этих шести списков, содержатся в каталоге \images;
♦ Разделитель — позволяет указать символ (или символы), используемый
как разделитель между элементами горизонтального меню:
♦ Разделитель— позволяет указать символ (или символы), используемые
между первым и последним элементом горизонтального меню;
282
Гпава 7
♦ Target— задает цель ссылок (например, открывать ссылки в новом окне'
или в существующем).
Примечание переводчика
В русской версии в настройках модуля меню вы найдете два параметра с име-
нем Разделитель, в английской версии первый параметр называется Spacer, а
второй — End Spacer.
Модули администратора
Модули администратора работают подобно обычным модулям (модулям сай-
та), но только в интерфейсе администратора. Вы можете добавить новые
модули для реализации новых функций, например, дополнительные отчеты,
дополнительная статистика, пользовательские панели инструментов и другие
функции, позволяющие сделать администрирование Joomla!-сайтом еще бо-
лее удобным. Поскольку дополнительные возможности по администрирова-
нию могут понадобиться только очень большим сайтам, подробное рассмот-
рение модулей администратора выходит за рамки этой книги.
В табл. 7.2 приведен список всех модулей администратора, устанавливаемых
по умолчанию. Для себя вы можете ознакомиться со списком модулей адми-
нистратора, если намерены заметить один из них на посторонний модуль,
чтобы расширить функциональность сайта.
Таблица 7.2. Модули администратора, устанавливаемые по умолчанию
Модуль Описание
Components Показывает список установленных компонентов, как вкладку в па- нели управления
Full Menu Позволяет отображать меню интерфейса администратора
Latest Items Показывает последний контент, добавленный на сайт
Logged Отображает список пользователей, пребывающих на сайте в дан- ный момент
Menu Stats Генерирует статистику меню — самая последняя вкладка в панели управления
Online Users Модуль выводит список пользователей, авторизованных в админи- стративной панели сайта. Количество пользователей отображает- ся в верхней части окна (возле кнопки Выйти)
Pathway Отображает "путь" администратора
1 Цель — _blank. — Пер
Расширения Joomla1
283
Таблица 7.2 (окончание)
Модуль Описание
Popular Выводит список наиболее популярных страниц (вкладка модуля находится на главной странице интерфейса администратора)
Quick Icons Добавляет пиктограммы быстрого доступа в панель управления
System Message Управляет системными сообщениями, всплывающими и диалого- выми окнами
Toolbar Модуль показывает значки панели управления, используемые для управления действиями в административной зоне
Unread Messages Отображает количество непрочитанных сообщений (в верхней части окна администратора)
Компоненты сайта
Компоненты выполняют гораздо больше функций, чем модули, и обычно
обладают специальным конфигурационным интерфейсом, именно поэтому
у компонентов есть собственное подменю в меню интерфейса администрато-
ра Joomla!.
Из всех компонентов, устанавливаемых по умолчанию, только пять обладают
видимым интерфейсом пользователя: Banners (Баннеры), Contacts (Контак-
ты), Newsfeeds (Ленты новостей), Polls (Голосования) и Weblinks (Каталог
ссылок). У каждого из этих компонентов есть свое подменю в меню Компо-
ненты.
Компонент Banners
Компонент Banners (Баннеры) — это система отображения баннеров, кото-
рая может быть использована в коммерческих и некоммерческих целях. Для
каждого баннера ведется статистика показов (количество впечатлений— в
терминологии Joomla!) и щелчков (сколько раз посетители щелкнули на бан-
нере). Компонент Banners работает в паре с модулем Banners, описанным
ранее.
Список всех созданных баннеров отображается Менеджером баннеров
(рис. 7.17). В столбцах таблицы Менеджера баннеров отображается статисти-
ка по каждому баннеру— количество впечатлений, количество щелчков и
процентное соотношение показов/щелчкам. Баннеры, созданные с помощью
Менеджера баннеров, могут показываться на странице с помощью модулей
Banners и Advertisement, описанных ранее.
284
Гпава 7
Вы можете изменить параметры отслеживания, нажав кнопку Параметры в
окне Менеджера баннеров. В появившемся окне (рис. 7.18) вы можете акти-
вировать или деактивировать ежедневное отслеживание баннеров и устанав-
ливать префикс тегов. Ежедневное отслеживание баннеров требует больше
места на диске, но зато предоставляет более подробную информацию о бан-
нерах.
Рис. 7.17. Менеджер баннеров показывает асе баннеры и статистику по ним
Конфигурация
Отслеживать
} ** Нет 1 * Ла
впечатления
Отслеживать клики нет. С ,да
Префикс тегов
Рис. 7.18. Окно конфигурации Менеджера баннеров позволяет изменить
параметры отслеживания баннероа
Вы можете создать новый баннер, нажав кнопку Новый или же отредактиро-
вав один из существующих баннеров, щелкнув на его имени. Вы увидите до-
вольно много параметров (рис. 7.19), позволяющих настроить отображение
баннера так, как вам нужно. Если вы хотите установить пользовательский код
баннера, вам нужна поддержка JavaScript.
Расширения Joomla!
285
Рис. 7.19. Редактирование параметров баннера
Графические файлы баннеров расположены в каталоге \images\banners. Чтобы
поместить файлы (картинки) в этот каталог, вы можете использовать Медиа-
менеджер или FTP-клиент. После загрузки файла картинки его имя окажется
в раскрывающемся списке Выбор картинки баннера.
Интерфейс Баннеры (Компоненты | Баннер | Баннеры) управляет баннера-
ми, а Менеджер клиентов баннеров (Компоненты | Баннер | Клиенты)
управляет клиентами или рекламными кампаниями (рис. 7.20). С одним кли-
ентом может быть связано много баннеров.
Вы можете нажать кнопку Новый для создания нового клиента. Параметры
клиента довольно просты (рис. 7.21): имя клиента и контактная информация.
Фактически, запись клиента — это дополнительный тип организации, допол-
няющий категории рекламных кампаний. А для изменения категорий исполь-
зуется отдельный интерфейс (Компоненты | Баннер | Категории), который
можно использовать, если вы предпочитаете организовать баннеры по кате-
гориям, а не по клиентам.
286
Гпава 7
Рис. 7 20. Менеджер клиентов баннеров управляет клиентами
и связанными с ними баннерами
Рис. 7 21. Вы можете создать нового клиента и организовать для него баннерную кампанию
Компонент Contacts
Joomla! обладает небольшой системой управления контактами в пределах
CMS. Контакты, сохраненные в этом компоненте, могут быть связаны с учет-
ными записями Joomlal-пользователей, что предоставляет дополнительные
удобства при общении через интерфейс Joomla!. Контакты отображаются
Менеджером контактов (рис. 7.22). Если контакт привязан к учетной записи
пользователя, то имя пользователя будет отображено в столбце Связать
с пользователем.
При редактировании существующего контакта (рис. 7.23) или при создании
нового контакта вы можете заполнить все необходимые параметры (имя,
Расширения Joomla!
287
Рис. 7.22. Менеджер контактов отображает список контактов со столбцом
Связать с пользователем, который показывает, с каким пользоаателем связан контакт
Контакт: [Правка]
“ё О Q
Сохреттъ Применит Закрыть Помоць
Подробности
НМВМ4в’ д«ми«
Леедцошмл 2006-04-25-04.59-05
Информацию
ДОЛЖНОСТЬ* 4 ДМ ин
Е-Л1Я11* йЬаНаЫфга 1 и
Адрес (улица)
Параметры
* Параметры контакта
Напднн* С Спрятать •*" Показать
Должность Г Спрятать *• Гкжазать
E-mMI (S' спрятать г Показать
Адрес (улкщ» Г Спрятать Показать
Г'ОД С спрятать & Показать
Ряспуилига С Спрятать Показать
Почтовьм индекс Г спрятать Показать
Страна Г* спрятать Показать
Телефон С Спрятать Показать
Мобш»ный Г* Спрятать *• Показать
*“<с f" Спрятать Показать
В>6-сшп С спрятать Показать
Дополи пелъндя f. —
ннформдцня Спрягать Показать
^обряжение конмма Г Спрятать Показать
Vc«d (Г спрятать Пока ать
Расширенные параметры
Параметры Е Mail-л
Рис. 7.23. Окно редактирования контактов позволяет вам записать
асю необходимую контактную информацию
288
Глава 7
улицу, город, телефон и т. д.) — как при использовании отдельного менедже-
ра контактов. А поскольку Joomla! — это Web-приложение, то данная ин-
формация будет доступна с любой точки Земного шара, где есть соединение
с Интернетом.
Менеджер категорий компонента Contacts очень похож на Менеджера кате-
горий статей. Однако категории, созданные в Менеджере контактов, хранятся
отдельно от категорий для статей и пользователей.
Компонент Newsfeeds
В отличие от модуля Feed Display, который появляется в заданной позиции
шаблона (например, справа), компонент Newsfeed занимает центральную
часть страницы. Данный компонент может быть привязан к меню, что позво-
ляет легко просматривать/читать любую статью ленты новостей (в отличие от
модуля). Фактически, вы можете создать раздел ленты новостей, который
будет работать как программа-агрегатор на вашем Joomla!-сайте.
Все ленты новостей определяются в Менеджере лент новостей (рис. 7.24, где
список лент отображает название ленты, категорию, ID, число статей, лимит
времени кэширования и порядок).
Рис. 7.24. Менеджер лент новостей отображает список лент и их параметры
Расширения Joomla1
289
При создании ленты новостей (рис. 7.25) вам нужно указать только название
ленты, выбрать категорию и задать ссылку на файл ленты. Вы также можете
указать максимальное количество статей и лимит времени кэширования.
Также можно включить параметр Текст слева направо для арабского и дру-
гих RTL-языков.
Рис. 7.25. Создание новой ленты: нужно указать имя, выбрать категорию
и указать файл ленты
Компонент Polls
Вы можете создать голосования с помощью компонента Polls (Голосования),
которые будут отображены модулем Polls. Все текущие голосования отобра-
жаются в Менеджере голосований (рис. 7.26). С помощью данного менеджера
вы можете увидеть, какие голосования были наиболее популярными (столбец
Голоса), а также просмотреть количество опций для каждого голосования
(столбец Опции).
Компонент Polls (Голосования) позволяет хранить до 12 опций для каждого
голосования (рис. 7.27). Он также предоставляет возможность устанавливать
время задержки между голосованиями (во избежание "накрутки" счетчиков
голосования). Значение по умолчанию— 86 400 секунд, что эквивалентно
одному дню. Вы можете существенно увеличить это значение, например, до
31 миллиона (почти год), чтобы один и тот же посетитель не смог проголосо-
вать два раза.
10 Зак. 468
290
Глава 7
' ’ Joomla!" Joomla JumpStart
Рис. 7.26. Менеджер голосований выводит список существующих голосований
и предоставляет общую информацию о каждом опросе
Рис. 7.27. При создании голосования вы можете определить до 12 вариантов ответа
Расширения Joomla!
291
Компонент Weblinks
Компонент Weblinks (Каталог ссылок) позволяет зарегистрированным поль-
зователям предлагать ссылки, которые могут стать частью общего списка
ссылок. Данная возможность— палка о двух концах. С одной стороны, она
полезна для создания виртуального сообщества, где каждый пользователь
может внести свою лепту в развитие сайта. С другой стороны, вам нужно бу-
дет регулярно просматривать добавленные ссылки и удалять спам или ссыл-
ки на нежелательный контент. Joomla! позволяет администратору одобрять
или отклонять предложенные пользователям ссылки, но вам все равно при-
дется постоянно просматривать их.
Для каждой ссылки Joomla! позволяет вам указать следующую информацию
(рис. 7.28): название, категорию, URL, описание, порядок (определяет, где
именно ссылка появится в списке), флаги подтверждения и публикации, а
также цель (определяет, будет ли открыта ссылка в новом окне или в теку-
щем).
Вэб-ссылка [Правка]
Сохранить
0 о
Закрыть Помощэ
Подробност--------------------------------
Назв вние: Joomla1
Псевдоним: joomla
Публикация: Г НеТ (5* Да
Категория; | Joomla1 Specific Links
URL: http /AMMM.joornla.Cfg
Поредок Показа* 11 (j00mia')
Параметры
Где открывать ।---------------------г
ссь(п L3T0M ж* ®гн* с натигацмем
Описание
Ноте о£ Joomla!
I
I
Рис. 7.28. В параметрах ссылки вы можете указать цель для ссылки
Примечание
Когда вы публикуете внешнюю ссылку, вы должны решить, хотите ли, чтобы
пользователь покинул ваш сайт и перешел на другой. Например, на вашей
странице может быть много ссылок-сносок для отображаемой статьи. Если
пользователь щелкнет на такой сноске, он перейдет на другой сайт. Но что де-
лать, если он не дочитал статью или хотел посетить еще несколько ссылок? Вы
можете установить значение В новом окне с навигацией для параметра Где
292
Глава 7
открывать ссылку, в результате браузер откроет новое окно и отобразит сайт,
на который указывает ссылка Но окно вашего сайта все еще будет на экране
пользователя.
Плагины сайта
Практически на каждом сайте плагины работают за сценой. Вы можете изу-
чить существующие плагины с помощью Менеджера плагинов (рис. 7.29),
вызвать который можно через меню Расширения. Но всего у нескольких
плагинов есть параметры, которые могут значительно повлиять на функции
системы.
Менеджер плагинов n •a# Включит Г© ь Выключить Правка Q Помощь
Фильтр: ’ I Выполнить ][ Сброс I - Выберите тип V Выберите состоение - V
# Г” На.ван «е плагина Включен Сортировка А ф Доступ Тил*' Файл ID
1 Г Authentication - Joomla * 1 Всем authentication /oomla 1
2 Г Authentication - LDAP О a v 2 Всем auth-nbcaton Idap 2
3 Г" Authentication - OpenlD О ТГ 3 Всем authentication openid 4
4 Г AUhentication - GMai О А 4 Всем authentication gmai 3
5 Г Content - Page Navigation V тг 2 Всем content pagenavigation 17
6 Г Content - Rating • * * 4 Всем content vote 13
7 Г Content - Email Cloaking JВключен! , s Всем content emailcloak 14
8 Г" Content - Code Hightlighter (GeSHi) О а * 5 Всем content flesh 15
S Content - Load Module а чг в Всем content loadmodule 16
Рис. 7.29. Менеджер плагинов выводит список доступных в системе плагинов
Хотя плагины — самый мощный тип расширений, они обычно выполняют
специфические функции и поэтому работают практически незаметно. Обыч-
но плагины связаны с каким-то компонентом или модулем для предоставле-
ния пользовательского интерфейса.
Так как аутентификация и защита играют огромную роль в электронной ком-
мерции, мы рассмотрим системные плагины непосредственно в главе 11, ко-
гда будем настраивать виртуальный магазин. Пока вам можно изучить плаги-
ны редакторов (TinyMCE и XStandard Lite) и плагин System — Legacy.
Расширения Joomla!
293
У расширений редакторов есть несколько полезных параметров, влияющих
на процесс редактирования (например, размер окна редактора). Плагин Sys-
tem — Legacy позволяет использовать старые (для версии Joomla! 1.0) моду-
ли, компоненты, плагины и шаблоны.
Резюме
В этой главе мы рассмотрели три типа расширений Joomla!: модули, компо-
ненты и плагины. У каждого типа расширений свои возможности, что позво-
ляет воплощать с их помощью определенный ряд задач. Модули хороши для
дизайна (поэтому они могут появляться в любой части страницы) и для ми-
нимального взаимодействия с пользователем. Компонент может использо-
ваться для создания полноценного интерфейса — как пользователя, так и ин-
терфейса администратора. Плагины работают на самом низком уровне, по-
зволяя реализовать низкоуровневые интерфейсы вроде WYSIWYG-редактора
для статей.
Часто несколько типов расширений входит в состав одного пакета. Напри-
мер, расширение Polls (Голосования) содержит компонент для создания,
редактирования и управления опросами, а для вывода самих опросов и для
организации взаимодействия с пользователем предназначен модуль Poll.
В этой главе были рассмотрены расширения, устанавливаемые по умолчанию
при инсталляции Joomla!. Вы можете установить расширения посторонних
разработчиков, чем расширите возможности Joomla!. В следующей главе мы
рассмотрим несколько полезных компонентов, используемых для организа-
ции виртуального сообщества.
ГЛАВА 8
Функции для Web-сообщества
В мире динамического контента Web 2.0 у сайта может быть высокая посе-
щаемость, только если он сможет культивировать активное Web-сообщество.
К счастью, Joomla! — идеальная CMS для построения такого сообщества. Вы
уже знакомы с некоторыми встроенными расширениями (например, голосо-
ванием), предоставляющими интерактивные функции. В этой главе вы позна-
комитесь с другими Joomla’-расширениями, предоставляющими пользовате-
лям возможность взаимодействовать с вашим сайтом. Вы также изучите пре-
имущества и недостатки технологий развертывания сообщества.
Вопреки мнению многих Web-мастеров, создание виртуального сообщества
не гарантирует увеличение посещаемости. Вы не можете просто создать Web-
сайт и оставить его, ожидая, что пользователи будут добавлять новый кон-
тент и увеличивать трафик. На самом деле, поддержка виртуального сообще-
ства требует больше сил, чем просто поддержка сайта. Однако, подобно де-
позиту в банке, ваши усилия, вложенные в сайт, окупятся с процентами в ви-
де увеличения посещаемости и трафика.
Поскольку вы хотите, чтобы ваши усилия были приумножены, очень важно
определить направление, где ваш сайт был бы первым. Желательно, чтобы
это была не просто идея — нужен четкий план. Создание профиля сайта —
превосходный способ определить роль вашего виртуального сообщества и
его аудиторию.
Профиль сайта
Сложнее всего Web-мастеру решить, чем должен быть его сайт. На первый
взгляд, это довольно простая задача. Например, если вы производитель обуви
(как, например, Nike), то должны сконцентрироваться на обуви, не так ли?
Да, но не совсем. Одного посещения сайта Nike хватит, чтобы понять: Nike не
296
Гпава 8
заинтересована в простом виртуальном магазине для продажи своей обуви.
Компанию больше интересует продвижение своей продукции, что даст боль-
ше результатов, чем обычный виртуальный магазин.
Две трети главной страницы Web-сайта Nike — это видео, посвященное обу-
ви. Что же занимает оставшуюся часть главной страницы? Оставшееся про-
странство занимает каталог продукции (изображены часы с эмблемой Nike,
футболка и большой баскетбольный мяч) и ссылка заказа обуви.
Наверное, Nike зря выделяет так мало места для продажи обуви? Я так не ду-
маю. Nike понимает, что люди не будут покупать обувь, часто стоящую очень
дорого, только для того, чтобы носить. Они продают стиль. Они продают
марку. И Nike знает, на чем нужно сконцентрироваться — на стиле, а не на
продаже.
Вы можете ничего не продавать на вашем Joomla’-сайте. но должны точно
определиться с целевой аудиторией сайта и адаптировать для нее контент и
дизайн.
Все эти соображения важны для статического Web-сайта, для сайта вирту-
ального сообщества они означают разницу между процветающим мегаполи-
сом и заброшенным виртуальным городом-призраком. Так, у Web-сайта
Hi-End-производителя1 не должно быть приятной "домашней" атмосферы.
С другой стороны, "гладкий" современный дизайн может работать против вас
и вашего онлайн-сообщества — не всем он нравится.
В этой главе вы узнаете, как соединить воедино профиль сайта с его целевой
аудиторией. Профи ib сайта— это не обычный документ. Он может быть
заполнен примечаниями и схемами. Наиболее важная часть построения про-
филя сайта — это не сам профиль, а процесс его построения, в результате ко-
торого у вас сформируется четкое представление о вашем сообществе.
Определение аудитории сайта
Лучше всего начать построение профиля сайта с мысли о ваших посетителях.
Подумайте, кому будет интересен ваш сайт? Начните приводить общие ха-
рактеристики, а затем более конкретные:
♦ Они социальны или несоциальны в их обычной жизни?
♦ Они предпочитают общаться по телефону или по e-mail?
♦ Какие типы сайтов они уже посещают?
1 Производителя, поставляющего оборудование в красивых коробках, которое будет прода-
ваться в магазинах, в отличие от OEM-производителя, продукция которого часто является
комплектующими для продукции Hi-End-производителя и поставляется в серых некрасивых
коробках. — Пер.
Функции для Web-сообщества
297
♦ Какая информация им необходима или же им больше необходимо обще-
ние, а не информация?
Если имеется журнал, связанный с той же предметной областью, что и ваш
сайт, обязательно просмотрите его: вы сможете понять, кому этот журнал
интересен. Особое внимание уделите рекламным объявлениям: это поможет
вам определить, какая продукция и какие услуги будут интересны вашей це-
левой аудитории.
На этом ваше исследование журнала не заканчивается. Много журналов про-
изводят обширное маркетинговое исследование с целью определения целевой
аудитории, и обычно данная информация свободно доступна. Журналы бес-
платно предоставляют эту информацию потенциальным рекламодателям. Для
получения данной информации вам достаточно связаться с рекламным отде-
лом, хотя иногда она доступна на Web-сайте журнала.
Почти столь же важное, как начальное проектирование аудитории сайта, его
продолжение, позволяющее определить, как близко ваш профиль сайта соот-
ветствует реальным посетителям. Постоянно обновляя вашу начальную кон-
цепцию (чтобы она соответствовала действительности), вы можете создать
сообщество самоподдержки, когда ваш сайт будет развиваться практически
без вашего вмешательства.
Посмотрите на свое сообщество
Один из самых важных факторов при выборе сообщества— это финансовая
демография. Непрофессиональные Web-разработчики начинают с интересной
им темы сайта и делают ее пунктом отправления. Однако это не лучшее ме-
сто для старта.
Вернемся к сайту Nike. Возможно, первоначально этот узел планировался как
сайт для профессиональных атлетов. Ведь технические преимущества обуви
Nike могут оценить лишь профессионалы, но они также могут себе позволить
эту обувь— их финансовая демография ясно указывает на определенную
нишу рынка. Но что делать с теми, кто только мечтает стать профессиональ-
ным атлетом? Ведь таких людей гораздо больше.
Предположим, что у вас нет маркетингового исследования для обширного
статистического обзора, поэтому вам нужно посетить различные сайты по-
хожей тематики. Это поможет вам осознать глубину рынка, которому вы хо-
тите соответствовать с помощью виртуального сообщества.
Что нужно вашему сайту?
Развитие сообщества можно сравнить с инвестициями в недвижимость. Если
вы покупаете акций на сумму $10 000, вам в большинстве случаев нужно за-
298
Гпава 8
платить эти $10 000. Если же вы делаете вложение $10 000 в недвижимое
имущество, то получите контроль инвестиций на сумму $100 000. Если акции
удваиваются, то вы получите дополнительные $10 000. Если же удваиваются
ваши инвестиции недвижимого имущества (до $200 000), то возвращаете
банку ссуду $90 000 и получаете $110 000, которые вы сделали всего из
$10 000.
Попытайтесь посмотреть на функции сообщества сквозь призму финансов.
Если вы потратите час на создание контента Web-сайта, у вас не будет ниче-
го, кроме контента, который можно воспроизвести за час. Напротив, если вы
потратите этот же час на создание сообщества, ваши вложения времени мно-
гократно приумножатся. Ведь каждый привлеченный посетитель сможет
провести на вашем сайте еще как минимум час.
Хотите увидеть этот принцип в работе? Тогда посмотрите на Wikipedia. Мне
очень нравится читать работы Джека Вудфорда (Jack Woodford), написавшего
в середине 1900-х годов серию "как написать романы". Я потратил минимум
12 часов неоплаченного времени для создания странички в Wikipedia, посвя-
щенной этому писателю. Десятки тысяч других людей делают то же самое,
выбирая интересную им тематику.
Если вы можете предоставить платформу сообщества для других людей, они
построят для вас сайт. Это совсем не означает, что вам не нужно ничего де-
лать, но работа, проделанная сообществом, создаст гораздо больший сайт,
чем труд одного человека или небольшой организации.
В табл. 8.1 приведены часто используемые функции сообщества с оценкой
сложности установки, обслуживания и "дивиденды", которые вы получите
после реализации той или иной функции.
Таблица 8.1. Инвестиции и дивиденды функций сообщества Joomla!
Расширение Установка Обслуживание Дивиденды
Новостная лента Легко Очень легко Низкие
Рейтинг статей Очень легко Очень легко Низкие
Голосования Легко Легко Низкие
Книга жалоб и предложений Легко Легко Средние
Гостевая книга Легко Сложно Низкие
Комментарии Легко Средняя сложность Высокие
Страницы профиля пользователя/ пользовательские блоки Легко Средняя сложность Средние
Календарь событий Легко Средняя сложность Высокие
Функции для Web-сообщества
299
Таблица 8.1 (окончание)
Расширение Установка Обслуживание Дивиденды
Wiki Сложно Сложно Высокие
Форум Сложно Сложно Высокие
Выберите расширения, которые будут соответствовать вашему профилю сай-
та, и используйте их для получения максимального эффекта. Однако имейте в
виду: не нужно устанавливать все расширения — это отрицательно скажется
на вашем сообществе1.
Создание домашнего сайта для других групп
Сделав сайт интерактивным, вы превратили его в эдакую машину для его же
продвижения. У большинства сайтов нет этих функций по одной из двух
причин: или Web-провайдер не разрешает установку интерактивных функ-
ций, или же (что более вероятно) Web-мастер просто не знает, как их реали-
зовать.
Один из превосходных методов популяризации сайта — это предоставление
его возможностей другим сайтам. Например, если ваш сайт посвящен кэм-
пингу и у вас есть форум, а у Web-мастера другого кэмпинг-сайта нет воз-
можности организации форума, предложите ему и его пользователям исполь-
зовать ваш сайт. Если на вашем сайте продаются аксессуары для стрельбы из
лука, предложите ресурсы вашего сайта местным спортивным клубам. Если
ваш сайт сфокусирован на проблемах окружающей среды, предложите его
услуги местным группам "зеленых".
В результате сотни групп пользователей получат свое онлайн-место встречи.
Благодаря современным механизмам поиска им даже не нужно быть органи-
зованной группой. Например, мне нравится посещать распродажи старых
книг. Такие распродажи плохо рекламируются, и вы нигде не найдете их об-
щего списка в округе Лос-Анджелеса. Как-нибудь в будущем я создам в
Joomla! календарь событий, где бы другие пользователи смогли создать гра-
фик таких распродаж. Когда я посещаю одну из таких распродаж, я вижу 10%
одних и тех же самых людей. Это достаточно большая группа: если хотя бы
10 человек будут обновлять календарь событий, то к сайту будут привлечены
сотни посетителей, просматривающих этот календарь.
1 Например, если вы решили установить форум, то гостевая книга и книга жалоб и предложе-
ний вам у же не нужна — их заменят соответствующие разделы форума — Пер.
300
Гпава 8
Сообщество изменяет направление вашего сайта
Наверное, вы заметили, что какая-то определенная часть вашего сайта полу-
чает больше внимания, чем вы ожидали (в главе 9 мы будем рассматривать
статистику сайта). Сконцентрируйтесь на самой популярной области вашего
сайта, чтобы понять интересы ваших посетителей.
Если большинство ваших посетителей интересуется продлением жизни ла-
зерного принтера, скорее всего, им будет интересно, где можно купить хоро-
шую бумагу. Создайте форум, посвященный это вопросу, и множество посе-
тителей поделятся с вами и со всем миром своими знаниями.
Технологии Joomla!
для построения Web-сообщества
Как только вы определились с профилем сайта и создали общий план, вам
нужно выбрать расширения, реализующие все необходимые вам функции.
В случае с Joomla! для одной и той же задачи можно использовать с полдю-
жины расширений, так что выбор может быть довольно труден. Расширения,
рассмотренные в этом разделе, были выбраны по следующим двум причинам.
♦ Свободное распространение — в интересах читателей в книге описаны
только свободно доступные расширения, чтобы читатели могли их сво-
бодно (бесплатно) загрузить, протестировать и использовать. Конечно, не-
которые превосходные коммерческие компоненты по своим возможно-
стям превосходят расширения, описанные здесь. Как только будет воз-
можно, я упомяну популярные коммерческие расширения, аналогичные
бесплатным расширениям, рассмотренным в этом разделе.
♦ Высокий рейтинг на сайте Joomla!-расширений— большинство выбран-
ных расширений являются лучшими из лучших и превосходно подходят
для Joomla!. Однако не нужно проходить мимо других расширений —
возможно, они оптимально подходят для вашего сайта. Разработка про-
граммного обеспечения, особенно в мире Open Source, подобно заездам на
ипподроме — то одна лошадь уходит вперед, то другая. Поскольку время
идет, лучшее на сегодняшний день расширение уже не будет таким завтра,
потому что появятся новые версии других расширений.
К любому Joomlal-сайту можно добавить ленты новостей, систему рейтинга
статей, голосования, гостевые книги, систему комментариев пользователей,
календари событий, форумы и доски объявлений. Ни одно из этих расшире-
ний не зависит от других расширений, поэтому не нужно читать этот раздел
последовательно. Вы можете прочитать лишь те подразделы, которые вам
более интересны.
Функции для Web-сообщества 301
Подписка на новостные ленты
Возможно, вы не хотите, чтобы ваш сайт стал порталом (ведь счет за трафик
может быть просто огромным), но существует один простой способ увели-
чить количество информации на вашем сайте — эго правильно подобранные
новостные ленты. Некоторые поисковые машины не считают новостные лен-
ты частью вашего сайта, некоторые — считают, но в любом случае хуже от
этого не станет, и ваш рейтинг в поиске не понизится.
В предыдущей главе мы изучили модуль Feed Display, использующийся для
показа ленты новостей в формате RSS или Atom. Осталось найти новостные
ленты, которые будут интересны вашим посетителям. Отталкиваться нужно
от профиля вашего сайта, чтобы ленты новостей соответствовали его темати-
ке. Можно попытаться найти нужную вам новостную ленту с помощью сле-
дующих новостных поисковых машин:
♦ vvww.syndic8.com;
♦ www.2rss.com;
♦ www.rss-netvvork.com;
♦ www.feedster.com,
С помощью этих поисковых машин вы найдете новостную ленту, оптимально
подходящую для вашего сайта.
Один из лучших методов оценки новостной ленты — это подписка на нее че-
рез новостной агрегатор. Используя агрегатор каждый день, вы сможете бы-
стро оценить уровень контента каждой новостной ленты и ее полезность для
ваших посетителей. Популярными агрегаторами являются Sage (агрегатор
для Firefox, доступный по адресу http://addons.moziIIa.org/firefox/77),
ThinFeeder Java RSS Aggregator (http://sourceforge.net/projects/thinfceder),
Windows-агрегатор SharpReader (www.sharpreader.net). Также вы можете
использовать онлайн-агрегаторы, например, Google Reader (www.google.com
/reader) и Bloglines (www.bloglines.com). Онлайн-агрегаторы требуют соз-
дать вашу учетную запись для хранения новостных лент, на которые вы под-
писаны.
Чтобы найти полезные ленты, изучите наиболее часто посещаемые вами сай-
ты на предмет RSS- или Atom-лент. Вы будете приятно удивлены, узнав, что
новостная лента вашего любимого сайта может быть использована на вашем
Joomlal-сайте.
Рейтинг статей
Разрешение пользователям оценивать статьи — это, возможно, первый шаг к
созданию сообщества. Данная возможность поддерживается Joomla! по
умолчанию, вам нужно лишь активировать ее
302
Гпава 8
Для включения рейтинга статей перейдите в Менеджер материалов, нажмите
кнопку Параметры и включите параметр Голоса/Рейтинг статьи (рис 8.1).
Теперь весь контент сайта (кроме тех статей, которые были вручную исклю-
чены из рейтинга) будет доступен для оценки.
На в ине раздела как
ссылка
Нлвлн^е категории спрятать Показать
Название категории как
ссылка
lh.44 автора С спрятать Показать
Да» н время содашия Г спр„„ь <? Показать
Дата и время
последнего и менекля Спрятать Показать
Показывать нав| гацик> Спрятать Г Показать
Ссылка Подроонее... С спрятать ** Показать
ГолосдРеитикг статьи С спрятать, Показать
Иконки С спрятать ** Показать
Иконка PDF Г* спрятать Показать
Иконка печати Г спрятать <* Показать
Иконка e-mail С Спрятать , ** Показать
Хиты С спрятать Показать
Пока ывлть в RSS Вступительнь й текст Основной текст
Рис. 8.1. Включите параметр Голоса/Рейтинг статьи для активации оценки статей
Нота •> Условия использования сайта
Условия использования сайта
Рейтинг пользователей >005/0________
Худший О О О О ® Лучший I Е*еЙТИНГ ]
А > г. <
Рис. 8.2. Рейтинг статьи отображается с помощью заполненных кружочков,
после рейтинга следует число голосов, которое влияет на общий рейтинг
После этого для каждой статьи (после ее названия) будет отображен ее рей-
тинг и общее количество проголосовавших за нее пользователей (рис. 8.2).
Функции для Web-сообщества 303
Непосредственно после рейтинга появится форма оценки статьи. Обратите
внимание, в зависимости от ваших настроек, данная форма может не появ-
ляться, когда статья представлена на главной странице, хотя ее рейтинг будет
отображен.
Настройки системы рейтинга для отдельных статей могут быть переопреде-
лены. Однако не нужно запрещать оценивать некоторые спорные статьи.
Пользователи заметят отсутствие оценки, и им покажется это несправедли-
вым. Этим вы оттолкнете пользователей от своего сайта.
При меч а ние_____________________________________________________
Штатная система оценок Joomla! (как и система голосований) довольно прими-
тивна. Если вам нужны более мощные и гибкие средства оценки, посетите сайт
расширений Joomla! (http://extensions.joomla.org), где вы сможете скачать бо-
лее функциональные расширения.
Создание опросов
Голосования (опросы)— эффективный способ узнать мнение посетителей
сайта. Joomla! делает создание опросов очень простым и удобным, вы можете
добавить опрос на ваш сайт без установки каких-либо расширений. После
установки Joomla! на главной странице вы увидите первый опрос, демонст-
рирующий элегантность этой обязательной функции сообщества.
В гтаве 7 был приведен обзор компонента и модуля голосований. Сейчас мы
поговорим о создании опросов подробнее.
Совет_____________________________________________________________
Компонент голосований в Joomla! автоматически показывает результаты теку-
щего голосования. Другие компоненты для организации опросов доступны на
сайте расширений (http://extensions joomla org) Вы можете найти компоненты
с расширенными функциями отображения результата, основывающиеся на ре-
гистращ^! пользователей и привилегиях безопасности. Вы даже можете сде-
лать результаты голосований доступными только администратору. Однако в
большинстве случаев вы должны показывать результаты общественных опро-
сов, иначе пользователи просто потеряют интерес к голосованию: ведь им ин-
тересно узнать результаты.
Создание нового голосования
Для создания нового опроса вы будете использовать компонент Polls (Голо-
сования). Из меню Компоненты интерфейса администратора выберите ко-
манду Голосования. Нажмите кнопку Новый для создания нового голосова-
ния. Введите заголовок и опции опроса. Для Web-сайта LoanStaircase я задал
несколько вопросов относительно кредитных программ (рис. 8.3).
304
Глава 8
wt Голосование: [Новый]
Просмотр Сохранить Применить Отменить Помощь
Подробности
Заголовок: {Какие кредитные программы более интересны?
Псевдоним’
Задержка: 86400 (секунд между голосованиями)
Публикация: (Г Нет Г да
Опции
Опция И Аннуитет (фикс платеж)
Опция 2 Фиге. платеж (5 лет)
Опция 3 Фикс, платеж (3 года)
Опция 4 Пока не решил
Опция 5
ОпцияS
Опция 7
Опцияt
Опция 9
ОгмддяЮ
Опция 11
Опция 12
Рис. 8.3. Создание опроса
Перед тем как вы сохраните опрос, вам нужно изменить значение параметра
Задержка. Имеются некоторые не очень честные личности, пытающиеся
проголосовать несколько раз. Joomla! предоставляет несколько способов за-
щиты от "накрутки" результатов опроса, например, запрещение голосования
с того же самого IP-адреса на протяжении определенного промежутка вре-
мени.
Также вы можете обеспечить появление опроса только на странице, доступ-
ной зарегистрированным пользователям. Конечно, в этом случае следует
ожидать снижение числа голосов, что сделает ваш опрос практически беспо-
лезным. Поэтому я рекомендую повысить значение параметра Задержка.
Значение по умолчанию — 86 400, что соответствует одному дню. Это озна-
чает, что один и тот же пользователь сможет голосовать каждые 24 часа. Ус-
тановите значение 30 000 000, после чего один и тот же пользователь сможет
принят^, участие в одном и том же голосовании раз в году. Этого значения
будет вполне достаточно для большинства опросов.
Нажмите кнопку Сохранить для записи вашего опроса в базу данных. После
этого вы вернетесь в окно Менеджера голосований. Ваш новый опрос поя-
вится в списке голосований, но будет отмечен красным крестиком. Это озна-
чает, что опрос пока не опубликован. Щелкните по этому крестику для пуб-
ликации опроса.
Функции для Web-сообщества
305
Если вы обновите главную страницу сайта, то обнаружите, что она все еще
отображает исходное голосование. Несмотря на то, что вы настроили компо-
нент Polls (Голосования), вам нужно еще настроить модуль Poll (следует вы-
брать, какое голосование он должен отображать). Откройте Менеджер моду-
лей и щелкните на модуле Poll Вам нужно изменить параметр Голосование
из выпадающего списка вы сможете выбрать доступные опросы, созданные
соответствующим компонентом. Выберите из списка ваше новое голосование
и нажмите кнопку Применить для записи параметров модуля в систему.
Обновите главную страницу, и вы увидите только что созданный опрос
(рис. 8.4). Каждая инстанция модуля (например, инстанция Polls, которую вы
только что модифицировали) создается из типа модуля modpoll. Вы можете
создать отдельную инстанцию для отображения еще одного опроса. Просто
нажмите кнопку Новый в Менеджере модулей и выберите тип модуля
modpoll.
• Home
• Условия использования
сама
• Flee Bonower Articles
—
• Заголовок статьи
Welcome to the Frontpage
Polls
Login Form
Имя пользователя
Условия использования сайта Л 23
Автор Adtnifirstrator
07 04 200313 25
Пароль
Условия использования сайта
Какие кредитные
программы более
интересны?
О Аннуитет (фикс
платеж)
Q Фикс платеж (5 лет)
Запомнить меня О
[ Логин]
Q Фикс, платеж (3 года)
• Забыли
пароль?
• Забыли логин9
• Зарегистрируйтесь
Обновлене (07.04 2СС8 13 45 )
Тест ’в’23
Астор. Adinntstiator
06 04 2008 00 32
интро
Q Пока не решил
Голосовать ]
[ Результаты ]
Who's Online
Сейчас t гость онлайн
Обнов Htihc OS 04 'ЧХ >
Рис. 8.4. Только что созданный опрос
Сейчас модуль Poll отображается только на главной странице. Если вы хоти-
те, чтобы модуль отображался на других страницах, вам нужно изменить па-
раметр модуля Назначение меню.
Установка параметра Выбор меню для модуля Poll
Если вы закрыли окно параметров модуля Poll, откройте его заново. В левом
нижнем углу экрана вы увидите область Назначение меню. Опция Меню
позволяет вам определить, где будет отображен модуль — во всех меню, ни в
306
Гпава 8
одном или только в выбранных из списка ниже. По умолчанию в этом списке
выбрана только домашняя страница (Ноте), поэтому опрос будет отображен
лишь на главной странице Joomla!. Выберите из этого списка меню Joomla!
Overview. После этого наш модуль Poll появится только в выбранном меню.
Если вы обновите главную страницу, то больше не увидите блока опроса. Но
если вы выберете меню Joomla! Overview, то увидите наше новое голосова-
ние на этой странице.
Внимание!____________________________________________________
Информация, полученная в результате опросов, может быть недостоверной.
Многие посетители, в том числе и постоянные, игнорируют опросы. Результаты
опроса могут быть искажены случайными посетителями или фанатиками, по-
этому результаты голосования могут отличаться от общего мнения вашего со-
общения. Поэтому всегда обдумывайте результаты опроса, прежде чем пред-
принимать какие-либо действия.
Добавление гостевой книги
Гостевая книга появилась практически с самого зарождения Web. В те време-
на каждый Web-сайт предоставлял собой набор статических страниц, доступ-
ных только для чтения. Но люди быстро поняли, ч.о наличие гостевой книги,
где другие посетители могут оставить обычное сообщение или пожелание,
сделает развитие и обновление сайта более увлекательным, а сам сайт — бо-
лее интересным.
Примечание переводчика
В настоящее время, когда каждый желающий может установить форум, я не
вижу особой необходимости в гостевой книге. Ведь вам каждый день придется
просматривать вашу гостевую книгу и удалять спам (а он будет). В то же время
форум тоже требует ежедневного просмотра, но толку от него больше, чем от
простой гостевой книги, да и форум обладает лучшей защитой от спама, чем
среднестатистическая гостевая книга. С другой стороны, если форум вам не
нужен и вы не собираетесь его поддерживать, тогда можно остановить свой
выбор на обычной гостевой книге.
Гостевая книга помогает посетителям участвовать в развитии вашего Joomla!-
сайта. В большинстве случаев вы найдете комплименты или пожелания (это
даже полезнее) относительно дальнейшего усовершенствования сайта. Одна-
ко почаще посещайте вашу гостевую книгу, поскольку спаммеры всегда най-
дут способ обхода спам-защиты.
Одна из лучших гостевых книг для Joomla! — бесплатно распространяемый
компонент Jambook (www.jxdcvelopment.com/jambook). Вот его функции:
♦ использование редактора Joomla! для форматирования текста;
♦ различные варианты отображения имени отправителя сообщения;
Функции для Web-сообщества
307
♦ предварительный просмотр страницы перед ее сохранением;
♦ уведомление (по e-mail) администратора о появлении новых записей;
♦ администратор может указать разрешенные в сообщении HTML-теги;
♦ блокировка спама с помощью различных настроек (в том числе генерации
картинки подтверждения);
♦ возможность бана по IP-адресу (так можно блокировать компьютерных
хулиганов");
♦ двойная проверка отправляемого сообщения;
♦ автоматическое удаление устаревших записей (если установлен лимит
времени);
♦ интерфейс администратора для настройки гостевой книги.
Примечание переводчика____________________________________________
По приведенному автором адресу (www.jxdevelopment com/jambook) на мо-
мент перевода книги гостевая Jambook обнаружена не была. Переводчик ска-
чал ее вот по этому адресу:
http://extensions.joomla.org/component/option,com_mtree/task, viewlink
/linkjd,1228/ltemid,35/
JX< Jambook Control Panol
Записи в гостевой
Показать «се загмсм с огм*ейпувп«м»«
радактюовагшя и создания
Менеджер
Paid Support Question
шаблонов
И you have а вцрроИ question and went personal
service, use the loop toetow to аз* you question al
a cost ol US$5 I can only answer questtorts to
Enjpsh or Swedsh
Импорт записей
PayPal
efc* to pef
Иагюрт загшсей в книгу из внеимего источника
Информация о
Jambook
(*) You wl toe able to deserbe you ргоЫет m
greater detal the peymert
Читать докумвгтасвао. список планов на будущее
список измемемм и лгцвнзмонюе соглааегме
Конфигурация
Jambook
Инфо о Jam- -ok
Остановленная верен*-1 О betas
Последняя версия: Не найдено
Лицеи нм: GNU GPL
Konavatir «2007 Ole Johansson
Co да гели
Автор. Ole Johansson
CAPTCHA c !»«*-. jJenPachet
Шрифт CAPTCHA DuaUvnro): Dustin Norlander
Переводчики;MarinAcJarlors Vpyammer
Andreas Btoczyk. jeervFranocis Quesbauxm.
Cartas Eduardo Rbhrwtem Zoran Jetac TorbeinKvt
Oamst, Tomsk CeOeROM Cecfro, toaperpeng htago
Oandertas Stuardo, Ukfche LtAoto. Ogui Kean
KBnc nustau
Помощь но
Homapapa- ©
♦opyu поддержите ©
Ьи Трекер: ©
Поддержите Jamb ok
Для возможности дальнейв' го развития етого
Васппатиого комюнента Вы можете помочь
ватеру нажав на нсгвгу гвикв •
АМтаДАмаМм
Иэвтетмть огмж конфигурации для компонента
устаю кидля гросмотре. почты, загмеей и заветы от
спама
Нажмите на логотип компонента чтобм вернуться
панель утр аелан ня
Рис. 8.5. Панель управления Jambook
308
Гпава 8
Компонент Jambook устанавливается с помощью Менеджера расширений,
как и любой другой стандартный компонент. После установки в меню Ком-
поненты интерфейса администратора появится собственное меню Jambook.
Для управления своей гостевой книгой выберите команду меню Компонен-
ты | Jambook | Control Panel (рис. 8.5). Отсюда вы сможете перейти к дру-
гим панелям Jambook. В панели управления Jambook будут представлены все
опции меню Jambook, кроме команды Jambook | De-Install. удаляющей гос-
тевую книгу. Команда De-Install удаляет сам компонент, но оставляет все
существующие записи, которые пригодятся при переустановке Jambook или
при импорте.
Управление записями гостевой книги
Панель Записи в гостевой выводит список всех существующих постов. Как
администратор, вы можете отредактировать и удалить любую запись (можно
также удалить сразу несколько записей) или же создать новую запись
(рис. 8.6). Вы можете указать заголовок, имя автора и текст сообщения запи-
си, используя стандартные поля пользовательского интерфейса. В настройках
гостевой книги лучше выключить публикацию e-mail-пользователей и их до-
машних страниц, чтобы защититься от спаммеров.
• Рис. 8.6. Создание новой записи гостевой книги подобно созданию новой статьи
На рис. 8.6 изображен интерфейс администратора. У пользовательского ин-
терфейса добавления записи есть два отличия: присутствует картинка кода
подтверждения (используется для защиты от спаммеров) и нет вкладки Пуб-
ликация (служит для немедленной публикации записи).
Функции для Web-сообщества 309
При добавлении записи пользователем он увидит картинку с цифрами и сим-
волами, используемую для защиты от спама. Ему нужно ввести символы и
цифры, представленные на картинки в специальное поле, чтобы система убе-
дилась, что она работает с человеком, а не с программой спаммера. Для гене-
рации этой картинки на вашем Web-сервере должна быть установлена биб-
лиотека GD2 (см. г часу 10).
Вкладка Публикация позволяет администратору установить некоторые па-
раметры записи— уровень доступа, а также даты публикации и сокрытия
записи
Управление шаблонами
У гостевой книги Jambook есть собственный менеджер шаблонов — Менед-
жер шаблонов Jambook, позволяющий настроить все аспекты отображения
гостевой книги Каждая часть гостевой книги (элемент списка, предваритель-
ного просмотра или поиска) обладает собственным настраиваемым шаблоном
(рис. 8.7). Эти шаблоны можно редактировать напрямую (с помощью тексто-
вого редактора) или же с помощью пользовательского интерфейса.
Если шаблон редактируется через пользовательский интерфейс, вам будет
доступен простой редактор кода шаблона (рис. 8.8). Поскольку код шаблона
написан на JavaScript, лучше всего его редактировать с помощью jEdit
(www.jedit.org) или Eclipse (www.eclipse.org). Однако встроенный редактор
310
Гпава 8
удобно использовать для небольших изменений — ведь он доступен удален-
но, и для редактирования кода вам не придется устанавливать дополнитель-
ные программы.
Редактирование шаблона : default I edititem
components co,n ambook1enip^rtes defauiteriititem.tmpl - Доступен для записи
<scxipt language-"'javascript" type3'text/javascript">
* Subiait the admin fora
*/
function submit fora (pressbutton.) (
document. adminFoxa. task. value-pxessbutton;
try (
document. adminForm. onsubait () ;
}
catch(e)(}
document. admmFora. submit () ;
)
function subaitbuttonfpressbutton) {
vax fora " document. adminFon;
if (pxessbutton « cancel') (
submitforaf pxessbutton );
return;
)
{jxtvalue-geteditoxcontents)
/i do field validation
vax reg - паи RegExp('Л([a-zA-Z0-9\\-\\.\\_)+)'♦
’(\\G)'♦
' [[a-zA-Z0-9\\-\\.]+)'♦
Рис. 8.8. Редактирование Jambook-шаблона
Импорт записей
Экран Импорт записей очень простой. На момент написания этих строк
Jambook могла импортировать только записи популярной гостевой книги
AkoBook или AkoBook+ (обе гостевые книги выполнены в виде Joomlal-ком-
понента). Гостевая книга AkoBook доступна по адресу http://joomlacode org
/gf/project/akocomment_se, a AkoBook+ — http:// www.alikonweb.it/451.
Просмотр Jambook-информации
Экран Информация о Jambook предоставляет много полезной информации,
в том числе системные требования, общие рекомендации, текст лицензионно-
го соглашения, список ТО-DO для разработчиков (что нужно доделать в гос-
тевой книге), а также историю версий. Здесь же доступна некоторая инфор-
мация о директивах плагина, которые могут быть использованы с этим ком-
понентом.
Функции для Web-сообщества
311
Настройка Jambook
Опция Конфигурация Jambook в панели управления отображает экран на-
стройки гостевой книги, где вы найдете ее общие параметры, параметры
e-mail, параметры защиты от спама, параметры импорта и др. В экране кон-
фигурации вы найдете пять вкладок.
♦ Установки — содержит параметры, управляющие отображением записей,
например, Сколько дней сохранять запись, Сколько дней считать но-
вым, Показывать дней. Данная кладка изображена на рис. 8.9.
Рис. 8.9. Вкладка Установки: общие настройки
♦ Записи— данная вкладка (рис. 8.10) предоставляет параметры, опреде-
ляющие, как будут появляться записи гостевой книги. Вот несколько наи-
более важных параметров этой вкладки:
• если параметр Авто подтверждение включен, то все записи будут счи-
таться одобренными и сразу после отправки пользователем появятся на
сайте. Если же этот параметр выключен, администратор должен вруч-
ную одобрить каждую новую запись;
• параметр Защита от флуда задает количество секунд перед добавлени-
ем новой записи тем же отправителем;
• параметр Доступные теги HTML позволяет указать HTML-теги, раз-
решенные для использования в сообщении. По умолчанию разрешены
теги создания таблиц. По своему опыту могу сказать, что эти теги часто
312
Гпава 8
используются "хулиганами" для рисования граффити в вашей гостевой
книге, поэтому я всегда удаляю эти теги из списка разрешенных.
К>*нфи. ',-раиия Jambook
Установки Загхи £ Спвм
Положение фор«« i
ввода млиси
Использовать страницу с лре< ью
Позволить гостям указать имя
Ограничения постингов
Авто подтверждение
Время возможности редактировать свою з*>ись
Защита от флуда
Дубликаты
^Тнпорткф^ж
Показать только записи на первой странице ссылка на Форму ввсиа v
Онет®Д»0
О Нет © Да0
;Пцбли*»й
О Нет ® ДаО
I О
jso О
О нет ®д О
Ограничить теги HTML в сообщении?
гжжцдьюзитст
Wysiwyg редактор
№ициализировать редактор
Ширина редактора
; Высота редактора
{ Удалить все теги HTML кроме определенных в списке v О
,Ьг. Ь„ р, u, pre, eent-ar, hr, blockquote, ев, л
«crane, big, «nail, hl, hZ, h3, h4, hS, hfi, q,
sub, «up, ctf cite, code, address, ebbr£ table, *
. Редактор J oorrda no молчанию v О
О Нет® Де©
IS i©
2S " О
Рис. 8.10 Вкладка Записи: правила отправки сообщений гостевой книги
♦ Email — элементы этой вкладки определяют параметры автоматической
отправки e-mail-сообщений (рис. 8.11). Вы можете указать адрес и имя от-
правителя. которые будут использоваться при отправке сообщений. Обра-
тите внимание: отправка электронных сообщений из гостевой книги осу-
ществляется средствами Joomla!, поэтому если параметры e-mail Joomla!
не настроены, функция автоматической отправки сообщений работать не
будет.
♦ Спам — эти параметры (рис. 8.12) очень важны для компонента гостевой
книги. Параметр Использовать CAPTCHA заставляет пользователя вве-
сти в текстовое поле серию букв и цифр перед отправкой сообщения.
CAPTCHA— это аббревиатура "Completely Automated Public Turing Test
To Tell Computers and Humans apart" (полностью автоматизированный тест
определения компьютера или человека). Как работает этот параметр, вы
наверняка знаете: выводится картинка с буквами и цифрами— человек
может прочитать ее и ввести в текстовое поле изображенные на ней буквы
и цифры, а компьютер — нет. Использование этого параметра не позволя-
ет автоматическим ботам (которые используются спаммерами) отправлять
сообщения в вашу гостевую книгу.
Функции для Web-сообщества
313
JX<
Конфигурация Jambook
Ema 1 Адрес “от кого”
Имя "от кого"
Email админа в письме
Имя админа в письме
Посеять ema 1 с благодарностью
Уведомить адм -на
установки |! Записи
Email
| Спам Импортировав
© Нет О Да У
® Нет ОДаО
Рис. 8.11. Вкладка Email
JX<
Конфигурация Jambook
URL = Спам
Картинка =Спам
Только смай л чей
Запрещенные слова
Баненые IP
Список смайл ков
льт <атьСАРТСНА|
| Установки jf Записи I ЕтаЯ
Определять как спам
Спан U.-.,pnpce>.
О Нет ® Да©
[Йе публиковать автоматичесски записи, помеченные как спам О
© Нет О Да О
О Нет ® Да О
О Нет © Да О
О
:С :grin ;)
8) :р :roll :aak :upset :zzz1, :slgh :? :cry
~Л
I
'О
jO
Рис. 8.12. Параметры вкладки Спам помогают в борьбе со спаммерами
314
Гпава 8
Другие параметры этой вкладки определяют дополнительные ограниче-
ния:
• URL = Спам — любое сообщение, содержащее URL, будет считаться
спамом Даже если нормальный пользователь (не спаммер) отправит
сообщение, в котором указан URL, оно будет расценено как спам;
• Картинка = Спам — сообщение, содержащее тег вставки картинки
(<img>), будет расценено как спам;
• Запрещенные слова—- позволяет задать список запрещенных слов,
если это нужно. Лучше всего найти список слов, часто используемых
спаммерами, и указать его в качестве значения этого параметра (для
этого выполните запрос "spam filter word list" в вашей любимой поис-
ковой машине);
• Баненые IP — позволяет сформировать черный список IP-адресов
пользователей, которым закрыт доступ к гостевой книге.
♦ Импортирование— на этой вкладке (рис. 8.13) находятся параметры им-
порта записей из гостевой книги AkoBook. При импорте вы можете авто-
матически усекать длину заголовка (вы.можете задать максимальное чис-
ло символов) и автоматически конвертировать форматирование Bulletin
Board Code (BBCode) в HTML-форматирование перед сохранением записи
в Jambook.
Конфигурация Jambook
Установки Записи Email ' Спан
Публиковать записи Q Нет ® Да ©
Максимальная длина URL |iqq ’
Конвертировать BBCode Q Нвт (♦) Q
Рис. 8.13. Параметры вкладки Импортирование определяют,
как записи гостевой книги будут импортироваться из AkoBook
Функции для Web-сообщества 315
При мечан ие_________________________________________________
Расширение Jambook, как и многие другие, разрешает использовать текст с
форматированием (шрифты, стили и т. д.), заданный в формате BBCode.
BBCode — это облегченный язык разметки, использующий квадратные скобки
для указания тегов форматирования, например, [Ь]Этот текст будет жир-
ным! f/b]. Возможности BBCode скромны по сравнению с HTML, но он часто
используется, поскольку с его помощью сложнее выполнить спуффинг страни-
цы, путем включения в нее опасных скриптов (например, JavaScript-код может
быть внедрен в HTML-код, но не в BBCode).
Как только ваша гостевая книга будет настроена, вы сможете отправить пер-
вое сообщение, адресованное будущим посетителям гостевой книги. Вы даже
можете создать несколько сообщений (например, "Добро пожаловать на
сайт!"), но указать разные даты публикации, чтобы ваша гостевая книга не
выглядела заброшенной.
Разрешение комментариев пользователей
Разрешение пользователям комментировать статьи сайта — это очень эффек-
тивный способ создания виртуального сообщества, но при условии регуляр-
ного добавления нового контента. Лучший способ заставить посетителей
принимать участие в развитии сайта— это постоянно добавлять новый кон-
тент и разрешить пользователям его комментировать.
Такая модель успешно используется на огромном числе сайтов— всех не
вспомнишь. Наиболее популярные сайты, разрешающие комментировать ста-
тьи— это сайты, распространяющие сплетни о знаменитостях— вроде
TMZ.com и Superficial. Также хороши сайты Ain't It Cool News и Slate. Мно-
гие сайты вроде CNET и Epinions используют системы комментариев в каче-
стве магической формулы генерации повторного трафика1.
Если вы регулярно добавляете новый материал (даже незначительный), до-
бавление системы комментариев — единственный путь развития. Его адми-
нистрирование довольно простое и сводится к бану спаммеров и удалению их
сообщений, поэтому вы не будете тратить на управление комментариями
много времени.
Совет
На многих популярных сайтах имеется документ, описывающий правила сайта.
В этом документе описывается, что можно публиковать, а что нет. Данный до-
кумент формируется постепенно (по мере развития сайта) и описывает основ-
ные проблемы, возникающие с содержимым комментариев статей. Создание
такого документа— отличная идея, если вы разрешили пользователям ком-
ментировать статьи сайта.
1 Когда один и тот же пользователь заходит на сайт несколько раз в день, чтобы прочитать
комментарии других пользователей. — Пер.
316
Гпава 8
Для Joomla! разработано более 20 расширений для создания системы ком-
ментариев. Наиболее популярное расширение— AkoComment, предостав-
ляющее полнофункциональный интерфейс комментирования и позволяющее
администратору полный контроль над комментариями. Вот наиболее полез-
ные функции AkoComment:
♦ шаблоны для форматирования комментариев;
♦ проверка совместимости с XHTML;
♦ создание RSS-ленты по комментариям;
♦ ограничение количества комментариев для каждой статьи;
♦ системное уведомление при добавлении нового комментария;
♦ интеграция с расширением Community Builder (будет рассмотрен далее в
этой главе);
♦ уведомление по e-mail администратора и пользователя о новых коммента-
риях.
Установка AkoComment
Установка пакета AkoComment производится в несколько этапов. Сначала
нужно загрузить архив пакета:
http://joomlacode.org/gf/project/akocomment se
Загруженный архив содержит плагин, компонент и два необязательных
модуля. Вам нужно извлечь архивы компонента и плагина и установить их с
помощью Менеджера расширений. После установки компонент будет скрыт,
поэтому сразу после установки компонента откройте Менеджер плагинов и
опубликуйте компонент AkoComment.
Примечание переводчика _____________________________________
Перед установкой AkoComment включите режим обратной совместимости (ак-
тивируйте плагин System — Legacy).
Добавление комментариеЕ^
После установки и активации плагина AkoComment полностью готов к рабо-
те. Откройте главную страничку вашего сайта: в самом конце любой статьи
вы увидите ссылки, позволяющие добавлять комментарии для статьи
(рис. 8.14).
Если для статьи еще не написано ни одного комментария, ссылка Коммента-
рии превратится в ссылку Написать первый комментарий, после перехода
по которой появится редактор комментария (рис. 8 15). Как видите, тексто-
вый редактор поддерживает базовое форматирование. Как и расширение
Функции для Web-сообщества
317
---r-j -у---—. ««------- . -г--™ 43 ------------ > г— —- 'М "
lomla/index.|^?option=com_frontpage&Iternid~-l v Переход
"~~~”~"ста7Ган7 который стоял настол^исверкая ёвлымкГ^окюлитаки*-*
призывал: "Выпей меня"
Молоко конечно тут же выпили вместе с булочкой из другой статьи, А
для того, чтобы вы знали, как выглядит стакан со свежим солоком. мы
вам его показываем здесь. Вот он (см. фото).
А еще молоко можно добавлять в чашечку с кофе, но это уже из другой
статьи.
_.) Комментариев (1) | <♦' Add as favourites (0) | 0<' Цитировать эту
статью на своем сайте | Views: 2
ф Интернет
Рис. 8.14. Внизу каждой статьи появятся ссылки, позволяющие добавить комментарии
Цобавление комментария
• Пожалуйста, придерживайтесь темы статьи
• Личная переписка и оскорбления будут удалены
• Не используйте комментарии для раскрутки своего сайта. Такой материал будет удаляться.
• Перед нажатием на кнопку‘Отправить* обновите страницу, чтобы получить новый код безопасности
• Учтите, что предыдущий пункт имеет значение только в том случае, если был введён неверный кед
безопасности.
ИМЯ
E-mail
Домашняя страница
Тема
BBCode
Комментарий
t е »
• > .7 <4
К <«> •
Код-
В I wish being pievanted by email of the comments which uwll follow
О1П I"E>»< V
ф Интернет
Рис. 8.15. При добавлении комментария вы можете использовать базовое форматирование
и смайлики
318
Гпава 8
Jambook, AkoComment поддерживает генерацию картинок подтверждения
(CAPTCHA) для зашиты от спама.
Сразу после добавления комментария (и его подтверждения, если
AkoComment настроен соответствующим образом) он появится после текста
статьи (рис. 8 16).
Add as favourites (0} | - Т* Цитировать эту статью на сиoteM сайте | Vlewst 2
Комментариев (1)
1 -И- - 14 4
Оатья
Очень увлекательная статья! fe
ЕЗЗ
Денис
Цобавление комментария
• Пожалуйста, прмдерхнядйтесь темы статьи
• Личная переписка и оскорбления будут удалены.
• Не исполосуйте комментарии для раскрутки своего сайта Такой материал будет удаляться
• Перед нажатием на кнопку'Отправить* обновите страницу, чтобы получить новый код безопасности
• Учтите, что предыдущий Пункт имеет значение только в том случае если был введен неверным код
^Готово
Рис. 8.16. Вот так отображаются комментарии
После добавления системы комментирования вам понадобится популярная
или спорная статья для создания множества комментариев. С развитием ва-
шего сайта и сообщества вы заметите, что на сайте формируется подсообще-
ство регулярных комментаторов. Они чаще других комментируют новые ста-
тьи, независимо от их темы.
Настройка и управление комментариями
Одна из важнейших функций AkoComment заключается в предоставлении
администратору полного контроля над обработкой комментариев и коммен-
таторов. В меню Компоненты вы обнаружите подменю AkoComment. а в
нем три команды: View Comments (Просмотреть комментарии). Edit Settings
(Редактировать параметры) и Edit Language (Редактировать язык). Команда
View Comments используется для просмотра и редактирования всех сущест-
вующих комментариев. Вы также можете переупорядочить комментарии,
опубликовать или скрыть их.
Функции для Web-сообщества
319
Примечание переводчика
Пользовательская часть (названия ссылок и других графических элементов)
AkoComment переведена на русский язык (и на другие языки), а вот панель
управления AkoComment будет на английском
Большинство настроек доступно через команду меню Edit Settings После
выбора этой команды, вы увидите семь вкладок экрана конфигурации.
♦ General (Общие) — на этой вкладке (рис. 8.17) вы найдете базовые пара-
метры комментирования, в том числе сможете определить, где разрешено
комментирование и как должны показываться имена пользователей.
♦ Layout (Разметка)— на этой вкладке (рис. 8.18) вы сможете настроить
отображение комментариев в желаемом вами порядке и стиле. Вы можете
изменять интерфейс, показанный ниже каждой статьи. По умолчанию
ссылки Add as favorites (Добавить в избранные) и Quote this article on
your site (Цитировать эту статью на своем сайте) показываются справа от
ссылки Comments (Комментарии). На вкладке Layout вы можете скрыть
эти ссылки.
♦ Posting (Сообщения) — параметры этой вкладки (рис. 8.19) позволяют вам
настроить интерфейс создания комментариев. Все параметры после пара-
метра Disabled security code (Отключить код защиты) относятся к генера-
ции картинки защиты от спаммеров (CAPTCHA). Изменение этих пара-
метров —- отличная идея. Если сайты с системой AkoComment станут по-
пулярными, спаммеры могут создать алгоритмы распознавания картинки и
обойти защиту от спама.
320
Гпава 8
General Layort Porting Ndificatjon Reports Favoured Tempi ate
Common» Sorting: [наиаМлм t«t v
AutolimM i um of comment* Io display: |\jriimiu~ %?
Hum of comment* per page: | io
Show favoured link: Her ff да
Sorting of new commerts
Г” Dteabied add form beyond the liml (block add new comment)
Show quote thia article n wehatte ink :
Show hks'Mtew*:
Show print link-
Sliow aend Email ladt:
Show read more link:
Character to eeparate each ink:
Г Нет да
r Нет Да
Г нет Да
Г Нет & да
Г Нет Де
Г No commert after contort iem ( On read more ink adrved)
Рис. 818. Параметры вкладки Layout позволяют вам настраивать отображение комментариев
и ссылки, появляющиеся внизу статьи
/ AkoComment 4 Z тшжлкжо rrtcML ЖО1ТКЖ
General Layout Porting Notification Reports Favoured Template
Time out g , Time before post a new comment by he same user (seconds)
SB Code Support- f Нет ** Да Alow the use of 06 Codes?
Picture Support: Г* Нет (* Да Alow the use of pictures h commerts?
SmiMe Support; Г Нет Д» Alow the use ol Srrdies in commerts?
Display field email: г Нет Да Alow the use a field emai author in header commerts?
Display field web С Нет <• Да Alow the use a field web in header commerts?
Display fieid Title: Нет <* Да Alow the изе о field tile in header commerts?
Display checkbox for contacted: ** Нет Да Show 1 wish to be contacted by emal regardmg additional comments"
DieaiUed security code: Bacfcfp-ound col «г security code: Font color security code: Line color secu itycode- Borctef color security code - Preview image security code: (* Нет f Де FFF4EA ffsooo FFC800 FF8O00 Not recommended to change this opbon (prated commerts from spammers!) Save settings for refresh mage
Рис. 8.19. Вкладка Posting
Функции для Web-сообщества
321
♦ Notification (Уведомление)— параметры этой вкладки (рис. 8.20) опреде-
ляют, будет ли отправлено автоматическое уведомление по e-mail при соз-
дании нового комментария. Как и расширение Jambook, функция отправки
сообщения основывается на Joomla! и должна быть правильно настроена.
Необходимые параметры вы найдете в Менеджере общих настроек.
Gen rat Layoct Posting Notification
Reports Favoured Template
Notify Admin:
Notify ап administrator by emaP
Admin's Email for new comment:
Mail notification to which email address’
Рис. 8.20. Параметры вкладки Notification управляют автоматической отправкой уведомлений
Рис. 8.21. Вкладка Reports
♦ Reports (Отчеты)— параметры этой вкладки (рис. 8.21) разрешают поль-
зователям сообщать о комментарии администратору. Выбор правильного
значения параметра— сложное решение. С одной стороны, пользователи
смогут контролировать других пользователей и сообщать о спаме либо
другой нелегальной информации. С другой стороны, ваш почтовый ящик
будет забит нежелательными сообщениями. Может начаться даже так на-
зываемая "флеймовая" война, когда пользователи будут часто сообщать о
факте нарушения правил сайта. Обработка таких сообщений -— тоже
сложная задача. Некоторые пользователи будут честно сообщать о фактах
нарушения (например, что некоторые комментарии оскорбительны с по-
литической или религиозной точки зрения). А некоторые будут сообщать
о нарушениях, даже если их нет. Решите, будете ли вы администрировать
свой сайт каждый день или нет. Если да, тогда у вас не будет много про-
блем с возможными жалобами. Однако, если вы будете администрировать
сайт раз в неделю или раз в месяц, накопится много жалоб и часть из них
11 Зак 468
322
Гпава 8
будет проигнорирована. В этом случае лучше выключить данную функ-
цию.
♦ Favoured (Избранное)— параметры этой вкладки (рис. 8.22) позволяют
вам создавать меню Favorites (Избранное). Данная вкладка содержит ин-
струкции по созданию такого меню с помощью интерфейса администра-
тора.
General Layout Pasting Natillcetlon Reports Favoured Template
Users:
Humber of favourite
Choose who can favoured an article
Choose how much to display links favoured articles after voting
How create a meiMJ for display "favourites of the reader* " *
-goto Menu > mainmenu > then select New
- Choose type " Lnk - URL “ then wr<e the URL to be
index .php'’optcn=com_akocommentaiask=moref av
How create a menu for di .play ’Yny favourite a” for registered user*?
- go Io Menu > usermenu > then select New
- Choo «e type "Link - URL" then write the URL to be
ndex php?optcn=com_akocomm«Ttateskxmytevoured
Рис. 8.22. Вкладка Favoured’ ее параметры определяют внешний вид меню Favorites
< MoConpnt Favoured Tempiaie
General Layout Posing Notification Reports
Style comment: 1 Fialdiat V- Choose template or show each comment in lieldset or aiernate color in table
Form Position: : Behind Ccmmirtj V Wiere should the form be cfcplayed?
Display RSS Feed : Г Нет ₽ да I 10 I ria
Diep ay co nment’s in mber : r Нет ₽ Да
Display № comment's author: & Нет г д«
Display cutirt comment's author: f' Нет ff д. dsptay statiX guest or геДОе ed
Litd< airtho* to CB pi ofile Нет г д. Lr* author to Commuxty Bidder Pro *e (replace emad it* by link to СЭ1
Date format * »d Specif c atrlthu* format date (exarrpie **d %m-%¥ sjl M)
Рис. 8.23. Вкладка Template
♦ Template (Шаблон) — параметры вкладки Template (рис. 8.23) позволяют
вам определить внешний вид комментариев. Параметр Style comment
(Стиль комментария) состоит из шести разных настроек. Параметр Form
Функции для Web-сообщества
323
Position (Позиция формы) определяет местоположение области коммента-
риев. Вы можете даже создать RSS-ленту комментариев, активировать па-
раметр Display RSS Feed (Отображать RSS-ленту).
Для международной адаптации AkoComment предоставляет возможность ре-
дактирования языкового файла, что помогает перевести интерфейс на ваш
родной язык. Данная функция доступна через команду меню Компоненты |
AkoComment | Edit Language. Появится текстовый редактор, позволяющий
перевести текст интерфейса на нужный вам язык (рис. 8.24).
Примечание переводчика________________________________________
AkoComment практически полностью переведен на русский язык (только интер-
фейс пользователя, интерфейс администратора будут на английском языке),
вам нужно отредактировать всего лишь несколько констант.
Path: Люте tlkweoryu doniiinsjdkws orц.иа'public Jitnil |oomla'componente/coni_akocommenblanguiges'rtissian php
<?php /v
SSSffSSSSeSfSSffggSSfffSSSSSSSSSSfSfttssss
g AkoComment - A User Conusnts Component g
g (C)opyright 2004 by Arthur Konze g
g Homepage : vuu.maaiboportal.com g
g Version : 1.0 beta 1 g
g License . Copyright, don't distribute g
gggtggggggggttggggtggtggggtgtttggggggggttt
g Author: Arthur Konze f
f Homepage : uww.konze.de g
g Translation: Pavel Haryanov g
g Homepage: jack.kiev.ua g
ggggggggggggggggsgggggsggggggggggggggggggg
ff Header language definitions
DEFINE("_AKOCOMMENT_WRITECOKMENT-,"Добавление комментария");
DEFINE(“_AKOCOHHENT_WRIТЕFIRSTCOHMENT","Написать первый комментарий");
DEFINE("_AKOCOMMENT_QUOTETHISARTICLE", "Цитировать эту статью на своём сайте");
DEFINE(“_AKOCOMMENT_CREATELINK ,“Чтобы создать на своём сайте ссылку на эту
статью,«Ьг >скопируйте текст ниже и вставьте его на свою страницу."1- V
Please note The file must be writable to save your changes
Рис. 8.24. Команда Edit Language позволяет локализировать интерфейс AkoComment
Пакет AkoComment также содержит два модуля — для отображения послед-
них комментариев и для отображения избранных комментариев. Вы можете
разместить их на главной или любой другой странице сайта.
Реализация календаря событий
Календарь группы или события — отличная возможность для вашего сайта
стать центральным источником информации о разных событиях, касающихся
324
Глава 8
темы вашего сайта. Календарь может быть также полезен специфическим
географическим секторам вашей целевой аудитории. Если вы посетите очень
популярный сайт Craigslist (www.craigslist.org), то заметите, что все предло-
жения разбиты по регионам (Лос-Анджелес, Сан-Диего и др.). Довольно час-
то сообщества формируются по географическому признаку.
Совет______________________________________________________________
Если вы не хотите размещать календарь на своем сайте, Google предоставляет
специальный сервис— Календарь (www.google.com/calendar), обладающий
многими преимуществами: интеграция с пользовательским интерфейсом Gmail,
возможность создавать и отправлять поздравления, устанавливать и отправ-
лять (в том числе по SMS) уведомления. Для интеграции Календаря Google со
своим сайтом вы можете использовать модуль Wrapper.
Основная проблема календаря в том, что он может остаться пустым. Если в
календаре не будет событий, он не привлечет много посетителей. Поэтому
вам нужно самостоятельно заняться планированием вашего календаря, искать
события, связанные с тематикой вашего сайта.
Целиком заполненный календарь тоже не очень хорош — это создаст про-
блемы при индексировании календаря поисковыми пауками и при создании
карты сайта. Когда поисковая машина посетит ваш сайт, она зарегистрирует
огромное количество ссылок календаря и просто добавит ваш сайт в очередь.
А это отрицательно повлияет на частоту посещений вашего сайта поисковым
пауком. Аналогичная ситуация будет и с картой сайта: в нее будут добавлены
тысячи ссылок календаря. Чтобы решить проблему, нужно регулярно архи-
вировать старые события, исключить календарь из карты сайта и запретить
его индексирование (в robots.txt).
JCal Pro — один из лучших календарей для Joomla!, обладающий превосход-
ным CSS-дизайном (рис. 8.25). Он также дает возможность пользователям
производить поиск интересующих их событий. Компонент поддерживает
родные права доступа Joomla! для создания событий и администрирования.
Вы можете загрузить JCal Pro абсолютно бесплатно с сайта Anything-Digital:
http://dev.anything-digital.com/index.php?option=com_content&task=
view& id=2& Itemid=3
Приме чание пер ввод чика__________________________________________
На момент перевода книги компания Anything-Digital сделала компонент JCal
Pro "условно-платным”, т. е. компонент распространяется как бы бесплатно, но
вы не сможете его скачать, пока не купите подписку на поддержку, которая
обойдется вам от 5 до 60 долларов. Скачать русскую версию компонента абсо-
лютно бесплатно можно с сайта переводчика: http://dkws.org.ua/files/com_
jcalpro_1.5.3_rus.zip. Данная версия расширения создана на базе пакета JCal
от Форума русской поддержки (joomlaforum ru) и дополнена всеми возможными
Функции для Web-сообщества
325
изменениями для успешной установки расширения в Joomla! 1.0 и Joomla! 1.5
(в режиме обратной совместимости).
JCal Pro — единственный компонент в пакете, поэтому вы можете установить
его с помощью Менеджера расширений. Чтобы получить доступ к компонен-
ты, просто создайте элемент меню, связанный с этим компонентом.
вид месяца п*а*спл др* вид и«дгли Вид дои Haierounn Пон. к
’ Вид месяца Monday 06 Мау, 200Я
Мау 2008 Аюв 2й1)й >
Отверг Пвшмцй
ib М 2Z 2а П 30 л
Сегодня I Общим
Поиск по календарю
введите ключевое слово... Go
JCal Pro calendar
Рис. 8.25. Календарь JCal Pro
Для создания событий JCap Pro использует стандартный WYSIWYG-
редактор Joomla!, поэтому вы сможете применить функции форматирования
в своих событиях. События можно настроить как повторяющиеся, а также
поместить в специальные категории: JCal предоставляет полный контроль
над просмотром событий. Также вы можете выбрать общий календарный ре-
жим, в котором события отображаются от самого последнего до самого дав-
него.
Используя панель управления JCal Pro (рис. 8.26), вы можете настроить ком-
понент. создать категории событий (они похожи на стандартные Joomla!-
категории), создать сами события, установить и выбрать темы, а также про-
смотреть документацию.
326
Гпава 8
Рис. 8.26. Используйте панель управления JCal Pro для настройки компонента
{Событие: Новое
ДС1АЛН СОбЫ1МЯ
Заголовок I
Категория f Выберите гдтегоргео м
В Z U AM | Ж Я -Е Я 1 _Стигы________у У
:=»=:=*, |- i к у*-. а ъ
— -z|3l “ 11 " & 3 -1 ‘ sa 41 в Й)
^«формаци. о лу6лим4ц -
Опубяжяино О Н.Т © До
Ом*»»- о нот ® Да
Время начала.
|5 у/. |м»й J; I ZOOB jC о 'оТ » "оГм ' «п М
Дата Дпитвгьностъ
q _ Дпа. д-]^,
О Весь дет*.
О Нет даты окоттчания (Показывать только дату начала)
Контактная ; I
мнформаиия.
E-Jiiai
URL
Метод пов торения Дата окогмания повторения
О на повторять это событие ® Не закаливать повторы** события
О Повторять кажвьы '; Выберите время V О Закончить после ^повторегмяГий!
Рис. 8.27. Создайте новое событие и установите его дату и время
Функции для Web-сообщества
327
Перед созданием событий я рекомендую создать соответствующие катего-
рии. По умолчанию есть лишь одна категория— Общие. Можно создать
следующие категории: праздники, конференции, фестивали, фильмы, концер-
ты, туры и т. д.
После добавления категорий, соответствующих вашему сайту, с помощью
редактора событий можно добавить и отредактировать события (рис. 8.27).
Как видите, при создании события нужно установить довольно много пара-
метров. Параметры повтора позволяют повторять событие через определен-
ное число дней, недель, месяцев, лет. Можно повторять событие постоянно, а
можно установить число повторений или дату, после которой событие повто-
ряться не будет.
JCal Pro позволяет импортировать события из компонента ExtCalendar (ком-
понент Mambo). Импорт осуществляется автоматически, если ExtCalendar
будет установлен на момент установки JCal Pro.
Создание форума
Форумы очень полезны для создания сообщества пользователей, но одновре-
менно они довольно опасны. Каждый, у кого хотя бы раз был форум, знает
о войнах флейма, возникающих между пользователями, о брани на форумах,
о мертвых форумах, на которых нет ни одного сообщения. Довольно сложно
поддерживать форум. Зато, если форум будет успешно развиваться, он станет
настоящим складом контента и основой вашего сообщества.
Вы можете выбрать один из нескольких компонентов форума. Но главный
сайт Joomla! использует форум SMF (Simple Machines Forum), который на-
стоятельно рекомендуется использовать и вам. Несмотря на то, что SMF на-
писан на РНР, это не родной Joomlal-форум. Для его интеграции с Joomla!
используется несколько дополнительных компонентов.
Примечание переводчика_________________________________________
На момент перевода этой книги форум официального Web-сайта Joomla! рабо-
тал под управлением форума phpBB.
Примечание_____________________________________________________
SMF — это не "родной" Joomla! форум (т. е. не выполнен в виде Joomla!-
компонента), существует несколько "родных" Joomlal-форумов Наверное, са-
мое популярное расширение— Fireboard Forum (http://joomlacode.org/gf
/project/fireboard/frs), обладающее дружественной дизайнеру системой шаб-
лонов, поддержкой личных сообщений, возможностью добавлять модули
Joomla! на форум, предоставляющее статистику форума и многое другое. Дру-
гое популярное расширение форума — Kookaburra (ww.theyfactory.com) — об-
легченная версия PubBB с возможностью интеграции с Joomla!.
328
Гпава 8
С момента установки командой разработчиков Joomla! форума SMF насчиты-
вается более 60 тысяч активных пользователей, а каждый день пользователи
отправляют более 1200 сообщений. Судя по всему, SMF —- отличный выбор.
SMF распространяется свободно, для него разработано много скинов и шаб-
лонов, а после установки компонента-моста SMF станет частью Joomlai-сайта
(рис. 8.28).
Ноте > My Forum
ГГУИ
М/ ЗЫвпг
Chat
o- j wn
Q.«r
thctc uaitvy 2
₽ha= G*k«ry 3
’pnfcTI
Jccwe? Home
Jcem-a' t-оплра
Оки horns
ЛЙГ’Ь'аа МГл
Op-gnSource'-’.TTt
” Г1- '^«« « ——
Hello admin March 02. 2007. 11:52.41 am
Show u i-ead posts nee last visit.
Show new replies to your posts.
Total time logged in: 3 minutes.
News: SMI - just Installed! / Search
My Community
WPff 11 П I.W—WW—
a Last post by
. Simple
Genet al Oi^etis^tnn масЫпм
Рис. 8.28. Форум SMF в действии
Помимо выбора форума, вам нужно также выбрать мост, позволяющий ин-
тегрировать форум с Joomla!. Для SMF вы можете выбрать один из коммер-
ческих или бесплатных мостов. В следующем разделе мы рассмотрим мост
JoomlaHacks Joomla!-SMF Bridge.
Установка SMF
Перед установкой форума убедитесь, что ваш сервер соответствует всем тре-
бованиям форума. Если на вашем сервере уже запущены Joomla! и MySQL,
скорее всего, проблем не будет. Минимальные системные требования к сер-
веру следующие:
♦ РНР 4.1.0 или выше (может быть запущен как на Apache, так и на
Microsoft IIS);
Функции для Web-сообщества 329
♦ MySQL 3.23.4 или выше;
♦ PHP-директива engine должна быть установлена в On;
♦ PHP-директива magic_quotes_sybase должна быть выключена (значение
off);
♦ PHP-параметр session. save_path должен указывать на существующий ка-
талог, доступный для записи;
♦ PHP-параметр upload_tnip_dir должен содержать имя существующего ка-
талога, доступного для записи;
♦ PHP-директива file uploads должна быть включена (значение On).
Если ваш сервер может запустить SMF, загрузите форум с сайта
ivww.simplemachines.org.
При загрузке доступны следующие базовые пакеты: full install (полная уста-
новка), large update (значимое обновление), small update (незначительное об-
новление) и web install (Web-установка). Поскольку вы никогда не устанав-
ливали SMF, нужно выбрать full install. Можно также выбрать Web-
установку, если этот вариант вас устроит.
Совет_____________________________________________________________
Как системный администратор, я пришел к выводу, что лучше всегда сохранить
инсталлятор любой системы, которую я устанавливаю. Сначала я думал, что
инсталлятор всегда можно скачать в Интернете, как только он понадобится, по-
этому никогда не сохранял его. Однако несколько раз, когда я нуждался в ин-
сталляторе при восстановлении системы после ошибки, нужная мне версия не
была доступна. А новая версия пакета была не совместима с данными и конфи-
гурацией моей версии. Хуже всего то, что разработчик мог просто испариться, и
я вообще не мог найти нужную мне версию инсталлятора. Поэтому я всегда со-
храняю инсталлятор системы — на всякий случай. Если у вас нет другого выбо-
ра, вы можете попытаться использовать интернет-инсталляторы.
Мост SMF-Joomla! доступен по адресу www.joomlahacks.com/joomla
Zcomponents/Joomlal-SMFForum.
Чтобы наиболее эффективно использовать SMF вместе с Joomla!, нужно из-
влечь файлы из архива в каталог, находящийся в пределах каталога Joomla!.
Проще говоря, создайте каталог forum в корневом каталоге Joomla!.
В Windows этот каталог будет называться примерно так: C:\Program
FilesXApache Software Foundation\Apache2.2\htdocs\forum.
Сразу после распаковки файлов форума в этот каталог обратитесь к нему
с помощью браузера. Будет автоматически запущен файл index.php, который
произведет весь процесс установки форума. На первом этапе установки нуж-
но будет установить базовые параметры и ввести параметры доступа к
MySQL (рис. 8.29).
330
Гпава 8
Basic Settings
Just a few things for you to setup
Forum name: !«y Community
This is the nam« of your forum, la. "The Tasting Forum’
Forum URL: http dkws orn ua/mmla/forum
This is the URL to your forum without the trailing '/’I.
In most cases, you can laava th a dafau t value In this box alone - it Is usually -ight
Gzip Output: E Compress output to save bandwidth.
This function does not work properly on all servers but can save you a let of bandwidth
Click hire to test it (it should just say "PASS*".)
Database Sessions: E Use the database for sessions nstead of using files.
This feature Is almost always for the best, as t makes sessions more dependable.
UTF-B Character Set: 0 Use UTF-B as default character set
This feature lets both the database and the forum use an nte national cha acter set, UTF-в This can be useful when
wo king w th mu tipi* languages that use d ffarant character sets.
Allow stat Collection: □ Allow Smple Machines to Collect Basic Stats Monthly
If enabled, this will a low S mple Mach nai to vis t your site once a month to collect basic stat sties. Th s w I help us make
dedsions as to which configurations to optimize the software for. For more information please visit our nfo page.
MySQL Server Settings
These are the settings to use for your MySQL server. If you don't know the values, you should ask your host what they are
MySQL server name: юсам*st
*h s Is nearly always localhost - so If you don t know, try localhost.
MySQL username:
Fin n me use name you need to connect to your MySQL database here
If you don't know what t Is, try the username of your ftp account, mo>t of the time they are the same
MySQL password:
Here, put the password you need to connect to your MySQ<_ database
If you don’t know this you should try the password to your ftp account.
MySQL database name: lrnf
Pi in the name of the database you want to use for SMF to store t» data in
if th в database does not exist Ibis nstaller w II try to create t
MySQL table prefix: smf_
The prefix for every table m the database. Do notinata 1 two forums with the same prefix!
This value allows for multiple nstallationj In one database.
| Proceed |
Рис. 8.29 Как только установите параметры, нажмите кнопку Proceed
Примечание переводчика
На самом деле в реальных условиях первый этап установки — это установка
необходимых прав доступа. Вы можете ввести параметры доступа к FTP, чтобы
инсталлятор автоматически установил права доступа к файлам и каталогам,
или же установить права доступа вручную (инсталлятор выведет список фай-
лов и каталогов, права доступа к которым нужно изменить). Автор книги уста-
навливал форум под Windows, поэтому окно с параметрами FTP у него не поя-
вилось.
Второй экран инсталлятора позволяет вам создать учетную запись админист-
ратора форума (рис. 8.30). При выборе пароля администратора учитывайте
все правила безопасности (пароль должен состоять из букв разного регистра
и цифр), чтобы его не подобрали хакеры.
На этом установка форума завершена!
Функции для Web-сообщества
331
Рис. 8.30. Придумайте безопасный пароль администратора форума
Примечание переводчика_________________________________
После установки форума не забудьте удалить файл index.php с сервера
Запуск SMF
Запустите браузер и обратитесь к URL форума, вы увидите только что уста-
новленный форум (рис. 8.31). SMF — это полнофункциональный форум, ко-
торый можно просто использовать, создав на него ссылку в меню Joomla!.
Однако в этом случае вы потеряете много функций, например, навигацию
сайта, поэтому желательно использовать расширение Joomla!-SMF, что и бу-
дет продемонстрировано чуть позже, но прежде мы рассмотрим SMF. чтобы
понять, как он работает.
Перейдите по ссылке General Discussion — вы увидите все темы данной ка-
тегории форума (рис. 8.32). Форум отображает всю основную информацию
о каждой теме — имя пользователя, создавшего тему, количество просмотров
и ответов, а также дату последнего ответа. Данная информация очень полезна
для частых посетителей.
При создании новой темы вам будет доступен стандартный редактор
(рис 8.33). Это не WYSIWYG-редактор, подобный тому, который вы исполь-
зовали в Joomla!. Однако данный простенький редактор позволяет выполнять
несложное форматирование текста и вставлять смайлики (рис 8.33).
332
Гпава 8
’ Total time logged in: 6 minutes
News* SMF - use nstall ar
Sear i I
у* Mi
My Community
New Fasts
General Discussion 1 posts
Feel free to talk about anything and everything In this board i Topics
Last post by Simple
Mach nes
on Today at 02119‘ 5S pm
No New Pent
( Forum Stats
I Posts n 1 Top cs by 1 Members Latest Member admin
Latest Post 1 Welcome to $MH" ( Today at 02 19:sS pm)
** th'- in. s' p'-'Str rtp1 ri',“ fv
1 Users Online
1 * г
tUsers active n past IS minutes:
«rij i-
Most online Today: 1. Most On me Ever: 1 (Today at 02:28:23 pm)
Рис. 8.31. Основные категории и статистика форума
Рис. 8.32. Для каждой темы выводится общая информация о ней
Функции для Web-сообщества
333
Рис. 8.33. Создание новой темы
Для администрирования SMF используется SMF Administration Center (Центр
администрирования SMF), показанный на рис. 8.34. Он довольно сложный,
но вместе с SMF поставляется превосходное руководство. Чтобы изучить и
настроить эту систему, вам понадобится немного времени.
Установка компонента-моста JoomlaHacks Joomla!-SMF
Как только вы установите и настроите форум, можно приступить к его инте-
грации с Joomlai. Если вы уже загрузили архив моста (у него будет длинное
имя файла вроде srnf_l-l_jsmf_l-0-x_bridge_l-l-7.zip), извлеките из него ар-
хив компонента (имя файла comjsmf.zip).
Установите компонент с помощью Менеджера расширений. После этого в
меню Компоненты появится подменю установленного компонента. Выбери-
те команду Install для настройки связки SMF и Joomlai. Единственный пара-
метр, который вам нужно изменить, — это путь к каталогу, в котором уста-
новлен форум (SMF Absolute Path —- рис. 8.35). Укажите каталог SMF и на-
жмите кнопку Сохранить.
334
Гпава 8
Рис. 8.34. SMF Administration Center используется для настройки форума
Joomla-SMF Forum Installation
Instal Hioti Registration!
Joomla-SMF Forum Installation
Forum URL
SMF Absolute Path;
SMF Table Pref
гь'.УЫ
ie [verify]
/home/dkwsotgu/domains/dkws erg ua/pubiic_Hml/|omla/fofurr|
smf_ l
SMF Forum installed on the same database as Joomla.
Patch Joomla Sou ce Files.
Patch SMF Source F les (Note: Unpatch before upg ading SMF or installing mod.)
Optional: Synchronize Joomla and SMF usersfusername or real name).
Рис. 8.35. Указание пути к SMF
Функции для Web-сообщества
335
Примечание переводчика_________________________________________
В старых версиях компонента Joomla!_SMF для настройки пути к форуму нужно
было выбрать команду Configuration (из меню Конфигурация | Joomla!-SMF
Forum), в новой версии настройки каталога и префикса таблиц изменяются че-
рез команду Install, как было показано ранее.
После этого вам останется создать ссылку в главном меню, указывающую на
компонент-мост SMF, при переходе по которой станет доступен форум SMF
внутри интерфейса Joomla! (рис. 8.36).
JoomlaHacRs
40 OOOmb space / 5CK)gb bandwidth web hosting
starting $4.95 per month!
* Login Register Submit New. Topsttes Kugs Advertise ДЬосЛ ‘.vnwKl Rb.W(tfnend Search
Homo Forum
V/elc-i rie, Guest. Please )r n , .
Did you mis': your activat-p email,
May Ob OB 09 37 14 AM
Login with username, password and session length
Build a free rfbsite
Free Mtbs le bunder. Includes free l ли ng arid templete*
Windows VPS Hosting
Wmdo /ОБ ЧЕТЬЮ! Special: « 2* . ippcrf. fO
60diysFree
w**.ASOr»x com
- ieeW«:. it*He>jting c m
да» ь» Google
-Ji Joomla Forum
joomla Hacks
Announcements
c-ir en-OL’Oenen*
22 Posts
in
IS Topics
Joomla-SMF Forum Support
SuDpert board for J la-smf - arum Bridge.
... чЗоагЛ J . ~ ;,л .->!->!» . tfs j x I l
• • # >, l ?
FAQ's
FAO's for all protects Feel free to add your own FAQ.
ct»id boards • . -.7-y-C VF A .
16396
Posts in
3119
Topics
76 Posts
in
25 Topics
La t pe*. on ky 1
<. 6, 5-19'J Ph*
in 1 |F 1 _1 d н ч
R- Dy -ffu ел e
Last js* on Today at
ОЗ.Г^ tJ AM
Л e. Heb please User
• by I
Last por on March 17,
2£ ' 4 34 54 PM
m no. Muw can 1 get the
«r- by • jpe-3aarre
Feedback
91 Posts
in
Last post on April 03,
2t_ , 11 2 J AM
Рис. 8.36. Форум SMF внутри интерфейса Joomla!
Добавление поля предложений
Довольно редко я вижу на сайтах очень полезную вещь — поле предложения.
Посетители частенько желают сделать предложения (или, наоборот, выска-
336
Гпава 8
зать свое недовольство), если на вашем сайте они не нашли того, что искали.
Вы хотите знать, что именно не нашли пользователи? Ведь на одно предло-
жение обычно приходится множество пользователей, которым необходима та
же информация.
Вы можете реализовать поле предложения с помощью одного из уже рас-
смотренных расширений. Например, с помощью комментариев или гостевой
книги. Добавление на сайт поля предложений сделает его более лояльным.
Так как поле предложения достаточно простое, мы реализуем его самостоя-
тельно в гчаве 13, когда будем рассматривать разработку собственных ком-
понентов.
Совет
Когда вы добавите возможность предложений, отправьте простое сообщение
"Спасибо" (автоматически или вручную). Ни одно предложение не должно быть
проигнорировано, и вы должны благодарить посетителей за время, уделенное
вашему сайту.
Использование Community Builder
Community Builder (СВ)— это одно из самых популярных Joomlai-расши-
рений в Web, предоставляющее расширенные функции по управлению поль-
зователями. Стандартные функции управления пользователями в Joomla! до-
вольно примитивны, а СВ дополняет их, а также расширяет профиль пользо-
вателя. Свободно распространяемое расширение СВ добавляет в Joomla!
следующие возможности:
♦ надежная система аутентификации;
♦ расширенный профиль пользователя с возможностью добавления полей и
таблиц;
♦ страница информации о пользователе, показывающая все посты пользова-
теля;
♦ списки пользователей, в том числе вывод информации о связи пользовате-
лей друг с другом;
♦ возможность загрузки аватар (аватара — это маленькая картинка, обозна-
чающая конкретного пользователя);
♦ индивидуальные страницы пользователей;
♦ возможность добавления плагинов, например, CAPTCHA, Google Map
(через Joomla!), PonyGalery (отображение картинок), статус пользователя и
отслеживание событий сессии.
Функции для Web-сообщества 337
СВ — это настолько популярное расширение в мире Joomla!, что много дру-
гих расширений интегрируется с его системой аутентификации, например.
Fireboard, OpenSEF, Zoom Gallery и phpBB.
Установка Community Builder
Прежде чем вы загрузите СВ, вам нужно зарегистрироваться на сайте
Joomlapolis (www.joomlapolis.com). Без регистрации вы не сможете перейти
в область Downloads, т. е. не сможете скачать СВ. После регистрации на ваш
e-mail придет ссылка подтверждения регистрации вашей учетной записи.
После подтверждения вы сможете скачать архив с именем вроде CBuilderl_0_2_
unziplst.zip, содержащий полный пакет СВ.
Пакет СВ содержит несколько взаимосвязанных расширений. Инсталляция
по умолчанию содержит:
♦ Comprofiler— основной компонент, используемый СВ. Предоставляет
основную часть пользовательского интерфейса СВ;
♦ CBIogin — этот модуль заменяет стандартный Joomlal-модуль Login на
вашей главной странице и дает возможность пользователям регистриро-
ваться, входить и выходит из СВ-системы;
♦ Modcomprofilermoderator— модуль управляет процессом регистрации
пользователей и позволяет указать модератора, ответственного за индиви-
дуальную регистрацию пользователей;
♦ Mod comprofileronline — этот модуль отображает список СВ-пользова-
телей, которые в данный момент находятся на сайте.
Для установки СВ нужно с помощью Менеджера расширений установить
comprofiler.zip и cblogin.zip. Если вы будете использовать функции модерато-
ра. также установите mod_coniprofilermoderator.zip.
После установки вышеуказанных расширений вам нужно отключить стан-
дартную систему аутентификации пользователей. Откройте Менеджер моду-
лей и отключите модуль Login Form (modlogin или Авторизация — в неко-
торых локализациях Joomla!). Затем активируйте модуль СВ Login. Если вы
после этого откроете главную страницу своего сайта, то увидите модуль СВ
Login, заменивший стандартную форму входа (рис. 8.37).
Используя новый модуль, вы можете войти в систему. Если вы создали ссыл-
ку меню, указывающую на компонент СВ (Comprofiler), щелкните по ней, и
вы увидите свою страницу профиля (если вы в данный момент зарегистриро-
ваны на сайте), изображенную на рис. 8.38.
338
Гпава 8
СВ Login
Пользователь
Пароль
Запомнить меня
Войти
Забыли пароль?
Вы не
зарегистрированы,
Регистраиия
Рис 8.37 Модуль СВ Login
заменил стандартный модуль
Login
admin Profile Page
Hits
Online Status ONLINE
Member Since 12/24/2006 23:43:03
Last Online 06/13/2007 19:04*02
Last Updated 06/13/2007 18:12:13
,-^g "--1
Contact Ho | ^Articles
Date Title Hits
Monday, 09 August 2004 Newsflash 2 1
Monday, 09 Auguct 2004 Nqwcfl^ch 1 8
Monday, 09 August 2004 Newsflash 3 1
Wednesday, 07 -uly 2004 Example News Item 2 2
Wednesday, 07 _uly 2004 Enamels Mews item 4 6
Wednesday, 07 ’uly 2004 Example News item i 4
Saturday, 12 Jure 2004 Welcome to Joomla! 17
Wednesday, 12 May 2004 Example FAQ Item 1 8
Wednesday, 12 May 2004 Example FAQ Item 2 10
Рис. 8 38. Страница профиля пользователя, отображаемая компонентом СВ
Функции для Web-сообщества 339
Управление компонентом Community Builder
В интерфейсе администратора в меню Компоненты | Community Builder вы
найдете следующие команды:
♦ User Management (Управление пользователями) — отображает Менеджер
пользователей, позволяющий вам выполнять операции над пользователя-
ми, в том числе создание, модификация, поиск, включение, подтвержде-
ние и одобрение;
♦ Tab Management (Управление таблицами) и Field Management (Управ-
ление полями) — данные команды позволяют вам вносить собственные
изменения в профиль пользователей (наверное, это наиболее популярная
функция СВ);
Рис. 8.39. Список СВ-плагинов
340
Гпава 8
♦ List Management (Управление списками)— позволяет вам создавать но-
вые списки пользователей. Списки могут быть отсортированы по одному
или нескольким полям и содержать до четырех столбцов (каждый столбец
может содержать одно или несколько значений). Также реализованы
фильтры списка и групповое изменение прав доступа;
♦ Plugin Management (Управление плагинами)— менеджер плагинов ото-
бражает все установленные по умолчанию плагины (рис. 8.39). Вы можете
найти множество дополнительных СВ-плагинов. скачать и установить их.
Плагины для СВ доступны на сайте Joomlaipolis в разделе Add-ons облас-
ти Downloads;
♦ Tools (Инструменты) — менеджер инструментов позволяет вам загружать
типичные данные, синхронизировать существующие таблицы пользовате-
лей Joomla! с таблицами пользователей СВ, а также проверять целостность
баз данных СВ;
♦ Configuration (Настройка) — менеджер конфигурации позволяет изме-
нять все настройки СВ — от отображения пользовательских профилей до
процесса регистрации пользователей и интерфейса модератора.
Если вы нуждаетесь в расширенном управлении пользователями, вам нужно
загрузить и установить СВ.
Резюме
С помощью расширений Joomla! вы можете создать виртуальное сообщество
сайта. Правильно выбрав профиль сайта, вы можете существенно увеличить
посещаемость, и ваш сайт может стать настоящим центром Web-трафика.
Когда вы решите создать сообщество пользовал елей, вы также должны ре-
шить, какой тип взаимодействия вы хотите позволить посетителем и сколько
времени вы можете себе позволить на управление сообществом.
Контент традиционного сайта определяется только администратором и спе-
циально назначенными авторами. В отличие от обычного сайта виртуальное
сообщество может самостоятельно добавлять контент сайта. С одной сторо-
ны. это расширяет возможности сайта, но и таит опасность. Без надлежащего
присмотра ваш Web-сайт станет подобным ребенку, которого никто не вос-
питывает.
Поэтому прежде чем добавить функции виртуального сообщества, вы долж-
ны решить^ хватит ли вам времени и энергии для надлежащего управления
сайтом. Иначе в один не очень прекрасный день ваш сайт превратится в свал-
ку ненужного контента.
ГЛАВА 9
Статистика сайта
Чем больше трафика расходует ваш Joomlai-сайт, тем больше информации
можно узнать о ваших посетителях. Хорошо, что Web-сервер может зафикси-
ровать все попытки обращения к вашему сайту, что позволяет исследовать и
проанализировать трафик, т. е. узнать, кто посещает ваш сайт, как долго
средний посетитель остается на вашем сайте, какие браузеры и операционные
системы чаще всего используют ваши посетители, а также много другой по-
лезной информации. Но наиболее важная задача — это определение самых
популярных страниц и страниц, которые никто не читает.
Существуют три основных метода сбора статистики сайта: анализатор файла
протокола Web-сервера, Joomlai-расширение и онлайновый пакет статистики.
В этой главе мы подробно рассмотрим два свободно распространяемых паке-
та (Webalizer и AWStats), несколько Joomlai-расширений и один онлайновый
пакет (Google Analytics), который может быть использован для определения
шаблонов трафика.
Информация, необходимая Web-мастеру, и ее формат зависят от личных
предпочтений. Кому-то нравится пакет А, умеющий рисовать красивые диа-
граммы, а кто-то в восторге от текстового отчета пакета В. Поэтому важно
рассмотреть возможности всех доступных пакетов и выбрать тот, который
вам больше всего понравился.
Примечание_____________________________________________________
В старых версиях Joomla! (до версии 1.5) был стандартный пакет статистики,
встроенный в интерфейс администратора. Этот пакет был исключен из Joomla!
потому, что команда разработчиков Joomla! решила, что существует много бо-
лее функциональных расширений. Если в каком-нибудь устаревшем руково-
дстве вы увидите упоминание о стандартной статистике Joomla!, не тратьте
время на ее поиск — ее уже нет.
342
Гпава 9
Web-аналитика
Изучение Web-посетителей называется Web-аналитикой. Коррелируя разную
информацию, например, точку входа на сайт, Web-мастер может точно на-
строить сайт так, чтобы получить дополнительных посетителей. Основной
анализ направлен на обработку информации Web-сервера, установку отно-
шений с другой информацией (информацией об использовании e-mail, о про-
изведенных заказах) — все это осуществляется с помощью Web-аналитики.
Чтобы получить от Web-сервера информацию, необходимую для анализа,
применяются два основных метода: анализ файла протокола сервера и актив-
ный сбор информации о посетителях (этот метод также называют page
tagging). У каждого метода есть свои преимущества и недостатки, в этой гла-
ве мы рассмотрим методы, подходящие для анализа любого Joomlai-сайта.
Примечание
Много информации по Web-аналитике вы сможете найти на сайте ассоциации
Web-аналитиков (www.webanalyticsassociation.org). Данная организация за-
нимается анализом Web-данных. Вы даже можете пройти онлайн-курсы по
Web-аналитике.
Анализ Web-протоколов
Web-протоколы — это обычные текстовые файлы, хранимые на Web-сервере,
в которые сервер записывает информацию (в определенном формате) об об-
ращениях к нему. Практически каждый Web-сервер использует один из двух
наиболее популярных форматов (Apache Custom Log Format— формат
Apache и W3C Extended Log File Format— расширенный формат W3C). Про-
граммы-анализаторы протоколов выполняют парсинг этой информации и ге-
нерируют общий отчет об использовании сайта. Одним из лучших анализато-
ров протоколов считается программа WebTrends (w^vw.vvebtrends.com).
Файлы протоколов содержат всю информацию о посещениях сайта, а также
информацию о посетителе: тип и версию его браузера, операционной систе-
мы. Анализатор протокола создает отчет по вашему трафику в прошлом и
даже может прогнозировать трафик в будущем.
Протоколы также содержат информацию о ботах (поисковых пауках), посе-
щающих ваш сайт. Изучив эту информацию, Web-мастер узнает, как часто
его страничка индексируется поисковыми машинами и какие поисковые ма-
шины индексируют сайг чаще.
Один из недостатков анализа протоколов заключается в погрешности, когда
удаленный сервер кэширует страницы сайта. Некоторые организации исполь-
зуют прокси-серверы для кэширования страниц сайтов, поэтому при запросе
Статистика сайта
343
страницы сайта она будет запрошена не с вашего сервера, а из кэша прокси-
сервера1. Чтобы избавиться от этой проблемы, была создана технология мар-
кировки страниц (Page Tagging).
Маркировка страниц
Технология маркировки страниц заключается в помещении небольшого
HTML-кода (обычно JavaScript) в каждую страницу сайта. Когда браузер по-
сетителя отображает страницу, внедренный код обращается к удаленному
серверу, который и записывает информацию о пользователе. Данный код мо-
жет быть невидимым для пользователя или же представлять собой картинку-
счетчик, отображающую количество обращений к сайту
Маркировка страниц наиболее явно используется при размещении контента
на сайте третьего лица (например, на eBay). Многие продавцы на eBay раз-
мещают пункты аукциона, содержащие небольшой код, отображающий счетчик
посещения страниц, или тиккер. Существуют бесплатные сервисы, предо-
ставляющие счетчики, которые можно поместить на любой сайт, например, Easy
Counter (wvvw.easycounter.com), Simple Hit Counter (www.simplehitcounter.com).
Когда браузер пользователя отображает страницу, картинка тиккера (счетчи-
ка) запрашивается с удаленного сервера — и одновременно с этим удаленный
сервер записывает информацию о пользователе, запросившем тиккер
Маркер страницы не всегда обращается к удаленному сайту. Много Joomlai-
расширений создают собственные маркеры, которые обращаются к вашему
серверу и записывают информацию непосредственно в вашу базу данных
MySQL на сервере.
Наиболее известными коммерческими сервисами маркировки страниц явля-
ются Google и Visual Sciences (www.visualsciences.com), который также из-
вестен как WebSideStory. Система маркировки Google бесплатна, a Visual Sci-
ences доступна только предприятиям, которым нужна мощная система стати-
стики обращений к их узлам.
У маркировки страниц есть множество преимуществ по сравнению с обра-
боткой файлов протокола. Поскольку код выполняется в окне браузера, это
решает проблему с кэшированием страниц. К тому же, поскольку JavaScript-
код выполняется в окне браузера, он может полечить дополнительную ин-
формацию (например, разрешение экрана) о машине пользователя.
1 Получается, что на страницу зашло 100 посетителей, но засчитан всего один—- первый, а
после этого страница была сохранена в кэше, и все остальные пользователи полхчали ее ло-
калыгю версию. —- Пер.
344
Гпава 9
С другой стороны, у маркировки страниц есть и свои недостатки. Боты (по-
исковые пауки) не выполняют код маркера, следовательно, мы не можем по-
лучить информацию об индексировании нашего сайта поисковыми машина-
ми. К тому же, если вы используете удаленную систему маркировки, она хра-
нит данные в виде свойств, и этот формат недоступен Web-мастеру для
дальнейшего анализа. Другими словами, если вы использовали разные счет-
чики, то не сможете интегрировать полученную с их помощью информацию
в единое целое.
Многие решения маркировки требуют, чтобы у браузера посетителя были
включены cookies, иначе они не смогут эффективно отслеживать каждую сес-
сию пользователя. Но это не проблема, поскольку в большинстве случаев
cookies включены.
Автономные пакеты анализа протоколов
Автономные пакеты предоставляют, наверное, самый удобный способ Web-
анализа, особенно, если у вас есть доступ к файлам протокола (журналам)
сервера. Многие автономные пакеты разрешают пользователю указать один
или несколько файлов для осуществления анализа и выбрать необходимый
тип отчета. Отчеты, как правило, сохраняются в формате HTML, что позво-
ляет просматривать их локально или опубликовать на Web-сайте.
Каждый опытный Web-мастер знает, что журналы сервера могут быть просто
огромными, поэтому их нужно регулярно резервировать и очищать. Авто-
номные пакеты анализа превосходно для этого подходят, поскольку они мо-
гут использовать заархивированные данные, которые хранятся вне сервера.
Иногда полезно проанализировать архивные протоколы, чтобы увидеть тен-
денции использования сайта в прошлом.
В этом разделе мы рассмотрим два наиболее популярных пакета — Webalizer
и AWStats. Обе программы свободно распространяемые и доступны абсо-
лютно бесплатно. Программы по мере развития получили все необходимые
Web-мастеру функции.
Примечание________________________________________________
Отчеты по трафику будут более полезными, если URL вашего сайта отформа-
тированы в соответствии с форматом SEF (Search Engine Friendly). В главе 12
мы подробно обсудим активацию опции SEF в Joomla!. Я рекомендую активи-
ровать эту функцию как можно скорее, чтобы максимизировать полезность ин-
формации, собранной Web-сервером.
Webalizer
Созданный в 1997 году Бредфордом Барретом (Bradford L. Barrett) Web-
alizer— это один из самых старых и в то же время самых популярных авто-
Статистика сайта
345
номных анализаторов. Он обладает прекрасной международной поддерж-
кой — программа переведена примерно на 25 языков. Webalizer может обра-
батывать файлы журналов, невзирая на их размер, а также Webalizer доступен
для всех популярных платформ (Windows, Mac OS и Linux).
У Webalizer нет графического интерфейса, он запускается из командной
строки, но этого достаточно, чтобы создать серию HTML-страниц отчета с
текстовой информацией и графиками использования сайта. Webalizer бес-
платно доступен по адресу www.mrunix.net/webalizer.
Webalizer может обрабатывать журналы, сохраненные в трех наиболее попу-
лярных форматах: CLF (Common Log Format), Apache Custom Log Format и
W3C Extended Log File Format. По умолчанию, Apache использует второй
формат, a Microsoft US — третий. Формат CLF предоставляет мало информа-
ции о трафике, поэтому в нормальных условиях Web-сервер никогда не будет
настроен для этого формата (кроме тех редких случаев, когда используемый
анализатор поддерживает только CLF).
Как уже было отмечено, Webalizer запускается из командной строки. Про-
грамма может обращаться к файлам протоколов, сохраненным на локальном
жестком диске, или же обращаться к ним по протоколу FTP, что позволяет
использовать программу для обработки журналов, хранимых на удаленных
узлах, а это устраняет потребность в передаче по сети огромных файлов жур-
налов перед их анализом.
Если ваш журнал находится на жестком диске, вы можете запустить
Webalizer так:
webalizer с:\mywebserver\logs\access.log
В результате выполнения этой команды будет создан главный файл
index.html. предоставляющий основной обзор использования сайта (рис. 9.1).
На рисунке представлено три графика: общая статистика использования сай-
та по месяцам и два параллельных графика, отображающих количество по-
сещений и переданный трафик (в килобайтах). Таблица под графиком пока-
зывает среднее ежедневное и полное ежедневное использование сайта в раз-
резе по передаче файлов, доступу к страницам, посещениям сайта и
переданным килобайтам.
Примечание переводчика___________________________________________
На моем хостинге программа Webalizer не была русифицирована. Возможно,
вам повезет больше.
Страница Usage Statistics (рис. 9.1)— это только итоговая часть отчета
Webalizer. Для каждого месяца программа создает отдельный файл, в кото-
ром вы найдете следующую информацию:
346
Гпава 9
♦ Monthly statistics (Ежемесячная статистика) — покажет вам общее коли-
чество хитов, переданных файлов, страниц, посещений, трафика (в кило-
байтах), уникальных сайтов, уникальных URL и т. д.;
♦ Hits by response code (Хиты по коду ответа) — двух- или трехсимвольные
коды HTTP информируют о статусе HTTP-запроса. Например, большое
число кодов 404 (ошибка "Файл не найден") говорит о том, что на сайте
много "битых" ссылок;
Рис. 9.1. Отчет, сгенерированный программой Webalizer
Статистика сайта
347
♦ Daily usage graph (График ежедневной статистики)— показывает график
ежедневной статистики использования сайта в разрезе по хитам, файлам,
сайтам и переданным килобайтам;
♦ Daily statistics in terms of hits, files, pages, visits, sites, and kilobytes —
ежедневная статистика использования сайта в разрезе по хитам (Hits —
количество запрошенных файлов), файлам (Files— количество передан-
ных сервером файлов), страницам (Pages— количество HTML-страниц,
отправленных сервером), посещениям (Visits— количество уникальных
посетителей), сайтам (Sites— количество уникальных сайтов, ссылаю-
щихся на ваш) и переданным килобайтам (Kbytes);
♦ Hourly usage averages graph (График среднего почасового использова-
ния) — показывает график средней почасовой статистики в разрезе по хи-
там, файлам, сайтам и переданным килобайтам;
♦ Hourly statistics (Почасовая статистика)— то же самое, что и Daily
statistics, но выводится почасовая статистика, а не ежедневная;
♦ Top URLs of total URLs (Лучшие URL) — наверное, самая полезная часть
отчета, позволяющая определить, какие страницы самые популярные;
♦ Top URLs by kilobytes downloaded (Лучшие URL по загруженным кило-
байтам)— показывает самые популярные страницы не по количеству за-
грузок, а по количеству переданных килобайтов;
♦ Top entry and exit pages (Точки входа и выхода) — показывает точки вхо-
да (т. е. страницы сайта, которые посетитель открыл первыми) и точки вы-
хода (страницы, которые посетитель просмотрел последними, прежде чем
покинуть сайт);
♦ Usage graph by country (График no странам)— показывает страны по-
сетителей и различные виды доменов (.edu, .gov, .com).
Представленная статистика генерируются программой по умолчанию — без
задания специальных опций. Вы можете указать опции, позволяющие сгене-
рировать дополнительные отчеты, например, отчет-сравнение с предыдущим
месяцем, ранг всех URL и т. д. В файле ReadMe вы найдете список всех воз-
можных опций. Также можно запустить программу с параметром -h для вы-
вода всех доступных опций командной строки.
Поскольку исходный код Webalizer свободно распространяется, на базе этой
программы было создано несколько альтернативных программ. Вот несколь-
ко программ, основанных на Webalizer:
♦ Log Miner — мощный анализатор журналов для Apache/lIS (и других Web-
серверов, использующих форматы Apache или W3C). Он может извлекать
и показывать статистику о посещениях, хитах, трафика, навигационных
путях, браузерах и операционных системах пользователей. В отличие от
348
Гпава 9
Webalizer, Log Miner генерирует отчет в базу данных PostgreSQL, поэтому
на основе одних и тех же данных может быть быстро сгенерировано много
отчетов. К сожалению, программа поддерживает только базу данных
PostgreSQL. Программа доступна на сайте SourceForge: http://logminer.
sourceforge.net/;
♦ Webhpalizer— известна как "улучшенный Webalizer", программа исполь-
зует РНР для сбора статистики о посетителях. Она обладает лучшей, чем
у Webalizer, визуализацией и поддерживает базу данных MySQL, что по-
зволяет ей немедленно обрабатывать журнал. Программа также доступна
на SourceForge; http://sourceforge.net/projects/wephpalizer;
♦ AWFFull— программа использует Webalizer в качестве основы и расши-
ряет его функции, например, осуществляется поддержка CSS для пользо-
вательских отчетов, строятся графики изменяемых размеров, выполняется
автоматическое определение типа журнала, поддержка GeoIP для опреде-
ления страны посетителя. Программа свободно доступна по адресу:
www.stedee.id.au/awffull.
AWStats
AWStats— полнофункциональный автономный пакет, написанный на Perl
(Webalizer написан на C++). Perl доступен для большинства известных плат-
форм и операционных систем, поэтому AWStats можно запустить практиче-
ски везде. Программа умеет работать с журналами в форматах Apache Custom
Log format (NCSA combined/XLF/ELF Log Format или common/CLF Log For-
mat), WebStar. W3C Extended Log File Format (для Microsoft IIS) и в других
менее распространенных форматах. Программа также может анализировать
журналы FTP и почтовые журналы.
У AWStats много расширенных функций, например, распознавание посеще-
ний человека и бота, уникальная статистика посетителя, технология вычис-
ления статистики использования Flash-. QuickTime-, RealPlayer-роликов и
других мультимедийных файлов сайта и др. AWStats можно бесплатно ска-
чать по адресу; http://awstats.sourceforge.net/.
Как показано на рис. 9.2, программа предоставляет превосходный Web-
интерфейс с двумя фреймами — фреймом статистики (слева) и фреймом ото-
бражения (справа).
Для AWStats доступно множество плагинов, дополняющих его новыми
функциями, например, поддержка адресов IPv6, GeoIP для определения гео-
графии доступа и Clusterinfo для обработки журналов кластеров сервера.
В отличие от Webalizer, вам нужно загрузить и установить Perl на вашу ма-
шину. Это преимущество, а не недостаток, поскольку большинство хостов
Статистика сайта
349
разрешает выполнение скриптов Perl, но не разрешает выполнение обычных
исполнимых файлов (вроде Webalizer). С другой стороны, если на вашей
платформе не установлен Perl, вам понадобится еще одна машина для запуска
AWStats (на которой будет установлен Perl).
Рис. 9.2. AWStats использует фреймы для отображения статистики
Расширения для Joomla!
Для Joomla! доступно много расширений, предоставляющих статистику по-
сещений. Вместо анализа журналов Web-сервера эти расширения выполня-
ются под Joomla! и собирают статистическую информацию, которая будет
очень полезна для администратора Joomla!. Вот некоторые полезные пакеты.
♦ AstatsPro— наверное, самый всесторонний свободно распространяющий-
ся пакет статистики для Joomla!. AstatsPro (http://astatspro.joom.la) пере-
веден на много языков и предоставляет отличный интерфейс администра-
тора, позволяющий создавать пользовательские отчеты. Качество стати-
стики, предоставляемой этим расширением, сопоставимо с автономным
пакетом AWStats.
♦ JoomlaiStats— этот пакет (www.joomlastats.org) предоставляет много
разной информации о посетителе, и вся статистика приводится в разрезе
по перемещениям посетителя. Он также записывает поисковые слова, ко-
торые посетители ввели в Google и других поисковых машинах, чтобы
найти ваш сайт. Пакет содержит много модулей и административный ком-
понент.
350
Глава 9
♦ Entana Statistics — отличный коммерческий пакет
(www.entanacomponents.com), позволяющий отслеживать трафик не-
скольких Joomlai-сайтов и регистрировать информацию о посетителях в
базе данных Joomla!.
♦ BSQ Sitestats — "легкое" расширение (www.bs-squared.com/wp), собираю-
щее основную статистику сайта. Оно также собирает поисковые слова,
введенные в поисковую систему Joomla!. Расширение предоставляет мно-
жество отчетов, в том числе графическую диаграмму посещений за опре-
деленный период времени, лучшие страницы, лучшие ссылки на ваш сайт,
лучших посетителей, лучших пользователей, лучшие браузеры, лучшие
языки, отслеживание сеанса посетителя, географическую информацию
о посетителе; ежедневный, еженедельный и ежемесячный итоговый отчеты.
Недостаток всех пакетов статистики, инсталлируемых в Joomla!, заключается
в снижении производительности системы — ведь нужны дополнительные
системные ресурсы для сбора статистики. Эти пакеты создают дополнитель-
ную нагрузку как на Web-сервер, так и на базу данных MySQL. Многие
Joomlai-провайдеры запрещают устанавливать статистические пакеты из-за
снижения производительности.
Google Analytics
Компания Google предоставляет бесплатный статистический Web-сервис. Он
называется Google Analytics (https://www.google.com/analytics/) и предостав-
ляет практически любой тип статистического анализа сайта, а также обладает
дружественным интерфейсом (рис. 9.3). Страница отчетов динамическая, по-
тому вы можете легко изменять период статистики или даже сравнивать два
периода. Поскольку Google Analytics запускается на серверах Google, процесс
обработки журналов не влияет на производительность вашего сервера. И еще:
т. к. Google Analytics обладает Web-интерфейсом, статистика сайта доступна
повсеместно.
Google Analytics предоставляет всевозможные отчеты — от хитов каждой
страницы до поисковых слов, которые были использованы для нахождения
вашего сайта. Вся эта информация генерируется путем добавления неболь-
шого скрипта на страницы вашего сайта.
Код маркера страницы
Когда вы зарегистрируетесь в Google Analytics, будет создана ваша учетная
запись, откуда вы сможете управлять статистикой всех ваших сайтов. Для
каждого сайта будет предоставлен специальный скрипт, который нужно по-
местить до тега </body>.
Статистика сайта
351
Google An ilylicb
<VeMiB*h|irMixnm | • KUli AiftjJ
Посетители
ГО'жихм трафике
j Содержали
F Цели
953 Пл. -жым
71,67 % Шшигок. хымн
1 887 ирьи, , к!мшш
00:02:14кр1л»м“*1-пл*л п.шлкиедиялмд .мп
1.98 kiiuuua? вник»
OftftOp н<к*тнпвп«й
85.20 % Пррийи1.п9*ш.яс.слж»миЛ
W^WWMWJ» -—ч
Qftwp седермдо»
О ft* op ие тр—икон трафио
Стретмтм
«tat* - --•
. -аям глйй?
Псчхиоры с«>«мш - 4»<voipe« г цм
«в 2J8O*
М 1.WU
Рис. 9.3. Google Analytics отображает графический анализ информации сайта
Код Google выглядит примерно так:
<script src="http://www.google-analytics.com/urchin.js"
type="text/j avasc ript">
</script>
<script type="text/javascript">
uacct = "UA-xxx-xxx";
urchinTracker();
</script>
Данный код нужно вставить в каждую страницу Web-сайта. Для пользовате-
лей Joomla! внедрение кода Google Analytics чрезвычайно простое, поскольку
доступ ко всем страницам осуществляется через один и тот же файл index.php
текущего шаблона. Для добавления кода в Joomlal-шаблон просто откройте
Менеджер шаблонов (в интерфейсе администратора), выберите шаблон по
умолчанию и нажмите кнопку Редактировать HTML. Будет отображен код
выбранного шаблона. Пролистайте код шаблона до закрывающего тега
</body> и вставьте код Google, что обеспечит выполнение вставленного кода
352
Глава 9
на каждой странице сайта. Все отображенные с помощью этого шаблона
страницы будут автоматически отслежены сервисом Google.
Примечание_______________________________________________________
Google Analytics получает информацию путем выполнения JavaScript-кода в ок-
не браузера. Это означает, что браузеры, не поддерживающие JavaScript
(браузеры многих сотовых телефонов), браузеры с выключенным JavaScript, а
также машины с установленной программой блокировки рекламы (например,
Adblock) не будут видны движку Google Analytics Поэтому желательно сравни-
вать анализ Google с анализом одной из автономных утилит. Сравнение отче-
тов Google Analytics с независимыми отчетами позволит получить предоставле-
ние о том, как Google Analytics отображает трафик вашего сайта.
Вместо модификации шаблона вы можете загрузить модуль Google Analytics
Tracking Module, доступный на сайте Estime (www.estime.fi/en/reading-
room). Модуль обеспечивает выполнение кода Google без изменения шаб-
лона.
Как только код будет помещен на ваш сайт, вернитесь в окно сервиса Google
и нажмите кнопку Проверить статус. Система попытается проверить, пра-
вильно ли установлен код на вашем сайте. Не волнуйтесь, если попытка про-
верки статуса в первые несколько минут завершится неудачей. Скорее всего,
механизм кэширования еще не обновил страницу, поэтому помещенный код
пока не виден механизму проверки Google. Подождите полчаса и попытай-
тесь проверить статус снова.
После активации Google Analytics на вашем сайте нужно подождать 24 часа,
чтобы получить первую статистику Чем дольше код установлен на вашем
сайте, тем больше интересных отчетов вам будет доступно.
Google Analytics особенно полезен, если вы участвуете в маркетинговой кам-
пании AdWords. Он помогает вам более точно определить целевую аудито-
рию вашей кампании, анализируя сайты, с которых пришли ваши посетители,
а также географическое местоположение посетителей. Для кампании вы мб^
жете также установить различные цели, например, продажи или целевые
страницы посетителей. Тогда Google Analytics проследит, какие объявления
наиболее популярны, и определит лучшие источники посетителей.
Внимание!_________________________________________
Помните, что бесплатный сыр может быть только в мышеловке. Да, сервис
Google бесплатный, но, используя его, вы предоставляете Google информацию
обо всех ваших посетителях. Для большинства сайтов отток данной информа-
ция — не проблема. Но для многих коммерческих сайтов и сайтов виртуальных
сообществ важно хранить эту информацию в тайне. Если вы разрабатываете
Joomlal-сайт для какой-нибудь организации, предупредите заказчика об этом
аспекте использования сервиса Google и получите его согласие перед установ-
кой счетчика!
Статистика сайта
353
Отчеты Google Analytics
Итоговый отчет в Google Analytics называется панелью инструментов
(dashboard). На ней вы найдете много определенных отчетов, но все этих от-
четы можно разделить на четыре больших категории: посетители, источники
трафика, содержание и цели. Каждый набор отчетов предоставляет статисти-
ческую информацию, наиболее полезную для соответствующей области.
Данные сайта отформатированы, поэтому вы можете взглянуть на них с раз-
ных перспектив.
Для каждой области будет представлена отдельная таблица или диаграмма
статистических данных. Например, Самые популярные страницы входа
(рис. 9.4) отображает точки входа для различных страниц, которые являются
частью "цели", настроенной с помощью системы Google Analytics. Отчет по-
зволяет вам отслеживать успешное достижение целей сайта.
Goi.gle Analytes
I” ' ТЯК
Самые популярные страницы входа
Ft ♦» _ I
Посещений: 953 (URL: 370)
хт? Покзаатвль отдам
71.67 %
17»*
92,31*
94^2*
Зв»*
54»»
90ДЮ*
вело*
88.В7*
«»*
Рис. 9.4. Точки входа
Google Analytics предоставляет много различных отчетов. Эти отчеты можно
выбрать из иерархического списка в левой части экрана. В основных четырех
категориях вы найдете следующие отчеты:
♦ Посетители — наложение данных на карту, новые и вернувшиеся, языки,
тенденции посетителей, посещения, абсолютно уникальные посетители.
12 Зак 468
354
Гпава 9
просмотры страниц, среднее число просмотров, длительность пребывания
на сайте, показатель отказов, лояльность посетителей, лояльность, про-
должительность посещения, глубина посещения, возможности браузеров,
браузеры, операционные системы, браузеры и ОС, цвета экрана, разреше-
ния экрана, версии Flash, поддержка Java, сетевые параметры, местополо-
жение в сети, названия хостов, скорости подключения и характеристики,
определенные пользователем;
♦ Источники трафика — прямой трафик, сайты-источники переходов, по-
исковые системы, все источники трафика, ключевые слова, AdWords, кам-
пании, версии объявлений;
♦ Содержание — самое популярное содержание, содержание по заголовкам,
развернутый просмотр содержания, самые популярные страницы входа,
самые популярные страницы выхода, наложение данных на сайт;
♦ Цели — обзор, общее количество переходов, показатель переходов, пре-
рванные последовательности, полезность цели, визуализация последова-
тельностей.
Все отчеты и даже приборная панель могут быть загружены на вашу машину
в различных форматах. Обычно используются три основные формата: тексто-
вый файл с табуляцией, XML и Excel CSV-формат. Также доступна кнопка
Печать, выводящая пригодную для печати версию отчета (она удаляет эле-
менты пользовательского интерфейса и лишнюю информацию).
Резюме
Без статистики Web-мастер не может знать, кто посещает его узел. Web-
мастер может создать сайт определенной тематики, в которой он хорошо раз-
бирается, и предугадать, какой контент будет популярным. Достаточно часто
эксклюзивная статья может захватить внимание публики или получить ссыл-
ку от сайта с более высокого рейтинга. Но какая статья самая популярная и
кто на нее ссылается? Эту информацию можно получить, только исследуя
трафик сайта.
Существует очень много статистических пакетов, не описанных в этой главе.
Рассмотренные в этой главе программы могут послужить фундаментом для
исследования других приложений. Лучше всего попробовать несколько про-
грамм, сравнить их и выбрать лучшую.
ГЛАВА 10
Фотогалерея
Широкое распространение Joomla! среди отдельных пользователей и целых
организаций создано потребностью в одновременно быстром (простом) ре-
шении и мощном решении индустриальной степени. Заполнить нишу между
начинающим пользователем и профессиональным разработчиком призван
целый поток расширений. Например, на момент написания этих строк было
доступно 75 расширений, реализующих только галерею фотографий для
Joomla! (не говоря уже об остальных расширениях).
В интересах обоих сообществ (начинающих и профессионалов), в этой главе
будут продемонстрированы два компонента — один простой (Easy Gallery) и
один полнофункциональный (Gallery?). Большинство программного обеспе-
чения для фотогалерей попадают в одну из этих категорий, поэтому приве-
денный материал будет полезен для большинства расширений фотогалереи.
Независимо от того, какой сайт вы создаете— простой фотоальбом ваших
детей или большой узел, Joomla! будет соответствовать вашим нуждам.
Перед изучением Joomla.'-pacujHpeHHfi подумайте об установке FTP-сервера
для более удобного управления галерей. Если вы уже активировали возмож-
ности FTP-сервера для использования совместно с интерфейсом администра-
тора Joomla!, вы можете пропустить следующий раздел. Если же нет, обяза-
тельно это сделайте, поскольку установка FTP-сервера упрощает загрузку
больших фотографий при создании галереи
FTP-сервер для управления галереей
Многие расширения галереи позволяют загружать картинки и управлять ими
по FTP Если у вас еще не установлен FTP-сервер, сейчас мы рассмотрим, как
это сделать. В этом разделе будут приведены инструкции по установке FTP-
сервера в Linux, Mac OS и Windows В этой главе будет описана базовая на-
356
Глава 10
стройка сервера. Я рекомендую просмотреть документацию по FTP-серверу
для получения более подробных инструкций.
Большинство дистрибутивов Linux уже содержат FTP-сервер, вам нужно
только активировать его. В Mac OS X I0.2 (и выше) тоже есть встроенный
FTP-сервер. В Windows, если вы используете Web-сервер Microsoft IIS, с по-
мощью консоли управления 1IS можете легко включить и настроить встроен-
ный FTP-сервер. Если же у вас установлен Apache, вам нужно установить
FileZilla — бесплатный и свободно распространяемый FTP-сервер.
Совет____________________________________________________________
Если FTP-серверы, представленные в этой книге, вам не нравятся или же не
обладают нужными вам функциями, попробуйте использовать FTP-сервер
CrossFTP Server, который написан на Java и может запускаться на любой
платформе. Вы можете скачать его с сайта http://sourceforge.net
/projects/crossftpserver. Также можно посетить домашнюю страничку проекта
(www.crossftp.com), где найдете "живой" инсталлятор Web Start, существенно
упрощающий установку.
Активация FTP-сервера в Linux
В большинстве дистрибутивов Linux установлен FTP-демон, обслуживающий
файлы по протоколу FTP. Найти FTP-сервис можно путем выполнения сле-
дующей команды:
chkconfig —list | grep ftpd
Для Linux разработано несколько разных FTP-серверов, один из которых мо-
жет быть установлен в вашей системе: VSFTPD, ProFTPD, Glftpd, pureftpd,
wzdftpd и wu-ftpd. Большинство FTP-серверов может быть активировано
одноименными командами, например, если у вас установлен VSFTPD, для
его активации нужно ввести команду:
vsftpd start
Можно также использовать команду service:
service vsftpd start
Для автоматической загрузки FTP-сервера в Fedora/Red Hat нужно использо-
вать команду chkconfig:
chkconfig vsftpd on
В дистрибутиве Ubuntu или Debian вместо команды chkconfig нужно запус-
тить следующую команду:
sysv-rc-conf on
Проверить, запущен ли FTP-сервер, можно с помощью команды:
netstat -a I grep ftp
Фотогалерея
357
Если в ответ вы ничего не увидите, значит, сервис не запущен. Попытайтесь
запустить его снова.
Вам нужно добавить пользователя, с помощью которого расширение Joomla!
будет обращаться к каталогу для загрузки картинок. Для создания нового
пользователя с домашним каталогом /home/gallery2 можно использовать сле-
дующую команду:
useradd -d /home/gallery2 galleryadmin
После этого нужно изменить пароль учетной записи:
passwd galleryadmin
Команда попросит ввести текущий пароль пользователя (по умолчанию
у пользователя нет пароля), новый пароль и его подтверждение:
Current Password:
New Password:
Confirm New Password:
Нам осталось изменить права доступа к каталогу загрузки с помощью команд
chmod И chown:
chmod 750 /home/gallery2
chown root:galleryadmin /home/gallery2
Некоторые брандмауэры Linux закрывают порты с низкими номерами (в том
числе и стандартный порт FTP — 21). Вам нужно настроить брандмауэр, раз-
решив трафик через этот порт.
Активация FTP-сервера в Mac OS
В Mac OS X 10.2 и более новых версиях FTP-сервер можно включить в сис-
темных настройках. Дважды щелкните по пиктограмме Sharing для отобра-
жения окна Settings. На вкладке Services включите параметр FTP Access для
активации FTP-сервера.
Проверьте настройки вашего брандмауэра, чтобы убедиться, что FTP-
соединения (через порт 21) разрешены на этой машине. В Mac OS Server вы
можете активировать Internet File Sharing Server, который поддерживает FTP-
протокол.
Установка сервера FileZilla в Windows
Если у вас установлен Microsoft IIS, вам нужно только активировать FTP-
сервер. необходимый для расширения галереи Joomla!. А вот если у вас
Apache, вам нужно использовать FileZilla FTP Server— бесплатный, свобод-
но распространяющийся, простой FTP-сервер, забирающий минимум систем-
358
Глава 10
ных ресурсов вашей машины. Вы можете скачать FileZilla с сайта Source-
Forge: http://filezilla.sourceforge.net.
После загрузки инсталлятора FileZilla на жесткий диск запустите его и уста-
новите необходимые вам опции (например, автоматический запуск сервера
при загрузке системы). Убедитесь, что вы установили административную
утилиту (она называется FileZilla Server Interface), которая нужна для ограни-
чения доступа к серверу.
Для настройки FTP-сервера запустите приложение FileZilla Server Interface и
войдите как администратор. По умолчанию у администратора нет пароля,
поэтому для входа просто нажмите кнопку ОК.
Первым делом нужно позаботиться о безопасности сайта. Выполните коман-
ду Settings) Edit. Вы увидите окно FileZilla Server Options (рис. 10.1). Для
установки пароля администратора выберите опцию Admin Interface settings
в списке General settings. Включите параметр Change admin password и
введите новый пароль администратора. Для сохранения изменений нажмите
кнопку ОК.
Рис. 10.1. Выберите опцию Admin Interface settings в списке General settings
После установки пароля администратора нужно добавить пользователя, кото-
рый будет использоваться компонентом Easy Gallery. Для создания нового
пользователя выберите команду Users из меню Settings. Вы увидите конфи-
гурационное окно, изображенное на рис. 10.2. Нажмите кнопку Add и до-
бавьте нового пользователя.
Фотогалерея
359
Рис. 10.2. Конфигурационное окно позволяет добавить пользователей и установить их права
Как только FileZilla Server будет установлен и настроен, попытайтесь полу-
чить доступ к своему сайту с помощью любой FTP-программы (можно ис-
пользовать FileZilla Client). Браузеры Mozilla Firefox и Internet Explorer 6 об-
ладают встроенными FTP-клиентами. Вы можете использовать их для про-
верки конфигурации вашего FTP-сервера, чтобы убедиться, что Easy Gallery
сможет получить доступ к Web-каталогам, через созданного пользователя.
Easy Gallery
Easy Gallery (рис. 10.3)— небольшой компонент, позволяющий добавлять
фотографии в альбомы и отображать их на Joomlal-сайте. Расширение Easy
Gallery предоставляет полноценный административный интерфейс, позво-
ляющий загружать картинки (несколькими способами) и помещать их в соз-
данные пользователем категории. Расширение применяется только для ото-
бражения картинок и не позволяет обычным пользователям загружать кар-
тинки.
Несмотря на простоту интерфейса Easy Gallery, у этого расширения есть сле-
дующие специальные функции:
♦ расширение может работать с ZIP-архивами, поэтому вы можете добавить
в галерею много картинок за один раз;
♦ позволяет сканировать каталоги сервера на предмет картинок;
360
Глава 10
Рис. 10.3. Easy Gallery может отображать фотографии, помещенные в категории
♦ позволяет загружать картинки по FTP, поэтому у вас не будет проблем
с правами доступа к ним;
♦ автоматическое создание миниатюр изображений, в том числе и миниатюр
категорий;
♦ поддержка изменения размера изображения (изменение размера происхо-
дит на сервере) и некоторых световых эффектов.
Easy Gallery очень прост в установке и использовании, поэтому приступим!
Фотогалерея 361
Загрузка и установка Easy Gallery
Easy Gallery— абсолютно бесплатен и доступен для загрузки по лицензии
Creative Commons license. Данная лицензия позволяет вам распространять,
размещать и использовать компонент бесплатно. Однако вам запрещается
создавать свой компонент на базе Easy Gallery или удалять текст лицензии
или ее атрибуты из кода (хотя можно удалить текст "Powered by", отображае-
мый компонентом).
Загрузить Easy Gallery можно по адресу: www.joomla-addons.org/components
/easy-gallery/easy-gallery.html.
Вы загрузите небольшой ZIP-архив (чуть больше 100 Кбайт), содержащий все
файлы пользовательского и административного компонентов. Сохраните этот
файл на жестком диске для его последующей загрузки в Joomla!.
Для установки Easy Gallery откройте Менеджер расширений. Отыщите Z1P-
архив компонента, выберите его и нажмите кнопку Загрузить & Устано-
вить. В случае успешной установки вы увидите соответствующее сообщение.
Обратите внимание: даже если компонент установлен успешно, он требует
дополнительной настройки.
Примечание переводчика________________________________________
Для установки компонента в Joomla! 1.5 нужно включить режим обратной со-
вместимости.
Для успешного запуска Easy Gallery необходимо всего одно условие: наличие
библиотеки управления картинками GD2. Easy Gallery использует эту биб-
лиотеку для создания миниатюр загруженных изображений и для изменения
размеров изображений. Библиотека GD2 — это набор PHP-функций для ма-
нипуляций картинками и очень часто устанавливается вместе с РНР и под-
держивается многими Web-провайдерами. Иногда нужно ее активировать
(разрешить ее выполнение) на сервере.
Чтобы определить, установлена ли GD2 на вашем сервере, проверьте каталог
PHP-расширений, который обычно называется \ext или \extension в зависимо-
сти от версии РНР. В Windows, если библиотека установлена, вы найдете в
этом каталоге файл php_gd2.dll. Также вы можете запустить функцию
phpinfoO на вашем PHP-сервере, чтобы убедиться в наличии GD2 (будут
доступны параметры GD Support, GD Version, FreeType Support, JPG Sup-
port и PNG Support).
В Linux можно убедиться в наличии библиотеки только посредством вызова
phpinfof). Практически в самом начале вывода phpinfoO (примерно третья
строчка) вы увидите строку "Configure Command". Если GD2 доступна, в пра-
вом столбце вы увидите строчку:
cscript /nologo configure.js "—with-gd=shared"
362
Глава 10
Если GD2 не установлена, вам нужно ее установить до начала использования
Easy Gallery. Несмотря на то, что GD2 включена в состав современных РНР-
инсталляторов, это необязательное расширение и по умолчанию может и не
быть установлено. Чтобы получить ОВ2-файл, просто загрузите архив РНР-
дистрибутива (ZIP или TAR) с сайта www.php.net/downloads.php.
Откройте архив и просмотрите каталог \extensions. В нем вы должны найти
СО2-файл (php_gd2). Извлеките его и поместите в ваш каталог расширений
РНР.
Чтобы РНР использовал эту библиотеку, вам нужно ее активировать в вашем
файле конфигурации РНР. Откройте его (обычно называется php.ini) в тек-
стовом редакторе и найдите следующую директиву:
;extension=php_gd2.dl1
Удалите точку с запятой в начале строки и сохраните файл. После перезапус-
ка РНР библиотека GD2 должна быть загружена. Убедитесь, что вы переза-
пустили сервер Apache, иначе библиотека не будет найдена.
Примечание
Если вы используете удаленный сервер хостинг-провайдера и для настройки
сервера применяется панель управления cPanel, вы можете активировать GD2
оттуда В разделе Update Apache нужно отметить переключатель GD2. После
этого библиотека будет активирована, что сделает возможным создание ми-
ниатюр изображений.
Настройка Easy Gallery
После установки компонента Easy Gallery, настройки FTP-сервера и актива-
ции GD2 можно приступить к настройке компонента. В меню Компоненты
вы найдете новый пункт Easy Gallery. Выберите команду Configuration из
меню Easy Gallery. Вы увидите экран конфигурации, изображенный на
рис. 10.4
Чтобы разрешить загрузку картинок, вам нужно ввести параметры FTP. Пер-
вый параметр, FTP host, — это URL-путь к FTP-серверу. В большинстве слу-
чаев путь можно установить в localhost.
В качестве имени FTP-пользователя (параметр FTP username) и его пароля
(FTP password) укажите параметры недавно созданного пользователи или
ваши собственные параметры, если FTP находится на удаленном сервере
FTP-порт по умолчанию— 21. В большинстве случаев это так, за исключе-
нием использования прокси-сервера или брандмауэра, который закрывает
этот порт. В этом случае свяжитесь с администратором вашего узла для по-
лучения возможных настроек.
Фотогалерея
363
Сохранить Применить Отменить
Configuration Manage Categories Manage Photo's
Manage configuration
FTP Settings
FTP host hocalhart ’""“"""""'i
FTP ₽ort £1 j
FTP username:
FTP password
FTP path: О floomli______
FTP disabled С нет <• Да
Image Settings
Image path: О [flmigsefctorlersaiygillsiyfrss
Maximum width 500
Maximum height 400
Thumbnail Settings
Thurrfcnail path О |/imag«sfcto nuleasy fl all* ryrth u ‘
Thumbma I width; 150
Thumbmail he ght 112
Рис. 10.4. Экран конфигурации Easy Gallery позволяет установить параметры FTP
миниатюр и путей
Параметр FTP path (Путь FTP) отличается от обычного абсолютного URL.
Например, если бы по умолчанию FTP получал доступ к корневому каталогу
системы, a Joomla! была установлена в подкаталог /joomla корневого катало-
га, и к этому каталогу получал бы доступ Web-сервер, тогда параметр FTP
path мог бы быть установлен в /joomla.
Но на многих удаленных серверах вы должны использовать префикс /www
для получения доступа к корневому каталогу FTP-сервера. Если же файлы
хранятся в вашем домашнем каталоге, нужно установить FTP path в
!<имя_пользователя>. Обратите внимание, что вы обязательно должны ис-
364
Глава 10
пользовать прямой слэш (/) в начале пути, иначе Easy Gallery не сможет кор-
ректно использовать этот путь.
Примечание переводчика_________________________________________
На многих серверах хостинг-провайдеров пользовательские файлы хранятся в
каталоге /Ьоте/<имя_пользоеателя>. Следовательно, если Joomla! установле-
на в корневой каталог Web-сервера, в качестве параметра FTP path вам нужно
указать /Ьоте/<имя_лопьзоватепя>/риЫ|с_Ыт1/. Если же Joomla! установлена
в каталог /joomla, тогда FTP path нужно установить в /Коте/<имя_
по/7ьзователя>/риЫ1с_Мт1/рот1а. Для более точной информации лучше свя-
заться с хостинг-провайдером, хотя есть и другие способы уточнения абсолют-
ного пути, но звонок к хостинг-провайдеру самый простой из них.
Примечание_____________________________________________________
Если при попытке загрузки картинок вы получите сообщение об ошибке "Fatal
error: Call to undefined function: ftp_connect()", зто означает, что ваш хостинг-
провайдер отключил FTP-сервисы, доступные РНР.
Управление Easy Gallery
После настройки Easy Gallery можно приступить к добавлению картинок в
систему. Подобно Joomla!, Easy Gallery организует картинки в определенные
пользователем категории. Поэтому прежде, чем приступить к добавлению
картинок, можно создать одну или несколько категорий для них.
Для создания категории выполните команду Manage Categories в админист-
ративном интерфейсе компонента Easy Gallery Будет отображен пустой спи-
сок категорий. Чтобы создать новую категорию, нажмите кнопку Новый. Вы
увидите экран Add a category (рис. 10.5). Введите информацию, соответст-
вующую создаваемой категории, и нажмите кнопку Сохранить. Теперь оста-
лось добавить в нее несколько фотографий.
Выполните команду Manage Photos из меню Easy Gallery. Вы увидите окно
менеджера фотографий, в нем будет кнопка Загрузить, нажмите ее. Появится
форма загрузки картинок Upload Photos, выводящая уведомление о макси-
мальном размере загружаемого файла по протоколу HTTP (обычно 2 Мбайт)
и позволяющая выбрать категорию, в которую будуз помещены новые фото-
графии. Параметр Name позволяет задать имя загружаемой фотографии, но
его можно оставить пустым, тогда в качестве имени будет использоваться
имя файла.
Вы можете выбрать один из трех методов загрузки фотографий (рис. 10.6):
единственный файл, ZIP-архив или сканирование каталога. Добавление одно-
го файла или ZIP-архива подобно добавлению расширений в Joomla!. А вот
для сканирования каталога нужно вручную указать путь к серверу, где распо-
ложены файлы картинок.
Фотогалерея
365
Configui Ation Manage Categories Manage Photo's
Add a category
Category Details
Category Title
Category Name-
Access Level:
Parent
Published
Descr ption.
I В I и Л< I в § 5 a 11-Styles-
:= 1=| - | £
— -2 31 *’ x‘ I ” J?
О том, как мы отдохнули прошлым летом
Летний отдых 2007
Отдых с семьей
Всем
Registered I
I Специальный I
Тор V
С Нет ₽ Да
v j - Foimaf - у j - Font family - у
у ft О 'Si 0 •« LU Д -
Рис. 10.5. Вы можете задать название категории, ее имя,
указать родительскую категорию (Parent) и ввести описание
Картинка Г" Pegebreakг Readmore
There are three ways to upload photo's
1: Upload one photo
F le: Обзор.
2: Upload zip archive
File Обзор.
3: Directory scan
Drectory: /home/dkwsorgu/domairis/dkAB.org.ua/publH
Рис. 10.6. Три способа загрузки файлов
Добавьте несколько картинок прямо сейчас, чтобы созданная вами галерея
была видимой, когда вы добавите галерею в Joomla!. Если у вас много карти-
нок или же некоторые картинки очень большие, рекомендуется использовать
FTP-сервер для быстрой и надежной загрузки картинок. Максимальный раз-
366
Гпава 10
мер загружаемой по протоколу HTTP картинки задается директивой в файле
конфигурации РНР. Если вы хотите загружать большие файлы, вам нужно
увеличить значение параметра upload max filesize, установив его больше,
чем 2 Мбайт.
Примечание
Если при попытке загрузки фалов вы получите ошибку, это означает что кон-
фигурационные параметры установлены неправильно Например, если не ус-
тановлена библиотека GD2, Easy Gallery вернет ошибку, что недоступна функ-
ция создания картинки (при попытке создать миниатюру изображения). Если вы
столкнулись с такой проблемой, прочитайте разд. "Настройка Easy Gallery" ра-
нее в этой главе для получения инструкций по установке GD2.
Создание меню для компонента
Чтобы вы могли увидеть загруженные вами картинки на сайте, нужно создать
меню для доступа к компоненту Easy Gallery. Перейдите в Менеджер меню и
откройте редактор главного меню, выбрав Main Menu и щелкнув кнопку Ре-
дактировать пункты меню. Для создания нового пункта меню нажмите
кнопку Новый.
Рис. 10.7. Выберите опцию Easy Gallery для создания присоединенного меню
Фотогалерея 367
Выберите внутреннюю ссылку Easy Gallery (рис. 10.7). Затем введите назва-
ние пункта меню (я ввел название Фотогалерея (Photo Gallery)) и нажмите
кнопку Сохранить для сохранения меню в Joomla!.
Откройте главную страницу вашего сайта: вы увидите ссылку на фотогале-
рею (рис. 10.8). Когда вы ее нажмете, будет отображена Joomlal-страница с
категориями картинок.
Ноте
Login Form
Имя пользователя
-------------------f
Рис. 10.8. Щелкните по ссылке Фотогалерея,
и вы увидите галерею
Пользовательский интерфейс Easy Gallery
У Easy Gallery очень простой пользовательский интерфейс (рис. 10.9). Все
категории будут отображены миниатюрами, созданными по первой загру-
женной фотографии. Выбрав категорию, вы увидите таблицу фотографий в
этой галерее, а щелкнув по фотографии, вы увидите ее в полном размере.
Видите, как просто добавить галерею в Joomla!. Однако, возможно, вам нуж-
на более мощная галерея, позволяющая пользователям загружать картинки,
обладающая лучшей категоризацией и корзиной для заказов, а также другими
функциями. У галереи Gallery2 есть все эти функции и много других.
Gallery2
Gallery2 (рис. 10.10)— это полнофункциональная галерея картинок. В отли-
чие от компонента Easy Gallery, который можно использовать только вместе
с Joomla!, Gallery2 рассчитана на независимое выполнение, поскольку напи-
сана на РНР.
368
Глава W
Joomla!
Hom®
Search
Easy Calendar
Eaayf Q
Easy Guestbook
Easy Gallery
I
£ - -j wALLE-' FiANL:.
MAGE
^Joomlai
Hom» ♦ EasyGalery
VIEW MAGE GALLERIES
Album 1
View cate усну
filium I
F ” F.isy Galiriy * у <4 JootnU Mdonsi сну
Рис. 10.9. Easy Gallery позволяет вам выбрать категорию, чтобы вывести изображение
Для пользователей Joomla! был создан мост— специальное расширение,
позволяющее интегрировать Gallery2 в Joomla!. На сайте Joomla!
(http://extensions.joomla.org) вы можете найти много мостов для РНР-
программ, которые не были написаны непосредственно для Joomla!.
Поскольку Gallery2 рассчитана на независимое использование, она требует
особой процедуры установки и обладает собственными системными требова-
ниями. Хотя на большинстве серверов, где установлена Joomla!, можно уста-
новить и Gallery2, лучше проверить соответствие сервера требованиям гале-
реи перед ее установкой.
Для запуска Gallery2 необходимо следующее программное обеспечение:
♦ РНР версии 4.1.0 или выше с выключенным безопасным режимом;
♦ MySQL 3.x или выше;
♦ графическая библиотека (GD2jc или выше, ImageMagic 4.x или выше,
GraphicsMagick 1.x или выше или Netpbm 9.x или выше) для создания ми-
ниатюр и изменения размера картинок;
Фотогалерея
369
Gallery 2 Demo Created by My Website Adviser
Gallery? Demo
( туманное игобра юн не
Туп Church
Gallery? Dctna
Альбом; Motorcycle
Racing
Mr.torc.a • fiff-rcftrf desert
racing
Flow rs Civse^y
Альбом: United
Kingdom
Рис. 1010. Gallery2 запускается как независимое PHP-приложение
♦ место на диске для хранения картинок (больше, чем вам может пока-
заться).
В отличие от Easy Gallery, галерея Gallery2 более требовательна к серверу, но
взамен предоставляет большие возможности как пользователю, так и адми-
нистратору системы.
Большая часть провайдеров предоставляет графические библиотеки, некото-
рые провайдеры даже позволяют устанавливать библиотеки пользователю,
поэтому у вас не должно быть проблем с установкой Gallery2.
Сове т___________________________________________________________
Вы можете использовать GD2 (ведь она у вас уже установлена для использо-
вания компонентом Easy Gallery), но это не лучшее решение. На момент напи-
сания этих строк, ImageMagic справлялся с созданием миниатюр и изменением
размеров картинок быстрее, чем GD2. Зато Netpbm, с другой стороны, позволял
создавать более качественные миниатюры.
Загрузка и установка Gallery2
Gallery2 — это свободно распространяемый проект, который можно скачать
со следующего сайта: http://gallery.menalto.com.
370
Глава 10
Доступны следующие версии этого приложения-
♦ Minimal — содержит само приложение, две темы внешнего вида, три гра-
фических набора инструментов и самые необходимые модули (их можно
сравнить с компонентами Joomla!);
♦ Typical — то же, что и Minimal, но содержит шесть тем внешнего вида и
самые популярные модули;
♦ Full — полная версия, содержащая 6 тем и все модули (на момент написа-
ния этих строк их насчитывалось 56);
♦ Developer — то же, что и Full, но также содержит инструменты разработ-
чика, позволяющие создавать собственные модули для Gallery2.
Я рекомендую использовать версию Typical из соображений экономии про-
странства, что важно для большинства удаленных сайтов. Если же у вас соб-
ственный локальный сервер, можно использовать полную версию, демонст-
рирующую все возможности Gallery2.
Создайте каталог gallery2 в корневом каталоге сервера, где выполняется
Joomla!. Joomla! понадобится доступ к этому каталогу, поэтому проще всего
его разместить в той же самой области доступа, что и Joomla!. На большинст-
ве Linux-систем путь зависит от имени пользования и будет напоминать
этот: /\кте/<имяпочьзователя>/pub\ic html/gallery2.
В Windows путь будет примерно таким: C:\Program Files\Apache Software
Foundation\Apache2.2\htdocs\gallery2.
Скопируйте все файлы из выбранного вами инсталляционного архива в ката-
лог gallery2. Потом вам нужно будет запустить из этого каталога программу
установки, которая настроит приложение.
Gallery2 оптимизирована для выполнения на Web-сервере Apache, но она
также может быть настроена для запуска под Microsoft IIS. Для получения
подробных инструкций посетите следующий сайт:
http://codex.gallery2.org/index.php.
Примечание
Некоторые Web-провайдеры предоставляют встроенную Gallery2 как часть сво-
его сервиса. Вот некоторые такие провайдеры: DreamHost, Go-Daddy,
PowerWeb, OpenSource-Host, Delphian Internet, HostGo, CitrexHosting и
DownTownHost. Перед установкой приложения с нуля, проверьте, возможно,
ваш провайдер предоставляет уже настроенное приложение.
Создание базы данных для Gallery2
Перед установкой Gallery2 вам нужно создать базу данных, которая будет
использоваться для галереи, поскольку инсталлятор не может создать ее для
Фотогалерея
371
вас. Хотя Gallery2 совместима с несколькими серверами базы данных (в том
числе PostgreSQL и Oracle), мы будем использовать MySQL, поскольку с ним
совместима Joomla!.
cdcol
J joomla
joomlai 5
mysqi
оое Drop Schema
TABLE.CONSTRAIN
TABLE_PRIVILEGES
J TRIGGERS
USER_PRIVILEGES
Ctrl+Del
phpmyadmi*
lest
webauth
Copy CREATE statement to Clipboard Ctrl+C
Create New Schema
Create New Table
Ctrl+N
Ctrl+T
RefreJi F5
Рис. 10.11. Правой кнопкой щелкните на области Schema
и выберите команду Create New Schema
Рис. 10.12. Предоставьте пользователю все права доступа к базе данных gallery?
372
Глава 10
Для создания базы данных для Gallery2 запустите приложение MySQL
Administrator. Как только вы войдете на сервер, щелкните правой кнопкой на
панели Schema и выберите команду Create New Schema (рис. 10.11). Введите
имя схемы gaiiery2 (чтобы было проще).
Будет создана пустая база данных, и инсталлятор Gallery2 заполнит ее необ-
ходимыми таблицами и базовой информацией. Пока еще вы не закрыли
MySQL Administrator, создайте учетную запись пользователя для доступа к
только что созданной базе данных.
Для добавления пользователя выберите раздел User Administration. Создайте
новую учетную запись с именем galleryadmin и установите подходящий вам
пароль. В разделе разрешений доступа предоставьте этому пользователю все
привилегии для базы данных gallery2. Просто щелкните кнопку « для по-
мещения всех привилегий в список привилегий пользователя и нажмите
кнопку Apply для сохранения изменений (рис. 10.12).
Настройка Galiery2
Когда все настроено, можно запустить процесс установки Gallery2. Процесс
установки состоит из нескольких этапов мастера установки, который выпол-
нит за вас всю работу. Он настроит все необходимые файлы, разрешит выбо-
рочную активацию модулей, создаст необходимые таблицы и заполнит их
основными данными.
Для начала установки Gallery2 вам нужно запустить файл index.php из ката-
лога \gallery2. В Windows URL будет выглядеть так:
http://localhost/gallery2/index.php
Первый шаг инсталляции — просто приветствие. Нажмите кнопку Далее для
перехода к следующему этапу. На втором этапе вам нужно сформировать
ключевой файл аутентификации (рис. 10.13). Этот шаг необходим для созда-
ния файла с ключом аутентификации, сгенерированным системой на вашем
Web-сервере. Этот ключ позже будет использоваться системой для предот-
вращения атак хакеров.
Щелкните правой кнопкой на ссылке файла аутентификации и сохраните его
на жестком диске. Если у вас собственный локальный сервер, данный файл
нужно сохранить в каталог \gallery2. Если же вы используете удаленный
Web-хост, тогда сохраните файл на жестком диске, а затем по FTP загрузите
его в соответствующий каталог сервера.
Как только файл будет помещен в нужное место, нажмите кнопку Иденти-
фицировать меня. Если у вас возникли проблемы с аутентификацией, пе-
рейдите на домашнюю страницу Gallery2, на которой очень часто обновляет-
Фотогалерея
373
ся детальное решение проблем аутентификации, возникающих на узлах раз-
ных Web-провайдеров.
Шаги инсталляции
Добро пожаловжть
'£
Л
5
6
Инсталляция завершена на 0%
Авторизация
Для того, чтобы продол кигь инсталляции, мам необходимо проверить, что Вы тот, за кого
себя выдаете Самым надежным способом удостовериться в этом является просьба внести
Вас незначительные изменения в директорию, где установлена Галерея, что и докажет
Ваши права доступа. Так, мы хотим попросить Вас создать новый текстовый файл под
названием logln.txt в Вашей директории g»ll«ryZ на веб-сервере (это та же самая
директория, где находится файл main php). Он должен содержать следующую
последовательность случайно сгенерированных символов-
fa8c04484ad57a3dc7rba2f2191Г5287
В качестве удобства для Вас мы подготовили корректную версию файла lngln.txt
Скачайте вго и скопируйте в Вашу папку galleryZ, таким образом, подготовка будет
завершена
Как только Вы закончите затруаку файла, нажните ниже для продолжения.
Идентифицировать меня ,
Рис. 10.13. Экран аутентификации предоставляет ссылку на автосгенерированный файл
для размещения на вашем Web-сервере
Если аутентификация прошла успешно, инсталлятор приступит к проверке
системы (рис. 10.14). Если столкнетесь с проблемами при проверке системы,
большинство из них можно решить путем редактирования файла конфигура-
ции РНР.
Следующий экран (рис. 10.15) позволяет вам выбрать способ использования
Gallery2: стандартная (одна галерея на сервере) или мультисайтовая (не-
сколько галерей на одном сервере). В большинстве случаев нужно выбрать
Стандартная инсталляция и продолжить.
Очень важно правильно выбрать хранилище для картинок. Для большей
безопасности лучше всего каталог \images выбрать так, чтобы он был досту-
пен галерее, но не был доступен Web-серверу. Поэтому на четвертом этапе
(Установка хранилища, рис. 10.16) вы должны создать каталог за предела-
ми стандартного пути Web-сервера и установить нестандартное имя для этого
каталога, что сделает его труднодоступным хакерам. Если возможно в вашей
374
Глава 10
Gataf 2.2 Installer |jfl Поломи* QI Начато сначала
Шаги инсталляции
Добро пожаловать Инсталляция завершена на 15%
Аегорт» ацил Проверка системы
Версия РНР Успешно
Проверка система!
а Выбор типа Директива FILE Успешно
инсталляции Safe Mode Угле UIHO
• «нмакз . н>неы. execQ a lowed Успешно
setjjmeJimitO allowed Успешно
* Memory limit (32Mb) Успешно
V - ♦ - — <• *>W File uploads allowed Успешно
Maximum upload size (32Mb) Успеилю
Maximum POST size (16Mb) Успеш! ю
1 Поддержка перевода У«. пешно
1ft Целостность файлов Галереи Успешно
Перейти к Шагу 3»
Рис. 10.14. Проверка системы позволяет проверить функциональность Web-сервера
для надлежащего выполнения Gallery2
2.2 Installer
Ц Помощь
Q Нлчлг* г.ночоло
Ш<яи инсталляции
Добро пожаловал*
Авторизация
Проварка системы
мнсгаппяции
Инсталляция ’«вершена на 15%
Выбор типа инсталляции
Пожалует», выберите тип инсталляции
Это тип инсталляции по умолчанию Выберите данный тип инсталляции, вели Вы хотите
инсталлировать новую Галерею в директорию с которая будет
доступна по адресу U₽LK«tp //locaih«vT/;<i]««yZA
Г" Мулатисайтоаая (rnultis te) инсталляция
Галарея может поддерживать множество независимых сайтов на одном инсталляционном
коде. Выберете дячньй тип инсталляции, если Вы хр>иге инсталлировать новую Галерею
на один и тот же сервер но в резные папки. поддомены или основные домены URL,
Мультисайты не имеют общих альбомов, фотографии, пользователей или что-либо еще
Каждому из них необходима своя Явственная бава данных и своя собственная папка
хранилища. Для более подробной информацией о Мультисайтовой инсталляции посетите
страницу Multisite Ооглмтж itM on
Все мультисаиты инсталлируются из втой центральной базы осноеего кода.
Введите директорию для нового мультисайта ниже. Путь должен быть отличным от
инсталляции базы репового кода
Директория должна быть доступна для записи пользователю webterver/php или содержать
следующие доступные ая записи файлыi
шаш.рЬр
Рис. 10.15. Стандартная или мультисайтовая установка
Фотогалерея
375
Шаги инсталляции
Добро пожалоожго
А«горк>«ция
Промрк* системы
Выбор типа
инсталляции
4 У .тяйюимл
5
6
5 26
11
Инсталгяция завершена на 25%
Установка хранилища
Gallery needs a directory to store your images. The director» we chose for you will work but its
location or current name does not provide maximum security. Esther select a new directory
outside of the document root directory or add a random stnng to the end of the directory
name (e.g. g2data_941510c724).
For maximum security you should pick a directory that Is not v/rh
accessible. If this Is not possible, specify в randomized name for this
directory.
Если Вы используете современный браузер, мы попытаемся автоматически заполнить любой
вводимый Вами здесь путь Поэтому, если Вы испытываете сложности при нахождении
верного пути к Вашей g2data директории, попытайтесь поэкпериментироеать с путями в
текстовом поле ниже и посмотрите, какие автоэаполнения Вам будут предложены.
Баш веб-сервер должен иметь право доступа на запись в данную директорию, чтобы
выполнить это требование. Вы можете следовать следующим примерам:
Внимание: это только примеры! Бы можете обнаружить, что они будут работать не совсем
верно на Ванген системе
Windows
С:\> mkdix С: \xex^p\htduc«\gaU.Bry2\g2data
Для получения более детальной информации о защите директории
хранилища Галереи, пожалуйста ознакомтесь с ’укоос. та « w
Рис. 10.16. Если возможно, расположите каталог хранилища картинок
за пределами пути Web-сервера
Apache-инсталляции, попытайтесь создать каталог за пределами каталога
\htdocs.
Данный каталог нужно создать до нажатия кнопки Продолжить. После этого
инсталлятор проверит доступность каталога и сообщит, безопасен ли он.
На следующем этапе (Установка базы данных, рис. 10.17) вам нужно ввести
параметры доступа к базе данных. Инсталлятор считает, что вы уже создали
базу данных, необходимую для хранения информации галереи. Если вы еще
не создали ее, сейчас самое время это сделать. В качестве имени пользователя
вы можете указать имя созданного ранее с помощью MySQL Administrator
пользователя galleryadmin.
Инсталлятор Gallery2 проверит соединение, создаст необходимые таблицы и
заполнит их данными. Самое сложное уже позади. На следующем экране
(Создание администратора) можно указать имя, пароль и e-mail админист-
ратора галереи. Рекомендуется использовать параметры, совпадающие с па-
раметрами Joomla! для более простого управления.
Нажатие кнопки Продолжить приведет к процедуре создания конфигураци-
онного файла Gallery2 (config.php в каталоге \gallery2). Если при этом воз-
376
Глава 10
никнет какая-то проблема, инсталлятор сообщит вам и даже попытается вам
помочь, подсказав, как ее решить.
Шаги инсталляции
Добро пожаловать
Инсталляция 5авершеиа на 35%
Автор»! «ця
Проварка системы
Вь бор типа
инсталляции
Установка хранилищ*
Установка б азы
данных
В
Установка базы данных
Пожалуйста, выберите тип базы данных и введите аутентификационную информацию базы
данных. Инсталляция не создаст для Вес базу данных, поэтому Вы должны создать одну
из них самостоятельно и ввести здесь имя базы данных, Если Вы инсталлируете Галерею в
базу данных, в которой уже содержатся таблицы внутри, то префиксы table н column
позволят уберечь данные Галереи от конфликтов с тем. что Вы уже имеете.
I
Тип базы данных: tMySQL (v3 23 34а and newer)
DB Hostname: |localhosl
DB Username: [root
DB Password: |
DB Name: |gallery2
Table Prefix: |g2_
Column Prefix: |g_
[' Сохранить)
Рис. 10.17. Введите параметры доступа к базе данных
Совет
Файл конфигурации критически важен для Gallery2. Именно по этой причине я
регулярно делаю его резервные копии и сохраняю за пределами Web-сервера
(из соображений безопасности). Если конфигурационный файл будет повреж-
ден (при редактировании вручную или вследствие системной ошибки), Gallery2
прекратит работу. Восстановление этого файла избавит вас от переустановки
системы.
Нажатие кнопки Продолжить запустит процесс установки основных моду-
лей Gallery2. Если на этом этапе возникнут проблемы, инсталлятор поможет
вам их решить, и вы сможете продолжить установку.
На следующем экране (Install Plugins, рис. 10.18) будет показан полный спи-
сок доступных для установки модулей. Если вы загрузили полную установку,
список модулей может занять несколько экранов. Вне зависимости от вы-
бранного вами дистрибутива, вы можете оставить все модули включенными,
кроме тех, в которых вы точно не нуждаетесь.
Фотогалерея
377
Шаги инсталляции
Добро ложалояат» Инсталляция завершена
Ажторивация Install Plugins
Проверка системы Следующие нодули могут быть автоматически инсталлированы и активизированы для Вас. Вам ивобходнио инсталлировать по крайней мере одни из графических инструментов, в противном а
Выбор типа инсталляции Галерея не сможет создать макеты Ваших изображений. В большинстве систем автоматическая инсталляция должным образен сделает это для Вас. Однако, в некоторых других случаях она г не удаться- Вы сможете всегда активизировать новый модуль, либо деактивизировать любой и
Установка хранил-ица что выберите иа странице Администрирования, так что любое примятое Ванн решение здесь не является окончательным.
Установка базы данных Некоторые модули не могут быть установлены автоматически Это нормально Обычно это ознас что они требуют дополнительной конфигурации, которую Вы сможете осуществить на странице
Создание Администратора Администрирования.
Создание файла конф -»у рации Наэеанле Версия Плслние Импорт Загрузка Архива 1.0 6 Распаковка файлов из загруженного zip файла
Инсталляция Ядра Галереи Дополнительные данные
Install Mugtnc Г*/ Комментарии 113 2 Добавление коимемтариев пользователями v EXIF/IPTC 1.1.0 Извлечение данных EXIF/1PTC из JPEG фотографии
1е Проверка безопасности V Рейтинг 1.0.8 Интерфейс Рейтинга Элементов
11 Галерея р . ** Упорядочивание 1.0.5 Изменение порядка следования элементов в альбом 1 Enables short URLs using Apache mod rewrite, ISAPl 1 ** Перенаправления URL 1 1.13,3 p^j^ ” P Поиск 1.0 5 Поиск в Галерее Графически? инструменты
Рис. 10.18. Список плагинов, доступных для установки
Последний экран предоставит вам доступ к руководству по безопасности.
Прочитайте его! Это лучший способ убедиться, что Gallery2 безопасна, на-
сколько это возможно. Так как приложение разрешает загрузку файлов, соз-
дает новые файлы на сервере и отображает картинки (основная точка входа
для хакерских атак на переполнение буфера), очень важно сделать ваш сервер
безопасным. Даже если вы запускаете приложение на удаленном сервере, все
равно прочитайте руководство безопасности.
Вот и все! Попытайтесь получить доступ к Gallery2 по следующему URL:
http://localhost/gallery2
Войдите в Gallery2 как администратор. В отличие от Easy Gallery, для органи-
зации картинок Gallery2 использует альбомы, а не категории, хотя разница
только в названии, суть остается той же. Добавьте несколько альбомов и фо-
тографий, чтобы убедиться, что система работает должным образом. Как
только вы выполните несколько простых функций галереи, она будет готова
для интеграции с интерфейсом Joomla!.
378
Глава 10
Использование Gallery2 вместе с Joomla!
Gallery2 может быть запущена на сервере как отдельное приложение. Однако
для большего удобства необходимо интегрировать ее в существующий
Joomlai-сайт. Для этого нужно не только запустить ее внутри интерфейса
сайта, но и синхронизировать пользователей сайта и галереи. Для этого нуж-
но использовать одну и ту же систему регистрации пользователей. Интегра-
ция Gallery2 с вашим сайтом предоставит однозначный и непротиворечивый
пользовательский интерфейс вашим посетителям.
Для интеграции Gallery2 в Joomla! нужно установить специальный компо-
нент— Gallery2 Bridge. Этот компонент позволяет интегрировать пользова-
тельских интерфейс и координирует функции системы
Установка Gaiiery2 Bridge
Для интеграции Gallery2 в Joomla! вам нужно загрузить компонент Gallery2
Bridge и библиотеку JoomlaLib — это библиотека функций, которые исполь-
зует компонент. Самые последние версии этих расширений можно скачать с
сайта Joomlai-расширений (http://extensions.joomla.org). Их также можно
скачать с сайта http://trac.4theweb.nl.
Загрузите оба компонента и установите их с помощью Менеджера расшире-
ний. Первым нужно устанавливать JoomlaLib. Когда установка Gallery2
Bridge будет завершена, Joomla! сообщит вам об этом (рис. 10.19).
Загрузка component - Успешная
Ga lery?
Component to Bridge Gallery 2.
You must nstall Joomlallb before using Gallery 2 Bridge component!
[Продолжить...]
Рис. 10.19. Установка Gallery2 Bridge завершена
Перед запуском Gallery2 в интерфейсе Joomla!, вам нужно настроить расши-
рение, предоставив ему информацию о галерее.
В подменю Gallery! меню Компоненты будут три команды: Config (На-
стройки), User Management (Управление пользователями) и Album Mana-
gement (Управление альбомами). Выберите команду Config для настройки
компонента. В правом верхнем углу конфигурационного окна вы увидите
Фотогалерея
379
кнопку Wizard. Нажмите ее для запуска мастера, позволяющего пошагово
настроить конфигурацию моста.
Когда вы нажмете кнопку Wizard, будет отображен экран, где можно указать
путь к Gallery2 (рис. 10.20). Данный параметр наиболее важен, поскольку
этот путь используется мостом для нахождения всех файлов, необходимых
для интеграции с Joomla!.
Рис. 10.20. Мастер настройки компонента Gallery2 Bridge
С помощью мастера вы быстро настроите мост. Однако для отображения
галереи в Joomla! вам еще нужно добавить пункт меню для доступа к мосту
галереи.
В меню Компоненты компонент моста будет обозначен как Gallery2. Вы уже
знаете, как добавить меню, вызывающее компонент сайта. Создайте меню,
вызывающее компонент Gallery2, при вызове которого в центре сайта будет
отображена галерея Gallery2 (рис. 10.21).
В дополнение к главному компоненту, интегрирующему основной интерфейс
пользователя Gallery2 в Joomla!, вы можете использовать модули, позволяю-
щие отображать определенные часть галереи на вашем сайте. Все эти модули
доступны на том же сайте, где вы скачали компонент Gallery2 Bridge.
На момент написания этих строк было доступно пять дополнительных мо-
дулей:
♦ Statistics — предоставляет статистику по самым популярным частям гале-
реи. Статистика выводится по картинкам, альбомам, комментариям, а
также выводится итоговая страница по доступу к галерее;
380
Глава 10
Рис. 10.21. Gallery2 появилась в центральной части шаблона
♦ Sidebar— отображает меню автономного приложения Gallery2. С помо-
щью модуля меню Gallery2 можно лучше интегрировать в шаблон Joomla!,
к тому же будет освобождено пространство вверху компонента, обычно
занимаемое меню;
♦ Image — отображает в позиции модуля определенную картинку. В опциях
вы можете выбрать, какую именно: Random Image (Случайная картинка),
Last Added Image (Последняя добавленная картинка), Most Viewed Image
(Самая популярная картинка), Random Album (Случайный альбом), Most
Viewed Album (Самый популярный альбом), Daily Image (Картинка дня),
Weekly Image (Картинка недели), Monthly Image (Картинка месяца),
Dady Album (Альбом дня), Weekly Album (Альбом недели). Monthly
Album (Альбом месяца);
♦ Comments — отображает комментарии пользователя о различных картин-
ках, сохраненных в галерее;
♦ Album — представляет список текущих фотоальбомов для прямого досту-
па к ним.
Фотогалерея
381
Каждый модуль работает, как обычный Joomlai-модуль. Просто установите и
настройке модуль, а затем поместите в его в удобную вам позицию шаблона.
Другие плагины для Gallery2
Если вы планируете в дальнейшем расширить интерфейс Joomla!/Gallery2, то
можете использовать несколько дополнительных плагинов, добавляющих
в мост этих двух систем дополнительные функции:
♦ Search Bot — плагин позволяет интегрировать описания фотографий и га-
лереи. хранимые в Gallery2. в поисковую систему Joomla!. Этот плагин де-
лает поиск более удобным, а сайт менее противоречивым;
♦ Joomap— интегрирует Gallery2 в карту сайта, генерируемую через Joomap
(также имеется поддержка создания Google Sitemap XML);
♦ Community Builder — плагин интегрирует контент Gallery2 с интерфейсом
Community Builder, который предоставляет большую безопасность для
изображений и альбомов.
Помните, что все эти расширения — плагины, т. е. интегрируются с Joomla!
на низком уровне. Следовательно, если после установки плагинов у вас воз-
никли проблемы с сайтом или заметно понизилась его производительность,
убедитесь, что все ваши плагины работают корректно.
Резюме
Расширения фотогалереи для Joomla! предоставляют размещать на сайте
цифровые изображения. Популярность цифровых фотоаппаратов и сотовых
телефонов с фотокамерами растет с каждым днем. С надлежащими расшире-
ниями ваш Joomlal-сайт послужит фундаментом для распространения изо-
бражений.
Для небольших или личных сайтов идеально подойдет расширение Easy
Gallery, сочетающее простую установку с понятным администрированием.
Оно может отображать ваши картинки с помощью родного компонента
Joomla!. Хотя пользователи не смогут размещать свои изображения (потому
что нужен доступ к интерфейсу администратора), это расширение идеально
подходит для быстрой публикации ваших фотографий. А поддержка FTP по-
зволит вам избежать возможных проблем с правами файлов.
Для больших галерей или коммерческих сайтов управления изображениями
больше подойдет приложение Gallery2, предоставляющее расширенные
функции галереи: от мультиформатной загрузки до корзины для заказа изо-
бражений. С помощью компонента Gallery2 Bridge приложение Gallery2 мо-
382 Глава 10
жет быть интегрировано с Joomlai-сайтом. Галерея Gallery2 обладает даже
собственной архитектурой плагинов, что позволяет расширять ее функции.
В этой главе были рассмотрены всего два расширения для создания галереи,
но для Joomla! написаны десятки других подобных расширений. Наиболее
впечатляющие галереи интегрируются в Joomla! с помощью Adobe Flash-
плагина для предоставления более функционального пользовательского ин-
терфейса.
В главе 11 мы рассмотрим расширения для организации бизнеса в Интернете,
позволяющие добавить на Joomlal-сайт каталог товаров и возможности его
заказа.
ГЛАВА 11
Joomla! и электронная коммерция
Хотя Joomla! в основном используется для создания персональных сайтов,
посвященных хобби владельца, с соответствующими расширениями ее мож-
но превратить в феноменальную коммерческую платформу. В Web электрон-
ная коммерция стала большим бизнесом, особенно в В2В-транзакциях
(business-to-business). Интернет позволяет привлечь покупателей со всего ми-
ра, а ваш сайт покажет каталог товаров и поможет вам обрабатывать онлайн-
заказы.
В этой главе мы сфокусируемся на OpenSource-решении для электронной
коммерции (далее e-commerce)— VirtueMart. VirtueMart— это популярный
Web-магазин, который используют более 600 зарегистрированных онлайн-
магазинов для продажи своих товаров. Чтобы продемонстрировать, как рабо-
тает VirtueMart, мы пройдем все этапы создания онлайн-магазина Movie
Maninee. Наш магазин будет продавать старые фильмы на DVD. На этом
примере вы сможете понять, как настроить и разместить ваш виртуальный
магазин.
VirtueMart: The Joomla! Store
VirtueMart — е-соттегсе-решение, рассчитанное выполнение в среде
Joomla!. VirtueMart предоставляет полноценный каталог товаров, управление
инвентарем, а также возможности корзины для заказов. Приложение админи-
стрируется через Web-интерфейс, подобный интерфейсу Joomla!. Приложе-
ние также поддерживает импорт существующей продукции через CSV-
файлы, содержащие цены товаров, их описания, параметры, перекрестные
ссылки и другую информацию о товарах.
384
Глава 11
VirtueMart— одно из самых полнофункциональных Joomlal-расширений для
электронной коммерции, предоставляющее следующие функции:
♦ продажу и управление загружаемыми продуктами (например, программ-
ное обеспечение и электронные книги);
♦ показ как обычного каталога, так и каталога с возможностью заказа товара;
♦ интерфейс администратора, интегрируемый с пользовательским интер-
фейсом Joomla!, поэтому администрирование магазина возможно без пре-
доставления прав Joomla!-администратора (следовательно, управлением
магазина могут заниматься наемные специалисты, не имеющие доступа в
панель управления сайтом);
♦ пользовательские атрибуты для каждого продукта, возможность измене-
ния порядка атрибутов;
♦ функции отслеживания инвентаря и заказов;
♦ функцию "Shopping Groups", позволяющую устанавливать отдельные це-
ны для каждой группы.
♦ калькулятор рейтинга отгрузок и интерфейс взаимодействия с грузопере-
возчиками UPS, USPS, InterShipper и Canada Post;
♦ создание отчетов по заказам, продажам товара и доходу;
♦ встроенные возможности поиска;
♦ поддержку платежных систем PayPal, eWAY, WorldPay и Paymate;
♦ расширяемую архитектуру, позволяющую добавлять пользовательские
плагины, например, для грузоперевозки и оплаты.
VirtueMart состоит из различных расширений, поэтому вы можете установить
только необходимые вам части. Минимальная версия VirtueMart состоит все-
го из одного компонента и одного модуля. Главный компонент реализует
функции виртуального магазина, поэтому без него никак не обойтись.
Системные требования
Если у вас уже есть сервер, на котором запущена Joomla!, на нем, скорее все-
го, можно запустить VirtueMart. Минимальная конфигурация следующая:
♦ РНР 4.3 или выше с установленными расширениями поддержки MySQL,
XML и zlib;
♦ MySQL 3.23 или выше;
♦ Apache 1.13.19 или выше с поддержкой HTTPS (OpenSSL) и cURL
Убедитесь, что ваша система соответствует системным требованиям перед
установкой VirtueMart. Приложение не проводит проверку системы, как это
Joomla1 и электронная коммерция
385
делает Joomla!, поэтому эффект его применения на не соответствующей сис-
темным требованиям машине неизвестен.
Версии установки
VirtueMart (ранее известный как mambo-phpShop)— бесплатное, свободно
распространяемое по лицензии GNU/GPL (как и Joomla!) решение для элек-
тронной коммерции. Загрузить его можно с домашней странички
VirtueMart — www.virtuemart.net.
VirtueMart— это набор модулей, компонентов и плагинов, поэтому сущест-
вует много способов его загрузки и установки. Каждое расширение требует
отдельной установки в Joomla!. На домашней страничке вы найдете три паке-
та расширений, доступных для загрузки:
♦ Complete installation — полная установка содержит главный компонент
VirtueMart, десять дополнительных модулей (например, для отображения
последнего продукта или десяти лучших продуктов) и два плагина (для
поиска и контента);
♦ Joomla! installation — версия Joomla! с уже установленным и настроен-
ным VirtueMart. Если у вас уже установлена Joomla!, вам не нужна эта
версия. Зато этот инсталлятор позволяет просто и быстро создать вирту-
альный магазин;
♦ Upgrade installation — если у вас уже была установлена предыдущая вер-
сия VirtueMart, тогда вы можете использовать этот пакет для ее обновле-
ния с сохранением всех существующих данных.
Примечание переводчика
На сайте VirtueMart можно также скачать четвертый тип пакета — Manual
Instllation, предназначенный для ручной установки пакета, если с автоматиче-
ской установкой возникнут проблемы (в частности, если включен безопасный
режим РНР, т. е. директива Safe Mode включена — значение On). В архиве вы
найдете руководство (в формате PDF) по ручной установке магазина
Примечание переводчика
Вы также можете скачать языковый пакет. Архив Language_Pack_for_
VirtueMart_1.1.0.zip нужно распаковать и загрузить на сервер в каталог
Joomla!/administrator/components/com_virtuemart/. Все графические копии экра-
нов будут приведены с использованием русской версии магазина
В состав полного пакета входят десять модулей
♦ modproductcategories — отображает категории продуктов;
♦ mod_ productscroller— выводит бегущую строку с информацией о вы-
бранном продукте;
13 Зак 468
386
Глава 11
4 mod virtuemart allinone— показывает экран с несколькими вкладками:
лучшие 10 продуктов, случайные продукты и последние продукты;
♦ modvirtuemartcart— отображает небольшой значок с ссылкой на корзи-
ну заказов;
♦ modvirtuemartfeatureprod — отображает продукты со специальной ценой
(со скидками);
♦ mod virtuemart manufactures— показывает список производителей или
брэндов доступных продуктов и позволяет просматривать продукты по
этим категориям;
♦ mod virtuemart randomprod — выводит случайный продукт из всего ката-
лога или из выбранной категории;
♦ mod virtuemart search — выводит поле поиска по каталогу продуктов;
♦ mod virtuemart topten— отображает лучшие (наиболее продаваемые) то-
вары сайта.
Загрузите дистрибутивный файл, соответствующий вашим нуждам. Все ар-
хивы содержат файлы инсталлятора, поэтому перед установкой их нужно из-
влечь. Например, главный модуль VirtueMart называется mod_virtuemart_
cart l.O.IO.tar.gz и содержится в полном дистрибутивном архиве с именем
VirtueMart l.0.10-COMPLETE_PACKAGE.zip (номера версий могут отли-
чаться).
Установку нужно начать с распаковки главного модуля. У меня имя архива
главного модуля было mod virtuemart l.O.lO.tar.gz. Используя Менеджер
Р1эд«в , та der 1
donation to help
me keep up the work
on th» component
Welcome to VirtueMart 1.1.0 stable !
VirtueMart 1.1.0 stable I Hay Saturday SunI
23/04/2000 20:00 CUT
SUCCESSFUL
Let’s prepare tire database now (the installation Script hasn't found existing mambo-
plipSliop VMueMart tables, so let's do <i fresh installation).
Basic Instaletjon has been Unshed You
can use VirtueMart in a moment after
havnfl clicked on a ink below
Go directly to the Shop >
To fi your Shop with dummy products, and
to see how things can be set up. you can
instal some Sample Date now
Im tall SAMPLE DATA »
Goto virtuemart ле! for further Help
Рис. 11.1. После установки компонента вы можете установить демонстрационные данные
Joomla! и электронная коммерция
387
расширений, установите его. Убедитесь, что он установлен в нужной позиции
сайта.
После установки модуля распакуйте главный компонент (он называется
com virtuemart 1.0.10.tar.gz) и с помощью Менеджера расширений установи-
те его. После завершения установки вы увидите кнопку, позволяющую уста-
новить демонстрационные версии данных (рис. 11.1). Это превосходная идея,
поэтому нажмите эту кнопку для установки этих данных
Создание виртуального магазина
Как только VirtueMart будет установлен, вы можете сразу приступить к соз-
данию виртуального магазина. Одно из самых весомых преимуществ этого
приложения — гибкость конфигурации. Все настройки могут быть изменены
позже. Нет таких ошибок, которые нельзя исправить позже.
Как и в случае с Joomla!-сайтом, время, вложенное в планирование структуры
магазина, окупится в будущем. Проектировать структуру магазина нужно
сверху вниз — сначала создавать категории, а затем заполнять их продук-
тами.
Панель управления VirtueMart
Если вы выбрали установку демонстрационных данных, то после их установ-
ки вы сразу попадете в панель управления VirtueMart, отображенную в
интерфейсе администратора (хотя она также доступна через интерфейс поль-
зователя). В интерфейсе администратора панель управления магазином
Панель управления Статистика
Гл Электронный магазин "Панель управления
«ига
Список тсварсь Список категорий
Продавцы
Пользователи
•-Л хобы гплаты
Настой» и
Инфор» э
магазине
Рис. 11.2. Панель управления виртуальным магазином
388
Глава 11
доступна через подменю VirtueMart меню Компоненты. Панель управления
(рис. 11.2) предоставляет кнопки быстрого доступа к наиболее часто исполь-
зуемым конфигурационным окнам. Также в панели управления вы найдете
статистику виртуального магазина (вкладка Статистика).
Меню, отображаемое в панели управления VirtueMart, предоставляет доступ
ко всем экранам магазина, а т. к. они не очень часто используются, то для них
не предусмотрены кнопки быстрого запуска в панели управления. Для досту-
па к ним используется только меню.
Налоговые ставки
Налогообложение— серьезная штука, поэтому настройку вашего магазина
вы должны начать с добавления налоговой ставки. Установка по умолчанию
содержит всего лишь одну ставку для штата Калифорния (США). Если вы
находитесь не в Калифорнии, вам нужно добавить налоговую ставку для ва-
шего региона.
Для настройки налоговой ставки выберите команду Добавить налоговую
ставку из меню Налоги. Вы увидите экран Добавить информацию о нало-
говой ставке (рис. 11.3), позволяющий добавить информацию о налогах.
Добавить информацию о налоговой ставке
Добавить информации о налоговой ставке
Страна, где действует налог
Регион, где действует налог н«т v
Ставка налога (если 18% «> вводим 0.18)
Рис. 11.3. Экран Добавить информацию о налоговой ставке позволяет выбрать страну,
штат/регион и установить налоговую ставку
VirtueMart содержит огромный список стран и регионов этих стран. Если ва-
шей страны нет в списке, вы можете добавить ее через интерфейс админист-
ратора VirtueMart. Для этого выполните команду Список стран из меню На-
стройки. Данная команда добавит новую запись в таблицу josvmcountry.
Добавить регион можно только вручную с помощью MySQL-приложения.
Откройте приложение MySQL Administrator, щелкните правой кнопкой мыши
на таблице jos vm country и выберите команду Edit Table Data. Найдите
Joomla! и электронная коммерция
389
страну, для которой вы хотите добавить регион, и запишите ее номер (поле
country id) для дальнейшего использования. Если вы только что добавили
свою страну, то найдете ее в конце списка.
Откройте таблицу jos_vm_state и создайте новую запись. Поле state id мож-
но не заполнять (оно будет заполнено автоматически). Введите ID вашей
страны (в поле country id), введите название региона и его трехбуквенную
аббревиатуру в соответствующие поля и сохраните изменения.
Добавленная вами запись будет сразу же отображена в соответствующем
раскрывающемся списке. Обратите внимание: все эти изменения нужно про-
делать заново в случае переустановки Joomla! (например, из-за системного
сбоя), поэтому регулярно делайте полную резервную копию базы данных
Joomla!.
Общая настройка
В меню Настройки вы найдете несколько команд управления виртуальным
магазином. Команда Настройки вызовет одноименный экран (рис. 11.4), со-
держащий несколько вкладок, первая вкладка — Общие настройки.
Настройки
niorne/dkwsorgufcJofriains.fdkv'/s org ud/publJC_htmJ40CTril&Mdmmistratofftompon8ntsfcom_viriueniarV^iituemdrt cfg php
Доступен для щписи
Общие настройки Безопасность Сайт Доставка Оформление заказа Скачивание Настройки ленты новостей
Оишме настройки
Магалш Отметьте, если необходимо евкрыть магнии
Iакрыг? Г* Соот с етст в ую вцге у е е дом л енио б> дот показ»* при
За^ОД-5 В №4<М4ЗДН
Уведомлен ie <hZ>Our Shop is currently down for
о тог», что a*int«n*nce. </hZ> Please check back
MflTa Hit again soon,
jupbir
llcnonb овлть Если огам «но. тс магазин будет работать только
только как Г как каталог При этом все функции корзины будут
мгалог отключены
Ценя
ПОЮМЪЮ4№
цены
Группа 'v Нспючитьэтуолцес @
в ин» овагепеи, -=-«-----------~-----«—
........... Administrator л.
Рис. 11.4. Экран Настройки содержит все глобальные настройки VirtueMart
390
Гпава 11
Вкладка Общие настройки
Если вы хотите использовать VirtueMart только как онлайн-каталог, включи-
те параметр Использовать только как каталог, что отключит функции кор-
зины. Настройки по умолчанию на этой вкладке устроят большинство поль-
зователей, но на всякий случай проверьте, подходят ли они вам.
По умолчанию параметр Разрешить клиентам оставлять отзывы/рей-
тинги в области Возможности магазина включен. Данный параметр разре-
шает пользователям не только участвовать в рейтинге продуктов, но и остав-
лять собственные обзоры продуктов. Хорошо подумайте, хотите ли вы оста-
вить включенным этот параметр. Если вы не представляете огромную
компанию вроде Wal-Mart, один отрицательный отзыв может негативно ска-
заться на продажах.
Так вы должны внимательно прочитать текст Правовая информации в об-
ласти Регистрация пользователей. Текст по умолчанию содержит политику
возврата, но вы можете дополнить его. Убедитесь, что он точно отражает по-
литику вашего магазина.
Вкладка Безопасность
Вкладка Безопасность содержит настройки, используемые для обнаружения
и предоставления информации о вашем магазине (рис. 11.5). Если у вас есть
SSL-сертификат (см. разд. "VirtueMart u Secure Socket Layer" далее в этой
главе), вы сможете здесь указать URL защищенного режима (протокол
HTTPS). Также здесь вы можете изменить префикс таблиц, URL домашней
страницы и URL страницы ошибок, хотя изменять эти параметры, скорее все-
го, вам не придется.
Другие вкладки конфигурационного окна
Большинство параметров на остальных вкладках конфигурационного окна
(Сайт Доставка, Оформление заказа, Скачивание, Настройки ленты но-
востей) можно оставить по умолчанию. Вы можете разве что на вкладке Дос-
тавка выбрать грузоперевозчиков, с которыми работаете. Если вы продаете
электронные продукты (электронные книги, программы), вам нужно посетить
вкладку Скачивание и установить ее параметры, например, Путь к файлам
для скачивания и Возможность скачивания истекает через.
Как только вы установите все глобальные параметры, нажмите кнопку Со-
хранить для их сохранения В отличие от нормального интерфейса Joomla!,
нажатие этой кнопки возвратит вас на главную страницу окна настроек.
Joomla! и электронная коммерция
391
Настройки
jm 'gij/dorrainsjawGorc • имы mmujcomia idmi istfator/componenisxom^vinuemarwirtuemart fg php
Дснлу wh для записи
Общие настройки Безопасность Сайт Доставка Оформление заказа Скачивание Настройки ленты новостей
Наыронки безопасности
Site URL http ://<*«*• org ui/joomla/
Адрес для
защищенного http.//dk*e org.m/joomljf
режг ма
Дополнительные настроит
Преф| кс для
таблиц Vi rtueMart
которые должны
использовать
littp*
Глжвная страница shop index
Страница для
вывода ошиоок
• hop. error
J Обычно предотвращать соединение по
протоколу https?
Функция AES EhCRypt (Лопд MCurity) V О
шифрования
КЛИЧ Bd58eW253fl435(ieo; @
шифрования
£7 Сохранять имформаьгю о кредитной
карточке?
Кастро мки pi oxy
URL-ссылка рюху
сервера
Порт proxy
Имя полыовйтеля
proxy
Пароль для рюху
©
©
©
©
р“ Разрешить адмитыстрированив через
магазин (Irontend) пользователям, не
допу ценным в панель
ад микистриро в амия'?
Рис. 11.5. Вкладка Безопасность содержит параметры безопасного пути, отладки,
шифрования и префикса таблиц
Настройка магазина
Перед открытием вашего виртуального магазина вам нужно настроить его
для представления вашего бизнеса. Выполните команду Информация о ма-
газине из меню Магазин. Эта команда отобразит экран Информация о ма-
газине (рис. П.6), позволяющий вам редактировать основную информацию
о вашем магазине: название магазина, URL-адрес, телефон и контактную ин-
формацию. Также вы можете загрузить логотип магазина. Помните, что вы-
бранная картинка не будет загружена на сайт до нажатия кнопки Сохранить.
Экран Информация о магазине позволяет также изменять тип валюты, об-
щее описание магазина и определять условия обслуживания. После нажатия
кнопки Сохранить VirtueMart сохранит все параметры магазина и покажет
их вам.
392
Гпава 11
Информация о магазине
Магазин
На ванив
мага мнк
Wa«hupilo’s TiendiU
Название
КОМП «МНИ
владельца
Wash u pile's Tiendita
магазина;
URL: http //dkras crg.ua/jcomla
Адрес 1: (00 Wiihupito Avenue. H.W
Адрес 2:
Город: Lex, Foiest
Сгран® united Slain
Регион: California v
Индекс: e2e30
Телефон: see 555-1212
Кшткппя । «формация
Фамилия: о^е,
Имя: Demo
Отчество: stere
Обращение: мг
Телефон 1: 555 555 1212
Телефон 2: 555 555-1212
Факс: 555 555-1212
Е mail: dhsiiab$i$mall tu
Стиль отобртжен тя валюты
Формаг {sto„naM1
Weca (.ddre»»_l>
"""J? <*ddr*««_2l
О (city), (lip>
Формат
даты %A %d %0 %Y %H:%M imlo)
мага ина:
Информация о магазине
Логотип:
Загруипь
мюбражение:
Валюта: us Dollar
С...........
Символ валюты: $
Количество 2
разрядов:
Десятичный
ращел пель:
Ра аде лит ель z"b
тысяч*
Формат
положительного I SymbOO у*
гначен м:
Формат
отрицательного -SymbOO у* I
значения:
СПЛСОК 4Soulh) Korean Won
ДОПУСТИМЫХ Afghanistan Afghani
валют: Albanian Lek
Рис. 11.6. Параметры вашего виртуального магазина
Создание категорий
В VirtueMart продукты представляются так же, как и в обычном почтовом
каталоге. Сначала вам нужно создать категории для различных продуктов, а
затем добавить в них продукты. Категории используются для сортировки
списка продуктов пользователем, а также для анализа в административном
отчете.
Начнем с добавления категории Драма (ведь мы создаем магазин, продаю-
щий старые фильмы на DVD), как показано на рис. 11.7 (для этого выполните
Joomla! и электронная коммерция 393
команду Добавить категорию из меню Товары). Введите название катего-
рии и ее краткое описание. Раскрывающийся список Родительская катего-
рия позволяет определить категории иерархически. Параметр Просмотр
представления (fly-страницы) категории позволяет вам создать пользова-
тельский шаблон страницы, применяемый для отображения продуктов этой
категории. Когда вы создаете реальный сайт, используя эту опцию, можно
создать пользовательскую страницу с некоторыми специфическими картин-
ками и специфическим фоном.
Информация о категории
Информация о категории ES Изображения
Опубликовать?
Название категории' Драма
Олисами. к«т«ГОРии. в у и g _ в ,| v- _FomЛ_
•= |= -«е 4 1 У- &Л* 43 « «а Н U
— >2 х- *' fl «
KapTwisa Pagebreak Feed e
Порядок сортцювки Новые значения по умолчанию находятся на последнем месте. Сортировка может быть изменена, когда позиция сохранена
Родительская категория Default-Top Level v
> Показывать х товаров в 1
строке
Страница отображения managed V
категории
Просмотр fiypagt tpi v
представления (fly-
страниь^О категории
Рис. 11.7. Добавление категории Драма
Поле Описание категории использует выбранный вами редактор Joomla!
(например, TinyMCE). С помощью этого редактора вы можете отформатиро-
вать текст, вставить картинки и Flash-анимацию.
Нажмите кнопку Сохранить для сохранения информации о категории. Для
сайта Movie Matinee я добавил еще одну категорию — Комедия. Для кор-
ректного отображения категорий на главной странице вам нужно добавить
как минимум две категории.
Добавление продуктов
Для добавления нового продукта в каталог выберите команду Добавить
товар из меню Товары. Вам нужно ввести название продукта и номер, по
394
Глава 11
которому вы будете отслеживать продукт (артикул, ISBN и т. д.)- Выберите
категорию Драма (рис. 11.8). В этом примере я добавил классический фильм
"Касабланка". Введите остальную информацию (цену, короткое описание,
полное описание и установите другие параметры, которые вы посчитаете не-
обходимыми)
Новый товар
IWM
Информация о товаре Показать опции Статус товара Габариты и вес Изображения товара Сопутствующие товары
Информация о товар*
Опубликовать 7:
Артикул. 1001
Наименее мне: Касабл анг а
URL:
Продавец Washuprto's TtencWa
Производитель* Manufacturer
Категории т'7ЙГ
—11| Power Tools
@ ------|2| Outdoor Tools
---|2| Indoor Tools
—11| Garden Tools_
ЕПРЕЯИИВ
—11| Катогория
В Z Ц 3= S = В || -Slytes- v -Formal- -Fontfamily |
:= 1= I да I & & J — I» \ <9 e) в LI
— ^Ql x- » n •«’3’1
Рис. 11.8. Вкладка Информация о товаре
Перейдите на вкладку Статус товара (рис. 11.9) и введите информацию о
наличии товара на складе. Здесь вы можете указать количество товара на
складке, ввести дату, начиная с которой товар будет доступен для продажи.
Также вы можете указать выбрать картинку (или ввести текст), информи-
рующую пользователя о доступности товара1.
Дополнительный список свойств— это одна из самых полезных возмож-
ностей VirtueMart. В это поле вы можете ввести строку параметров продукта.
Различные параметры разделают точкой с запятой (,-). После названия пара-
метра через запятую должны следовать доступные значения.
1 Например, картинка 2-3d.gif говорит о том, что товар будет доступен через 2—3 дня. — Пер.
Joomla! и электронная коммерция
395
Новый товар
I ГН1«
Информация о товаре Полазать опции Статус товара Габариты и вес Изображения товара Сопутствующие товары
; Статус товара
На складе:
Мпи мальное количество
пр юбрегаемого товара-
Максимально» количество
г^мюбретаемого товара*
I Доступно С‘
Доступен
10
t
10
2006 05 11
S-3d fl, @
Q 2-3 Days
2-3d.«i< V
Специальное ~~
пред ложен «е:
Сп кок свойств:
Title Новое 'v-oftcTt-o | Hon ая ос обемссть
Особенность Цена
Example» for the Attr llxrte List Format:
Title - Color. Property Red, Click on New Property to add e new color Green, Then click on New attribute Io add a
new attribute, and so on
Inflne price adjustments for using the Advanced Attributes moddicatiore
Price - +10 to add this amoirl to the conflgvred price
Price • -Wto subtract this amoiri from the configured price
Price - f Oto sei the products price to this amoiril.
Дополнительным СПИСОК Ф DVD.VHS.B1U. uy.HD-DVD
свойств:
Пример формате списка дополнительных свойств:
Нгимвно1юси ; Дополнительно , . .
Рис. 11.9. На вкладке Статус товара вы можете указать количество товара на складе
Например, на складке Movie Matinee доступно видео в разных форматах. При
добавлении товара в корзину покупатель может выбрать один из форматов.
Список свойств в этом случае будет выглядеть так:
Формат,DVD,VHS,Blue-ray, HD-DVD
При оформлении заказа покупатель сможет указать необходимый ему формат
из раскрывающегося списка (рис. 11.10), который будет сохранен вместе
с заказом. Если ваш сайт специализируется на продаже обуви, вы можете
задать примерно такие атрибуты: размер обуви, ширина обуви, цвет и т. д.
Перейдите на вкладку Габариты и вес для установки информации, полезной
при доставке товара (рис. 11.11). Все эти параметры будут использоваться
различными приложениями, автоматизирующими доставку товаров, при вы-
числении стоимости доставки. Если продукт загружаемый (программа, кар-
тинка, видеоролик, электронная книга, т. е. файл), вы можете указать имя
файла. Файл не будет загружен на сервер, пока вы не нажмете кнопку
Сохранить.
396
Гпава 11
Касабланка
Цена за шт. низ.): $10.83
Задайте допрос по этому товару
Классика, драма
Доступен
Ооычно отгружается в
ечрнне:
2-3 Days
Формат PovD v
7у VX.IDVC
Т®пииотпи 1
Мнения покупателей:
Еще нет мнений оС этом товаре
Пожалуйста, войдите, чтобы оставить свое мнение
Рис. 11.10. Список свойств, установленный на вкладке Статус товара
будет доступен для выбора из раскрывающегося списка
.. г, Новый товар
И ф рн ция о товаре Показать опции Статус товара Габаритыивес Изображения товара опутствующие товары
Габариты и вес
Длина:
Ширина:
Высота:
Единица и >ыерения: ом
Вес:
Сдин |цв измерения- кг
Единица- ит.
Кол-во в упаковке: о 0
Единиц в коробке: о
Рис. 11.11. Параметры вкладки Габариты и вес используются
для вычисления стоимости доставки
Примечание переводчика___________________________________
Чтобы появилась возможность продавать загружаемые товары, нужно в на-
стройках VirtueMart на вкладке Скачивание включить параметр Включить ска-
чивание товара.
Joomla! и электронная коммерция 397
Для загрузки изображения товара перейдите на вкладку Изображения това-
ра (рис. 11.12). VirtueMart автоматически создаст миниатюру главного изо-
бражения, если вы это еще не сделали. Выбранное изображение не будет за-
гружено до тех пор, пока вы не нажмете кнопку Сохранить
Новый товар
!ГЯ11
Имфириаияя о товаре Показать опций Статут товара Габариты н вес Изображения товара Сопутствующие товары
/homeJdk*scrguJGornalris/dl<^s org.uajpuDhC-htnil/jdonila/compdnsnts/com.virtuemarVsnopjmags/Broduct Дшлупендля
записи
(riome/dkwsGruu.'comairis.'dKws org ua/pubhc..htmLfjoon4afcomponfi4its/camjnrtuemarUshop^mage/prodLcVresized
Доступен д ня записи
Больш )я картинка
Обзор.
Действия над |пооражен«1яыи:
♦ нет
Автоматически создавать уменьшенные изображения?
URL
(Необязательное
Маленькая картинки
Обзор.
Действия над июбражениями:
• нет
URL
(Необязательно)
Рис. 11.12. Вкладка Изображения товара позволяет загрузить изображение товара
и его миниатюру
Если имеются сопутствующие продукты, перейдите на вкладку Сопутст-
вующие товары. На ней вы увидите список всех товаров вашего магазина.
Если вы найдете сопутствующие продукты, то можете выбрать их из списка.
При отображении основного продукта на сайте сопутствующие продукты бу-
дут отображены внизу страницы в разделе Вам могут быть интересны сле-
дующие товары в виде миниатюр с названиями товаров.
Добавьте несколько продуктов, чтобы ваш магазин не выглядел пустым.
Я добавил фильм "Летающая парочка" ("The Flying Deuces") со Стэном Лоре-
лом и Оливером Харди в главных ролях в категорию Комедия. Также я доба-
вил фильм Богарта "Иметь и не иметь" ("То Have and Have Not").
Для просмотра созданного виртуального магазина добавьте элемент меню,
ссылающийся на компонент VirtueMart так же, как вы добавляли элементы
меню для других компонентов. Далее откройте браузер, перейдите по соз-
398
Гпава 11
данной ссылке магазина, затем выберите категорию, и вы увидите список то-
варов выбранной категории (рис. 11.13).
Доступен
Обычно отгружается в
течение:
2-3 Days
****
Касабланка
Цена за ш|. (пн.): $10 83
Зэданте вопрос по этому товару
Рис. 11.13. Выбрав категорию, вы увидите список всех товаров категории
Сейчас вы только начали настраивать VirtueMart. У этого расширения очень
много параметров, но в этой главе мы рассмотрели только самые важные —
чтобы вы смогли запустить магазин Интерфейс администратора магазина
предельно прост, а большинство не рассмотренных здесь параметров оче-
видно.
VirtueMart и Secure Socket Layer
Если вы принимаете конфиденциальную информацию по Web (например,
номера кредитных карт), вам нужно убедиться, что прием и передача этих
данных безопасны. Обычно Web-информация передается по Интернету в от-
крытом виде (как обычный текст) и при этом проходит через множество раз-
ных компьютеров и маршрутизаторов. Это означает, что информация может
быть перехвачена
Практически невозможно защитить информацию от перехвата (перехват про-
изводится специальными программами — снифферами пакетов), но возмож-
но зашифровать передаваемые данные. Для этого используется Secure Sockets
Layer (SSL). В случае с SSL информация проходит через те же узлы, но в за-
шифрованном виде.
Когда установлено безопасное соединение, в панели состояния браузера поя-
вится небольшой замок (рис. 11.14). Кроме этого, в строке адреса браузера
вместо обычного префикса http:// будет отображаться https://, что означает
HTTP Secure, т. е. безопасное HTTP-соединение. Теперь данные шифруются
на одной стороне и расшифровываются на другой. Даже если трафик будет
Joomla! и электронная коммерция 399
перехвачен, каждый пакет должен быть расшифрован, а для этого нужно
много времени и мощные компьютеры.
Готово 5 Ф Интернет
Рис. 11.14. Небольшой замбк свидетельствует о безопасном соединении
Для использования SSL, Web-сервер, размещающий ваш Web-сайт, должен
заказать SSL-сертификат у провайдера сертификатов (за это взимается еже-
годная плата). Большинство Web-провайдеров предоставляет SSL-сервис.
Чтобы установить SSL-сертификат на своем сервере, вам нужно заказать его
у VeriSign (www.verisign.com). Инструкции по активации сертификата
в Apache можно найти на сайте www.apache-ssl.org.
Примечание переводчика_____________________________________________
Инструкции по настройке SSL в Apache на русском языке вы можете найти на
сайте http://www.dkws.org.ua/index.php?page=show&file=a/servers/ssl-ssh.
Примечание_________________________________________________________
На момент написания этих строк Windows-версия Apache (в отличие от Linux-
версии) не поддерживала SSL в загружаемых двоичных файлах. Это означает,
что вам нужно загрузить, настроить и установить Apache вручную Выполните
поиск по запросу Apache SSL module (mod_ssl), и вы найдете инструкции по ус-
тановке. Windows IIS поддерживает SSL без всяких модулей.
Как только вы активируете ваш сертификат на сервере, перейдите на вкладку
Безопасность экрана Настройки VirtueMart и установите HTTPS-адрес. Те-
перь VirtueMart защищен и может гарантировать, что все ваши сделки за-
шифрованы и безопасны.
Много сайтов, работающих с конфиденциальными данными (вроде номеров
кредитных карточек), кодирует только те страницы, которые нуждаются в
этом. Хотя из года в год компьютеры становятся все мощнее, цикл шифрова-
ния/расшифровки все еще очень интенсивен и сложен даже для мощной ма-
шины, поэтому на него тратится много процессорного времени, и пока не-
возможно зашифровать весь передаваемый трафик.
Способы оплаты
Ваш виртуальный магазин может работать с популярными платежными сис-
темами для принятия оплаты за заказанные товары. На момент написания
этих строк VirtueMart поддерживал следующие системы: 2Checkout, PayPal
(IPN), Payflow Pro, Authorize.Net (AIM), eCheck, eProcessingNetwork, eWAY
400
Глава 11
(XML-транзакции), LinkPoint, Montrada, Nochex, Paymate, Pay-Me-Now, PBS,
Skipjack и WorldPay. Но еще лучше то, что система позволяет вам создавать
собственные типы оплаты и определять процесс транзакции для взаимодей-
ствия с другими платежными системами.
Вы можете настроить методы транзакции (для взаимодействия с компаниями
вроде PayPal, Paymate, eWAY и т. д.) путем выбора команды Способы опла-
ты из меню Магазин. Для каждого метода оплаты отображается его код,
скидка, группа покупателей и статус (активен или нет), как показано на
рис. 11.15. Как видно на рисунке, вы можете для отдельных групп покупате-
Список способов оплаты
и г На ванне Код Сходка Группа покупателей Способ оплаты Активные Удалить
1 г Checkout 2CO $000 -def«A- : HTML-форма (например, для PayPal) о и
2 г Credit Card AN $0.00 -delauit- Использовать платёжный процессор V 42
3 г Credit Card (eProcessmgNetwork) EPN $0.00 -defauB- Использовать платёжный процессор о А
4 г Credit Card (PayMeNow) PN $0.00 -defautt- Использовать платежным процессор о Al
5 г Dankort/PBS PBS $0.00 -delautt- HTML-форма (например, для PayPal) о а
6 г eCheck.net ECK $0.00 -defaut- Банковский дебет о а
7 г ePay EPAY $0.00 -defeult- HTML-форма (например, для PayPal) Л
8 г eWay EWAY $0.00 -delault- Использовать платёжный процессор о А1
9 г Kobo IK $0.00 default- HTML-форма (например, для PayPal) о Л
10 г (Transact ITR $0.00 -delauB- HTNL-форма (например. для PayPal) о Al
11 г NoChex NOCHEX $0.00 -defautt- HTML-форма (например, для PayPal) о Al
12 г PayMaie PM $0.00 -delautt- HTML форма (например, для PayPal) о о
13 г PayPal PP $000 -defauft- HTML-форма (например, для PayPal) V
14 г Verisign PayFfow Pro Г PFP $0.00 -defau#- Использовать платёжный процессор 41
15 г WorldPay WP $000 -default- HTML-форма (например, для PayPal) о At
16 г Purchase Order $0.00 Goid Level Доставка по адресу (оплата наличными при получении) V а
17 г Cash On Delivery COD -$2.00 default- Доставке по адресу (оплата наличными при получении) Al
Показать * 120 Результаты 1 -17 из 17
Рис. 11.15. Вы можете добавить собственные способы оплаты
Joomla! и электронная коммерция 401
лей задать подходящие им методы оплаты. Вы можете также отключить не
подходящие вам методы оплаты без удаления их из системы (возможно, вы
будете ими пользоваться в будущем).
При модификации существующего способа или при создании нового вы уви-
дите вкладку Добавить способ оплаты (рис. 11.16). На ней находятся общие
параметры оплаты. Наиболее важный параметр — Код, поскольку именно он
непосредственно участвует в транзакции. Код — это ключ или имя пользова-
теля, предоставленное вам платежной системой.
Добавить способ оплаты
Добавить способ оплаты На тройки
Активные?: р
Название способ* оплазы: PayPal
Код: рр
Класс имени платежа ps_PayPj| v-
Способ оплаты: Г Кредитная карта
И сл о ль зо б ать платёжнь й процессор
Банковский дебет
'С Доставка по адресу (оплата наличнь ми при получении)
HTML-форма (например, для PayPal)
Групп* покупателей: .deMult- v
Скидка: о.оо ©
Тип скидки: Г относительная^) ©
Абсолютная
Максимальный размер скидки: о СО
Минимальный размер скидки: о со
Порядок отображения: о
Рис. 11.16. Общие параметры способа оплаты
Вкладка Настройки (рис. 11.17) используется для организации взаимодейст-
вия с платежной системой. В области Дополнительная информация по
платежу вы можете добавить код, предоставленный платежной системой для
проверки факта оплаты. С помощью этого кода VirtueMart сможет проверить,
был ли оплачен заказ, и автоматически обновит статус заказа. Автоматизация
платежей — очень полезная функция, особенно для сайтов, специализирую-
щихся на загружаемых продуктах.
402
Глава 11
Добавить способ оплаты
Добавить спэссЭДплзты Настройки
/Ъьтедш-,crgufdoni3ins/dlft*s org ua/pubiic_Mfnl/ioom1 wedmin sirator/гогг-рош m&comjf&ueriiaivciJsseii'paym.nUpsjjj'/pb! fg j. мп
Доступен для записи
Тестовый режим ? Д1
Когда включено, то позволяет протестировать Виа файл уведомлений
http. //dJtvs. org. иа/ jooala/adaxnxst.rator/ccaponant*/coa_vxrtueBarc/noti fy php
через тестовую форму wx tfcexttww.co.jMest3>vi*orte$t.ph!
PayPal e-mai yeu©yowbwnn*«.cor Baa почтовый адрес для получения денег через РауРЫ '“'акха используется как receiver_emtf
Статус заказа после
успешного
завершения
платежа
Статус заказа, у
которогоплатеж
обрабатывается
Пр^имать только
гроверенкях
покупателей?
Статус заказа для
неудав шихся оплат
через PeyPei
Csncelttd
амберите статус заказ для установки, если платеж прошел через PayPal IPN Есгаг испогьзуете функцшо скачивания
товара, выберите статус, который включает возможность скачивания этого товара (при этом покупателю приходит
письмо о том, что товар доступен для скалывания)
Статус заказа, .оторьЛ присваивается заказу, у которого не прошел платеж Гранэакдо при этом не отменяется а
откладывается и ждет завершежя
Здесь Вы можете вьйрать, хотите ли Вы грипымать платежи только от покупателей с проверенными счетами в
системе PayPal (когда счет не проверен, PayPal переводит средства, но не полностью гарантирует законность продажи)
Выберите статус заказа для неудавшихся оплат через PayPal
Дополнительная информация по платежу©
<7 php
fdbl naw ps__DB(>
Tq » "SILICT country_2_coda FROM f_v>_country VHZR1 ccuntry_3_coda-' .|uiM->c<nmtry. • ORD1R BY country_2_cod* ASC“;
Idbl->qu«ry(fq)i
furl "http^.Z/ww.paypal-coa/cgx-bxn/wabaer",
|саж_соса1 |db->t(’ordar_cax*> + Fdb->f <"ord«r_*hlpping_t«it“),
fdl*count._c.ocal " ^dЬ->t<“cou^>cn_dicounc•) + fdb-**f <"ord*r_di»counc">;
Iposc^variablas - Array(
"cad* -► " «х^-тг^вг",_____________________________ _________
Рис. 11.17. Вкладка Настройки содержит параметры, определяющие,
как будет организовано взаимодействие с платежным сервисом
Рис. 11.18. Список поддерживаемых кредитных карт
Joomla! и электронная коммерция
403
Для магазинов, принимающих оплату по кредитным картам, есть много сер-
висов, позволяющих работать с кредитными картами разных типов — от
American Express до Dinnei's Club. Выберите пункт Список кредитных карг
из меню Магазин, и вы увидите поддерживаемые магазином карты
(рис. 11.18). Каждый из этих типов карт можно настроить для работы с под-
держиваемыми платежными системами.
Группы покупателей
и управление пользователями
Одна из наиболее полезных функций VirtueMart — это возможность настро-
ить группы покупателей. Группы покупателей позволяют вам создать специ-
альную категорию для определенных покупателей. Например, вы можете
сформировать группы по географическому признаку или же для более эффек-
тивного обслуживания покупателей (т. е. создать группу постоянных покупа-
телей).
Географические группы могут использоваться, когда цена зависит от место
нахождения покупателя. Виджит (небольшая программа), проданный в Лос-
Анджелесе, будет стоить дороже, чем тот же продукт в Миннесоте.
Добавить группу покупателей
По- j—
умолчанию ?:
На вание ... ,
old Level
группы:
Продавец; Washupfto's Tiendita
Покагагь цены»
включая Q
налоги?:
Скидка для
группы по- £•“ • Q
умолчанию (в---------
*)'
в 1 И I ® — S Е || Slyles - Y | - fp'mat - v - Fort lamly - v
| Л S —^№1® © H ’ П Д-
-<2@| *. х-|Я -31 | — I I Я
Gdd Level phpShoppers.
te" Pagebroak Reodmore
Рис. 11.19. Вы можете использовать группы покупателей
для контроля за отображением ваших продуктов
404
Глава 11
Определяя географические группы, вы можете адаптировать цены для разных
географических регионов. Другой способ определения групп — группы по-
стоянных покупателей, получающих скидки за повторные заказы.
Для просмотра групп покупателей выберите команду Группы покупателей
из меню Покупатели При выборе существующей группы или создании но-
вой группы вы увидите экран Добавить группу покупателей (рис. Il l9).
Параметры группы очень просты и очевидны. Группы покупателей часто ис-
пользуются в VirtueMart: для определения скидок, параметров доставки
и т. д.
Управление производителями/брэндами
Меню Производители предназначено для управления брэндами и дистрибь-
юторами товаров вашего виртуального магазина. Меню позволяет просмат-
ривать, редактировать и добавлять производителей и их категории. Также
можно использовать эту функцию для заполнения контактной информации
(например, адреса сайта) о производителе, если вы хотите, чтобы ваши поку-
патели обращались непосредственно к производителям для получения ин-
формации о продуктах и о гарантии.
При создании нового товара вы можете выбрать его производителя из списка
Производитель У продукта может быть только один производитель. Мага-
зин позволяет осуществлять поиск товаров по производителю.
Создайте список производителей, если вы хотите, чтобы покупатели могли
сортировать продукты по брэнду. Например, если вы продаете ноутбуки, то
можете добавить следующих производителей: Lenovo ThinkPad, Dell, Fujitsu,
Sony и т. д. Это позволяет быстро выбрать товар, необходимый покупателю.
Модуль доставки
У VirtueMart мощная система контроля доставки. Магазин поддерживает не
только много различных способов доставки (рис. 11.20). но и позволяет на-
строить каждый способ в отдельности.
По умолчанию доступны только два способа доставки: Purchase Order (оплата
при получении) и Cash On Delivery (оплата при отправке). С распространени-
ем кредитных карт эти способы стали менее популярными из-за бюрократии
при получении платежа. Решите, нужны ли вам эти два старых способа, пре-
жде чем включать их на вашем сайте.
Управление заказами
Когда VirtueMart получает заказ, заказ отображается в Списке заказов
(рис. 11.21). Просмотреть этот список можно с помощью команды Список
Joomla! и электронная коммерция
405
nos) Список модулей доставки
На влине Берс и [-пн!
Автор URL: Огнкпние
auapost
1 У Настроить вариант доставки 1 04 BenVMteon Ttvertrionwtse com au/ benjJdNerstonwere com.au Austraia Post Shippng Modijto
2 ✓ Canada Роя Настроить вариант достав* 1J0 Piene-Yves Snou N/A ainou_py©yahoo ca Se( Onfce'" Shlppop Mceute trom Canada Post
ОН
3 Настроить вариант доставки 10 Mhe Durian http, /fcrotilag-hd. comJ durw»©ehedetressonwere com The OH. Shipping modUe
4 FME* L Настроить вариант достав*» 1.02 Jay Powers /Soeren Eberhardt /Greg Pe»krc www vermonstsr.corrV j«y ©y «monster .com The FedEx shaping modJe
S Flex Настроить вариант доставки 0S Micah Shawn NA idgetackdogs .com Flax SNppmg Fixed shppng cost to set base value oi errtor win percentage cl total saw above base vahje
в inter Shipper Настроить вариант доставки 1Л kier shippers om www .riershpper ccm N/A Ths IntarShipper Shaping moOJa
• No Shipping 1 0 soeren www v*tuemen.net soeroniffivkluemart net Disables Snippinfl
в sNpvaiue Настроить вариотт доставки 01 Rhys Lewis 1Гмгжс lo Mcah Shawn апо В ett aibtoodrirared http /Mww.lemonyefcrwco.uk/ mamboCtemonyNtow co.u* Shippmg based on order tetes Fuad shipptfig costs based on values entered m configmation
Standard
8 V Shfpng Mortis Настроить вариант доставки 11 Ekkehard Domrfcig Soeren Eberhardt www phpautoshop.ee/ N/A The Standard Shuping module Configure and maintan our own Camera and Rates
UPS
10 Настроить вариант 1 0 www.upa.com www ups com/ N/A The UPS® Shipping module
доставки
USPS
11 Ч? Настроить 30 ГЗППТГвПП Coray Kdti www.usps.comJ N/A The USPS Shppng mixMe
Рис. 11.20. Способы доставки
F'. Список заказов
Ре 1 Ihkj | Conflmitd | C«i> elted | PefiiiMted | Shipped | Вес
Нойер
гакаы
Слыл» Поолуепп. Д™
.„««ку тчли
Промежуточный
HIM
УАВЛИТЬ
Обмопшъ
Иван
Иванов
Г” ytflf,tMl*Tb
пмутчтел”’
ОВиокить статуе
VHueMart 11 О (Проверить поспедькхо версию)
Рис. 11.21. Список заказов отображает состояние каждого заказа
406
Гпава 11
заказов из меню Заказы. Нажав пиктограмму принтера, вы увидите версию
заказа для печати.
Столбец Статус отображает состояние заказа. Вы можете корректировать
состояние, выбрав новое значение из раскрывающегося списка и нажав кноп-
ку Обновить статус. Если параметр Уведомить покупателя включен, поль-
зователю будет отправлено сообщение об изменении статуса заказа.
Резюме
Используя VirtueMart, на базе Joomla! можно сделать не просто виртуальный
магазин, а полнофункциональный магазин. У VirtueMart достаточно возмож-
ностей для малого и среднего бизнеса: корзина, автоматическая система оп-
латы, управление складом. VirtueMart позволяет создать магазин, соответст-
вующий вашим потребностям. А возможность продавать загружаемые про-
дукты еще больше расширяет потенциал магазина.
Однако если у VirtueMart нет необходимых вам функций, не волнуйтесь!
Кроме него для Joomla! разработано много других как свободно распростра-
няемых, так и коммерческих расширений (EZ-Catalog, osCommerce), которые,
возможно, будут соответствовать вашим нуждам. У Joomla! огромное сооб-
щество разработчиков, поэтому вы найдете решение, удовлетворяющее всем
вашим требованиям.
ГЛАВА 1 2
Поисковая оптимизация и Joomla!
Не имеет значения, как ваш сайт выглядит, как реализован и какой у него
контент, если пользователи не могут его найти. Поэтому нужно приложить
определенные усилия, чтобы ваш сайт был найден в Google, MSN, Ask.com и
других популярных поисковых машинах по соответс i вующим ключевым
словам. Ссылка на ваш сайт в популярной поисковой машине— это залог и
его популярности.
Существует множество стратегий поисковой оптимизации. Поисковая
оптимизация (SEO, Search Engine Optimization) — это процесс адапта-
ции вашего сайта с целью получения высоких мест в результатах поис-
ка по заданным запросам. Множество компаний вроде Search Agency
(www.thesearcliagency.com) предоставляют консультации по максимально
эффективному размещению сайта. Однако вы можете проделать много рабо-
ты по продвижению вашего сайта в поисковых машинах самостоятельно.
Поисковые машины используют специальные программы, называемые поис-
ковыми пауками, которые постранично индексируют контент вашего сайта и
помещают индекс в базу данных поисковой машины. Позиция вашего сайта в
результатах поиска напрямую зависит от того, как эффективно паук проин-
дексировал контент вашего сайта.
В Joomla! есть несколько параметров, оптимизирующих сайт для поискового
паука. Кроме того, имеется множество способов повышения рейтинга сайта.
При этом вам нужно потратить всего несколько часов для подстройки вашего
Joomla.'-сайта для SEO, и вы увидите разницу.
SEO на Joomlai-сайте
Разработчики Joomla! осознают важность поисковой машины для посещае-
мости сайта. Чтобы Joomlai-сайты хорошо индексировались поисковыми ма-
408
Глава 12
шинами, разработчики добавили множество функций, позволяющих улуч-
шить рейтинг сайта в результатах поиска. Для более эффективного индекси-
рования контента сайта в Joomla! используются различные параметры.
Поскольку Joomla! динамически генерирует страницы сайта, отправляемые
пользователю, это позволяет немедленно применять изменения, сделанные в
конфигурации Joomla!, на уровне всего сайта. Однако у динамической при-
роды Joomla! есть и недостатки, например. Web-мастер больше не контроли-
рует организацию и конфигурацию сайта, как это можно сделать со статич-
ными Web-сайтами. Чтобы обойти эту проблему, Joomla! содержит парамет-
ры. влияющие на индексирование сайта поисковыми машинами. Наиболее
важные из них — параметры, позволяющие сделать URL, генерируемые
Joomla!. "дружественными" по отношению к поисковым машинам, т. е. пере-
вести их в формат SEF (Search Engine Friendly URL).
Делаем Joomla! "дружественной"
к поисковым машинам
По умолчанию URL, генерируемые Joomla! для доступа к страницам сайта,
не очень дружественны к поисковым паукам. Посмотрите на URL, генери-
руемые Joomla! по умолчанию. Они будут выглядеть примерно так:
http://www.exam ple.com/index.php?option=com_content&
view=catego ry & id=33&Item id =53
Данный URL выглядит не очень понятным вам, и точно так же он непонятен
поисковому пауку. Этот URL содержит параметры, которые говорят движку
Joomla!, какой контент нужно получить из базы данных и передать пользова-
телю. Во время загрузки страницы Joomla! использует текущий шаблон и за-
прашивает из базы данных контент для создания форматированной Web-
страницы, чтобы отправить ее пользователю. URL понятен Joomla!, но не по-
исковому пауку.
Более понятным как пользователю, так и поисковой машине, выглядит URL
вот такого вида:
http://www.cnn.com/2007/SHOWBIZ/
URL сайта CNN похож на URL статического сайта. В отличие от динамиче-
ского сайта (вроде Joomla!), контент которого форматируется на лету, стати-
ческий Web-сайт хранит информацию в файлах Web-страниц в разных ката-
логах и получает ее, когда в URL указан путь к документу.
Поисковые машины могут каталогизировать контент динамического сайта
(с URL в формате Joomla!), но страницы статического сайта всегда будут
выше по рейтингу, чем динамически созданные страницы. Как решить эту
проблему?
Поисковая оптимизация и Joomla!
409
К счастью, разработчики Joomla! включили две опции, разрешающие Joomla!
генерировать более понятные URL. После включения этих опций Joomla!
будет генерировать понятные поисковым машинам URL (SEF URL), напоми-
нающие структуру каталогов статического сайта (как URL сайта CNN),
и у поисковых машин больше не будет проблем с индексированием вашего
сайта.
Почему же эти опции не включены по умолчанию? А потому, что для реали-
зации режима SEF Joomla! динамически перезаписывает URL на Web-
сервере. Некоторые Web-провайдеры не разрешают программам изменять
URL из соображений безопасности — этим могут воспользоваться хакеры
для взлома сайта.
Активация SEF-параметров
SEF-параметры находятся в интерфейсе администратора в разделе Общие
настройки. Всего имеется два SEF-параметра (рис. 12.1): Включить SEO и
Использовать mod_rewrite. Наверняка вы включите первый параметр, что-
бы система генерировала URL в формате папок.
Примечание переводчика
В последней версии Joomla!, которую использовал переводчик, появился тре-
тий SEF-параметр— Добавить суффикс к URL. Если он включен, то к URL
система добавит суффикс, зависящий от типа документа.
Когда этот параметр включен, URL будут генерироваться сайтом в следую-
щем формате:
littp://www.example.com/index.php/joomla-overview
410
Глава 12
Этот параметр использует трюк маршрутизации, заставляющий сервер читать
и выполнять файл index.php, указанный в URL. При запуске index.php обра-
батывает путь, указанный после него в URL. и выводит соответствующий ему
контент. Есть две новости: хорошая и плохая. Хорошая заключается в том,
что вам не нужно активировать расширение modrewrite. А плохая новость —
некоторые узлы неправильно работают с этой техникой. Если это так и сер-
вер возвращает ошибку 404 ("Файл не найден") при переходе по любой ссыл-
ке к главной странице, вам нужно активировать опцию Использовать
mod_rewrite. Если этот параметр включен, URL будут форматироваться не-
много иначе, чем было показано ранее:
http://wAvw.exaniple.com/home/47-joomla-overview
Настройка mod_rewrite в Apache
Первым делом нужно проверить, доступен ли mod rewrite на вашем сервере.
Определить это можно путем выполнения функции phpinfoO (см. гчаеу 3 для
более подробной информации). Если расширение mod rewrite доступно, вы
его увидите в списке модулей Apache (рис. 12.2).
apache
Server Root
Loaded Modules
по 'ritue
Hostiiame:Poit
User oup
Max Requests
Timeouts
APACHEJNCLUOE
APACHE_TARGET
Apache Version
Apache Release
Apache API
Version
r e
Apache
10337100
rm j_pt ' onnlinod_3f’rniibmod_«‘!i.modjeH mod_frentpage.
rt T, rr»c ~-iS_ •• tv, iriod_pH»y, mod_ajth_ans>i
~ U- •t n 1 °, mod_re,~. |* mcd_'?s?r»,r,med_sti>r_s.
mcJ_ir*K moe.Hit • ’V2. "Чх.аК, nod_,arcIr jr.- mod.inciude,mcdjr'o,
ad_»atus, jt oh. mod_mfme, tsd ".„relarer, mcidjog_asent
| r» Jdjoo^ontj. iwo<_ew»„rnod_vhott_aliab, Mk_cotc
РегСМИ 200-> uep.c.x; off-Max Per Com er
СоппмМп SO- eep-AiW15
rBtnnpd
Рис. 12.2. Область Loaded Modules вывода phpinfo ()
должна содержать строку mod_rewrite
Для активации этого модуля на вашем Apache-сервере откройте файл кон-
фигурации httpd.conf. Если модуль не загружен, вы найдете следующую
строку:
#LoadModule rewrite_module nodules/mod rewrite.so
Поисковая оптимизация и Joomlai
411
Для активации модуля следует раскомментировать строку, удалив в ее начале
решетку (#). После этого вам нужно добавить директиву, включающую этот
модуль:
RewriteEngine On
Для тестирования модуля modrewrite вам нужно добавить rewrite-команду
(команду перезаписи пути). Например, вы можете добавить альтернативный
путь \myadmin к каталогу интерфейса администратора Joomla! —
\administrator. В файле httpd.conf сразу после строки, включающей
modrewrite (RewriteEngine), добавьте следующий код:
RewriteRule myadmin/(.*) /Administrator/$1 [PT]
Перезапустите Apache и попытайтесь обратиться к каталогу \myadmin в ва-
шем браузере:
http://localhost/myadmin/
Если Joomla! установлена в корневом каталоге Web-сервера, ссылка
\myadmin должна отобразить форму входа в интерфейс администратора
Joomla!. Если вы хотите отслеживать маппинг пути, то можете попросить
Apache записывать все перенаправления в журнал. Просто добавьте две сле-
дующие строки в ваш httpd.conf:
RewriteLog "С:/rewrite.log"
RewriteLogLevel 9
Включив модуль modrewrite, вы активировали необходимую Joomla! мар-
шрутизацию.
Активация файла .htaccess
Чтобы разрешить Apache правильно обрабатывать URL в формате SEF, вам
нужно создать пользовательский файл htaccess в корневом каталоге Web-
сервера Инсталляция Joomla! уже содержит файл, необходимый серверу
Apache.
Этот файл называется htaccess.txt и находится в корневом каталоге вашего
Joomlai-сайта. Чтобы разрешить Joomla! использовать mod rewrite, вам нуж-
но переименовать этот файл в .htaccess (или ht.acl в Windows). После этого
нужно перезапустить Apache.
Примечание________________________________________________________
В Windows Проводник не может переименовать файловое имя, состоящее
только из одного расширения (в .htaccess). Чтобы обойти это ограничение,
можно использовать командную строку, но есть более элегантное решение От-
кройте файл httpd.conf в текстовом редакторе и добавьте в него следующую
строку:
AccessFileName ht.acl .htaccess
412
Глава 12
После этого перезапустите сервер. Добавленная директива разрешает вместо
файла .htaccess использовать файл ht.acl
Просмотрите файл .htaccess. В нем сказано, что некоторые директивы этого
фала могут вызывать ошибку. В частности проблемы могут быть со следую-
щей директивой:
Options +FollowSymLinks
Данная директива может быть уже установлена в другой части конфигурации
Apache (на удаленном сервере). Если данная директива вызывает ошибку при
перезапуске Apache, вам нужно закомментировать ее (добавить # в начале
строки) и перезапустить Apache.
Использование посторонних SEF-плагинов
Для Joomla! разработано множество SEF-плагинов, доступных на сайте рас-
ширений Joomla! — http://extcnsions.jooinla.org, но наиболее популярен
OpenSEF. Стандартные опции SEF удобны, но URL, генерируемые с их по-
мощью, все еще не так наглядны, как нам бы этого хотелось. Дополнитель-
ные расширения позволяют вам точно определить URL, появляющиеся на
определенной странице.
Installation succeeded1
Opens Ct
Eng n* Frtendly
Administration
' p Manage Friendly ,'itL*
LielFfieiidty URL*
Hew Friendly URL
О Delete AM ti ipuLUsliod
Q Qetefe AN imulicl
Q Delete AM
’ мапада Ии
Нем Site
$ SOogie Siterrup
» Goo >e
Generale XML
View the XML Fde
*
SEO A»el .tant
' Google Poskton Pesufta
C] Google Page Rank
Link Poputai My
Keyword Density
O' Keywonl Editor
vT Check L ink*
MctaUij Genet ȴtoi
insratkHton Successful
Thar* you rot hstaSing OpenSEF tor Joorrta1 Note that the advanced 3EF functonaty provided by the component at tne moment not
yet enolrted in order to give you & chance to custom je the friendly URLs to your Wing - > to get parted please review#»
coniigu'abooto bet you preferences and enable CpenSfF
After that, you can proceed to the Tods one LAkbes веоюп Io import yotr exmog tnendiy URLs (it you’ve previously used a compatible
product Much as Xaneon Alias Manager) and to check tor evafebfe updates and adsLons for OpenSEF
About OpenSEF for Joomla!
OpenSEF ?.0.®-RC6_SP2 tor Jooml.il 1 0.1
VWiten by The QsenSEF Project Team (hfo©open-sef .org)
Copyright © 2004-2006 Xaneon Development & The OpenSEF Praed Al rights reserved
lTttp:/nvww cpen,s4 orgf
Рис. 12.3. Панель управления OpeSEF, предоставляющая доступ
ко всем функциям компонента
Поисковая оптимизация и Joomla!
413
Вы можете загрузить OpenSEF с сайта http://forum.j-prosolution.com
/opensef. После его установки вам нужно настроить его. Выберите команду
OpenSEF из меню Компоненты, вы увидите панель управления, позволяю-
щую настроить все функции компонента (рис. 12.3).
Вы можете установить дружественные URL для любого URL, используемого
системой Joomla! (рис. 12.4). Чтобы установить ваш собственный маппинг
URL, вам нужно открыть контент, для которого вы хотите создать дружест-
венный адрес, записать его адрес и добавить его вместе с SEF-адресом.
Рис. 12.4. Вы можете установить SEF-адреса для всех адресов Joomla!
Внимание!______________________________________________________
Некоторые посторонние SEF-расширения используют MySQL-таблицу для кон-
вертирования URL между Joomla! URL и SEF URL. Поэтому, если на сайте мно-
го страниц (например, установлен заполненный календарь событий) это может
негативно сказаться на производительности сервера. Убедитесь, что вы указа-
ли страницы, которые должны игнорироваться расширением.
Использование заголовков, МЕТА-тегов
и ключевых слов
У Joomla! есть функции, позволяющие поисковой машине надлежащим обра-
зом распознавать страницы вашего сайта. Два наиболее важных параметра
414
Глава 12
можно найти на вкладке Мета-данные, которая доступна при редактирова-
нии или создании статьи. Параметр Описание генерирует тег Description в
HTML-коде статьи (рис. 12.5), используемый большинством поисковых сис-
тем для получения общей информации о Web-странице. Описание страницы
вместе с ее заголовком служит для установки наиболее уместной информа-
ции о странице. Используя эту информацию, поисковая машина зарегистри-
рует страницу в своей базе данных под наиболее релевантными (уместными)
ключевыми словами.
Параметры Статьи
Параметры - Расширенные
Мета данные
Описание
Ключевые
слоил
rbpu.teip
Robots
Author
Рис. 12.5. Расширенные параметры статьи содержат метаданные,
используемые поисковыми машинами
Параметр Ключевые слова позволяет задать ключевые слова страницы.
Ключевые слова очень важны для классификации статьи. Поскольку спамме-
ры искажают эту информацию (путем добавления популярных ключевых
слов, не имеющих отношения к странице), поисковые машины определяют,
стоит ли использовать ключевые слова или игнорировать их. Тем не менее,
ключевые слова предоставляют дополнительную информацию и помогают
локальной поисковой системе Joomla! находить статьи, соответствующие за-
просу пользователя. Поэтому благоразумно потратить немного времени и
указать ключевые слова для каждой статьи.
Заголовок страницы — это самый часто пропускаемый начинающими Web-
мастерами аспект SEO. В Интернете есть много Web-сайтов, у страниц кото-
рых нет заголовков, заголовки дублируются или не соответствуют содержи-
мому страницы. Но многие поисковые машины считают заголовок чуть ли не
основным элементом страницы, особенно, если он совпадает с одним из
главных заголовков в тексте страницы. Поэтому убедитесь, что заголовки
ваших страниц установлены и соответствуют содержимому страницы.
Поисковая оптимизация и Joomlal
415
Карты сайта
Добавление карты сайта— это отличный способ убедиться в том, что поис-
ковый паук найдет и проиндексирует отдельные страницы вашего сайта. По-
исковые пауки понимают карты сайта, поэтому они будут их использовать
при индексировании вашего сайта.
Однако длина карты сайта ограничена. Длинные карты сайта (содержащие
более 100 ссылок на одной странице) помещаются в очередь поискового пау-
ка— обрабатываются первые 100 ссылок, а остальные ссылки помещаются в
очередь для дальнейшего посещения, которое, возможно, произойдет через
пару месяцев. Для Joomla! разработаны следующие популярные карты сайта:
Joomap, Google Sitemap Generator и SED Service Map.
Joomap
Joomap — лучший генератор карты сайта для Joomla!. Его можно загрузить с
сайта http://joomlacode.org/df/project/joomap/frs. Joomap не только обеспе-
чивает полную карту сайта с разделами и категориями, он также позволяет
добавлять в карту сайта товары из каталога VirtueMap (см. главу 11), если вы
его, конечно, используете. Он может выводить карту сайта так же, как это
делает Google Sitemap XML.
Google Sitemap Generator
Если вы хотите "заточить" ваш сайт под поисковую машину Google, вам
нужно использовать Google Sitemap Generator. Генератор карты сайта
написан на языке Python и может быть скачан с сайта Google —
www.google.com/webmasters/tools/docs/en/sitemap-generator.xml.
В Интернете есть много сайтов, позволяющих выполнять Google Sitemap
Generator для создания карты вашего сайта. Например, сайт XML-Sitemaps
(www.xml-sitemaps.com) позволяет вам пошагово сгенерировать карту ваше-
го Joomlal-сайта. Он создаст XML-файл, который может использоваться
Joomla! для отображения карты вашего сайта. Сайт XML-Sitemaps может
также сгенерировать карту сайта в текстовом формате, используемом Yahoo.
SEF Service Map
Компонент SEF Service Map (http://fun.kubera.org) создает карту сайта ди-
намически. Он также содержит генераторы Google Sitemap Generator и Yahoo
(генератор карты в текстовом режиме) для использования соответствующими
поисковыми машинами. Этот компонент совместим со всеми компонентами,
устанавливаемыми по умолчанию, и со следующими дополнительными ком-
416
Глава 12
понентами: Fireboard, Joomlaboard, SMF, DOCMan, Remository, JCal Pro,
ExtCalendar 2, RSGallery2, Zoom Gallery, SOBI2 и VirtueMart.
SEF Service Map помещает в карту даже RSS-заголовки, ссылки и контакты.
К тому же этот компонент поддерживает кэширование, поэтому карта не ге-
нерируется каждый раз заново, что экономит ресурсы сервера. Компонент
обладает многоязычной поддержкой.
Одна из наиболее полезных функций SEF Service Мар— это возможность
исключить некоторые элементы меню или даже целые меню из карты сайта.
Данная опция позволяет вам исключить из карты сайта нежелательные стра-
ницы.
Навигационная строка
Навигационная строка (в английской литературе— breadcrumbs)— это на-
бор ссылок, показывающий путь к текущий странице относительно остально-
го сайта. Например, если вы сейчас просматриваете статью А, которая нахо-
дится в категории В, а она, в свою очередь, в разделе С, навигационная стро-
ка покажет ссылки на раздел и на категорию, в которых находится статья.
Это позволяет посетителю перемещаться вверх по иерархии сайта, часто для
просмотра контента такого же типа. Навигационная строка будет показана на
странице примерно так:
Ноте -> Раздел С -> Категория В —> Статья А
Навигационная строка также важна для SEO, предоставляя поисковой маши-
ну понятное представление о структуре вашего сайта. Они также предостав-
ляют внутренние ссылки, которые обладают небольшим, но важным эффек-
том при оценке отдельных страниц сайта в индексе паука.
Независимо от используемого шаблона, убедитесь, что навигационная строка
имеется на странице. В Joomla! она отображается как модуль
(mod breadcrumbs) в верхней части каждой страницы (в большинстве шабло-
нов), как показано на рис. 12.6.
По умолчанию модуль настроен для появления в позиции breadcrumbs теку-
щего шаблона. Если в шаблоне нет такой позиции, тогда навигационная
строка не будет отображена. Если это так, вам нужно самостоятельно доба-
вить в модуль данную позицию.
Чтобы сделать это, откройте файл index.php вашего шаблона. Вы можете от-
редактировать шаблон в вашем любимом текстовом редакторе или же ис-
пользовать Менеджер шаблонов (сначала выберите шаблон, в который вы
хотите добавить навигационную строку, а затем нажмите кнопку Редактиро-
вать HTML, как показано на рис. 12.7). Вы увидите экран, отображающий
PHP/HTML-код главной страницы шаблона.
Поисковая оптимизация и Joomla!
417
К
Шаблон: [Правка]
Редек т ир2 в ать HTML Реда тиро ь а: с. С*
Подробноеш
На вами*: Шлолон RHUK Milkyway
Просмотр
Описание: MilkyWay новый шаблон для Joomla’
Аккуратный дизайн этого шаблона делает
его очень лёгким и быстрым.
Периметры
Файл параметров AemplatesA-hukjnilkyv
.ЙПИ-гД
Цветова s схема Синий
Фоновое оформление Синий
Привязка к пунктам меню
Менк»: Невозможно назначить шаблон по
умолчанию
Шнринл шаблона Пла * а ю
Рис. 12.7. Нажмите кнопку Редактировать HTML для редактирования кода
основного файла шаблона
Хорошая идея — поместить навигационную строку вверху страницы. В Joomla!-
шаблоне по умолчанию модуль появляется слева от модуля поиска (в коде
это позиция user4). В следующем PHP-листинге показана ссылка, отобра-
жающая навигационную строку:
<div id="search">
<jdoc:include type="modules" name="user4" />
</div>
<div id="pathway">
<jdoc:include type="module" name="breadcrumbs" />
</div>
<div class="clr"x/div>
14 Зак 468
418
Глава 12
Если вы поместите ссылку модуля в соответствующее место кода шаблона,
на сайте появится навигационная строка. Посмотрите на страницу и убеди-
тесь, что она появилась в надлежащей позиции. Для ее правильного размеще-
ния нужно просматривать вашу главную страницу при редактировании шаб-
лона.
Для предварительного просмотра главной страницы вы можете использовать
кнопку Просмотр (она расположена на том же экране, что и кнопка Редак-
тировать HTML). Она отображает текущий шаблон с фиктивным содержи-
мым и отмечает позиции размещения модулей. Предварительный просмотр
позволяет определить расположение модуля навигационной строки и пра-
вильно разместить его, если вы добавляете его в существующий шаблон.
Создание SEF-шаблона для Joomla!
В гике 6 мы создали простой Joomlai-шаблон, отображающий с помощью
CSS два столбца. Используя подобный CSS-код, вы можете сделать отобра-
жение более дружественным к поисковым машинам путем перестроения
столбцов шаблона. Новый шаблон улучшит видимость центральной части
(контента) каждой страницы вашего сайта.
Когда паук поисковой машины индексирует Web-сайт, сначала индексирует-
ся текст, находящийся ближе к началу файла. В двух- или в трехстолбцовом
шаблоне сначала в HTML-коде появляется навигационная панель, за которой
следует центральный столбец, содержащий контент текущей страницы. Это
не очень идеальная ситуация, поскольку навигация не является самым важ-
ным элементом страницы — центральная часть содержит более важную ин-
формацию.
Для определения столбцов наш шаблон использует следующий код:
fccoll {
float:left;width:20%;
background:#244223;
padding: lOpx;
#..ol2 {
float:left;width: 7 5%;
border:3px solid #244223;
background:#58al55;
padding: lOpx;
}
Эти стили выглядят логично и правильно отображают контент. Однако стол-
бец 1 (отображающий навигацию) появляется в исходном коде первым.
Поисковая оптимизация и Joomla!
419
В идеале нужно создать такую таблицу стилей, в которой бы столбец 2 появ-
лялся в исходном коде первым, но страница отображалась бы корректно
(сначала навигация, а потом — текст страницы, т. е. наоборот). Должного
эффекта можно добиться путем использования элемента container.
Если вы создаете контейнер, стиль для столбца 2 появится в коде первым, по
будет ассоциирован с правой частью контейнера. Затем в исходном коде поя-
вится столбец 1, он будет размещен слева. Как видите, все будет отображать-
ся так, как нужно. Измените таблицы стилей в вашем CSS-файле, добавив
СТИЛИ container И myclear:
div#logo {
width: 110%; height: lOOpx;
margin-left: -Юрх;
margin-bottom: Юрх;
background: url(../images/LSlogo.jpg) left no-repeat;
border: Ipx solid #244223 ;
padding: Opx;
}
#coll {
float:le ft;width:2 0%;
display:inline;
background:#244223;
padding: Юрх;
}
#col2 {
float:right;width: 75%;
display:inline;
border:3px solid #244223;
background:#58al55;
padding: Юрх;
}
ttcontainer {
float:left;width:85%;
display:inline;
}
#myclear {
clear:both;
}
420
Глава 12
Также вы должны отредактировать ваш index.php, чтобы столбец со12 ото-
бражался первым. Измененный код выделен жирным:
<?php echo 'c?xml version="1.0" encoding="utf-8"?' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtmll/DTD/xhtmll-transitional.dtd">
chtml xmlns="http://www.w3.org/1999/xhtml"
lang="<?php echo _LANGUAGE; ?>"
xml:lang="c?php echo —LANGUAGE; ?>">
<head>
cjdoc:include type="head" />
clink rel="stylesheet" href="templates/_system/css/general.css"
type="text/css" />
clink rel="stylesheet" href="templates/
c?php echo $this->template ?>/css/template.css"
type="text/css" />
c/head>
cbody id="page_bg">
cjdoc:include type="message" />
Cdiv id=”logo"> C/div>
<div id="container">
Cdiv id="col2">
Cjdoc:include type="camponent" />
C/div>
Cdiv id="coll">
Cjdoc:include type="modules" name="left" style="xhtml" />
C/div>
Cdiv class="myclear"> C/div>
C/div>
cjdoc:include type="modules" name="debug" />
c/body>
c/html>
Как видно из кода, оба столбца инкапсулированы в структуру container. Сна-
чала появляется столбец 2, содержащий контент страницы, и поэтому он бу-
дет первым проиндексирован пауком.
Общие методы оптимизации
Joomla! содержит много SEO-функций. Однако для поисковой оптимизации
можно использовать другие технологии, не относящиеся к Joomla!. Все эти
Поисковая оптимизация и Joomla1
421
методы работают на сайте любого типа— как на динамическом, так и на ста-
тическом.
Проблемы JavaScript, Flash и Ajax
Постоянно растет количество узлов, использующих JavaScript для организа-
ции динамического взаимодействия (например, выпадающие меню) или тех-
нологии сообщества вроде Ajax для динамического получения информации
(без перезагрузки страницы). Все эти технологии создают динамичный и
очень дружественный пользовательский интерфейс, но кроме этого они так-
же создают проблемы при индексировании страниц.
Например, у обычного Joomlal-сайта меню— это простой HTML-список
ссылок, который с легкостью распознается поисковым пауком, и он может
посетить остальные страницы сайта. В случае с JavaScript-меню ссылка появ-
ляется при наведении указателя мыши на меню. Но если поисковый паук не
выполняет JavaScript-код, как ему узнать, какие ссылки доступны?
Аналогичная ситуация с Flash-сайтом: ведь весь его контент скрыт внутри
SWF-файла, который пауки не могут эффективно обрабатывать. Поисковая
машина не может прочитать и выполнить Flash-код, поэтому весь контент
внутри Flash-ролика останется невидимым пауку.
Если вы заботитесь о поисковой оптимизации, отличная идея создать не-
Flash-версию своего сайта. Без параллельной HTML-версии Flash-данных по-
исковая машина не сможет каталогизировать контент сайта или ссылки, ссы-
лающиеся на контент.
Соотношение "HTML/текст"
Один из методов оценки контента поисковыми машинами — это вычисления
соотношения "HTML/текст". Это соотношение помогает понять, содержит ли
страница больше HTML-кода (например, много таблиц или много JavaScript-
кода) или актуального текста. Чем ниже это соотношение, тем более важным
считается текст.
Это одна из причин размещать ваш CSS- и JavaScript-код во внешних файлах.
Поисковые машины не просматривают внешние файлы при вычислении со-
отношения, считая, что контент в главном файле важнее, чем все, что нахо-
дится в море дополнительного кода.
Эмулируем работу поискового паука
Большинство функций поисковых пауков — коммерческая тайна, но вы мо-
жете понять, как работает паук путем эмуляции его работы на примере собст-
422
Глава 12
венного сайта. Для этого существует несколько бесплатных Web-пауков, ко-
юрые можно применять для сканирования и анализа вашего сайта. Наиболее
популярный из них— бесплатно распространяемый Pavuk Web Spider and
Performance Measure, доступный по адресу http://sourceforge.net
/projects/pavuk (программа написана на Java, поэтому кроссплатформенна).
Рели у вас Windows, вы можете попробовать Xenu's Link Sleuth, доступный
по адресу: http://home.snafu.de/tilman/xenulink.html.
Xenu — быстро и полностью обойдет весь ваш сайт и предоставит много ин-
формации о нем (рис. 12.8). Эта утилита очень полезна, поскольку показыва-
ют любые проблемы с вашим сайтом, в том числе битые ссылки и отсутст-
вующие картинки. Программа создаст полный отчет обо всех битых ссылках
на страницах вашего сайта.
Рис. 12.8. Xenu обойдет все страницы вашего сайта и обнаружит битые ссылки или
отсутствующие файлы
Одна из самых полезных колонок в отчете Xenu — это колонка Duration,
означающая, как программа пыталась получить файл по ссылке. Анализируя
эту колонку, вы узнаете, где происходит задержка при доступе к сайту (воз-
можно, "тормозят" какие-то расширения Joomla!).
11рограмма также генерирует отличный отчет о контенте сайта. Внизу отчета
>удет выведена итоговая информация — что-то вроде этого:
Поисковая оптимизация и Joomlai
423
All pages, by result type:
ok 165 URLs 83.76%
not found 10 URLs 5.08%
server error 20 URLs 10.15%
skip type 2 URLs 1.02%
Total 197 URLs 100.00%
Если Xenu обошел все страницы сайта, в большинстве случаев у пауков по-
исковой машины не будет проблем с индексированием вашего сайта.
Проверка ранга страницы
Google при оценке важности сайта использует специальное значение, назы-
ваемое рангом страницы (page rank). Каждой странице сайта (ранг вычисля-
ется отдельно для каждой страницы) присваивается значение от 0 до 10. Чис-
ло 0 означает, что Google еще не проиндексировал сайт. У новых страниц
часто ранг 2 или 3, а у хорошо известных сайтов — ранг от 6 до 9.
Для получения информации о ранге сайта можно установить Google Toolbar
(рис. 12.9). Используя панель Google, вы узнаете важность каждого сайта в
Интернете.
U । ЗЙ*’ 1348 blocked
Рис. 12.9. Панель Google показывает ранг страницы
Как только Google выпустил свою систему ранга страницы, она стала счи-
таться самой важной. В настоящее время имеются другие методы оценки,
используемые другими поисковыми серверами, поэтому рейтинг Google стал
менее важным. Однако он все еще позволяет оценить популярность страницы
в Google. Ранг Google может использоваться для оценки вашего сайта, а так-
же похожих по тематике или конкурирующих сайтов.
Использование ключевых слов
Список ключевых слов должен содержать всю важную информацию о стра-
нице. Даже Web-страница с вашей контактной информацией должна содер-
жать ключевые слова— синонимы основных терминов, относящихся к кон-
тенту вашего сайта. Например, страница по ссудам может содержать сле-
дующие ключевые слова: доверенность, активы, кредитор, залог и т. д.
Из-за спаммеров, злоупотребляющих этой технологий, поисковые пауки ред-
ко обращают внимание на список ключевых слов, указанный в метаданных.
Для поисковой оптимизации список ключевых слов не очень важен — вы
можете создать его разве что для себя (для локальной поисковой машины).
424
Глава 12
Список ключевых слов можно использовать только для того, чтобы убедить-
ся, что все ключевые слова есть в контенте статьи. Если все важные ключе-
вые слова включены в заголовки и тело статьи, поисковая машина оценит
релевантность страницы по отношению к указанным терминам.
Выборочное исключение страниц сайта
из поиска
Большинство Web-сайтов доступно всем желающим. Однако некоторые сай-
ты или отдельные страницы этих сайтов должны оставаться невидимыми.
Эти страницы часто доступны только уполномоченному персоналу, когда
URL предоставляется индивидуально, и нет необходимости размещать ссыл-
ку на него в поисковой машине.
Типичный пример такого сайта — это сайт, занимающийся оптовыми постав-
ками. Доступ к сайту разрешен только определенным менеджерам, которым
назначены имена пользователей и пароли для доступа к сайту, поэтому нет
никакой причины афишировать URL сайта всему миру. Если вы запретите
индексирование такого сайта, то уменьшите случайный и нежелательный
трафик, не будете вводить в заблуждение покупателей (в частности рознич-
ных клиентов, которые найдут ваш сайт и попытаются войти) и оградите сайт
от чрезмерного внимания хакеров.
Вместо исключения из поиска всего сайта вы можете создать список отдель-
ных страниц и каталогов, которые будут проигнорированы пауком. Создавая
список исключенных страниц, вы можете скрыть содержание, которое адре-
совано только определенным посетителям сайта. Например, вы хотите соз-
дать калькулятор залога для местных (из вашего географического региона)
пользователей. Если ссылка на этот калькулятор появится в поисковой ма-
шине, это привлечет на сайт посетителей со всего мира, а им ваш калькулятор
неактуален, поэтому они не могут считаться вашими потенциальными клиен-
тами, а только израсходуют трафик вашего сайта.
Исключаемые из поиска файлы и каталоги должны быть перечислены в тек-
стовом файле robot.txt, который должен быть расположен в корневом катало-
ге сайта. Файл содержит список полей, не чувствительных к регистру симво-
лов. Знак решетки (#) служит для добавления комментариев в этот файл,
которые будут проигнорированы пауком. Поле User-agent может использо-
ваться для уточнения паука (например, вы можете указать только паука
Yahoo), для которого предназначен этот файл. В большинстве случаев данное
поле устанавливается в * для выбора всех пауков.
Например, файл robot.txt, запрещающий индексирование содержимого фору-
ма и файла client! ist.htm, будет выглядеть так:
Поисковая оптимизация и Joomla!
425
# Файл исключений для http://www.example.com/
User-agent: *
Disallow: /forum # Не просматривать каталог /forum
Disallow: /clientlist.htm # Не просматривать список клиентов
Поле Disallow исключает из поиска каталог \forum со всеми его файлами и
подкаталогами. Иногда нужно исключить из поиска только главный файл
(index.html, index.php, default.htm, index.htm или любой другой, который ис-
пользуется в качестве index-файла на вашем сервере), укажите дополнитель-
ный слэш (/) после имени каталога:
Disallow: /forum/ # Не индексировать только index-файл
К сожалению, вы не можете делать исключение по строке запроса, поэтому
для использования robots.txt вам нужно включить Joomlai-опцию SEF (пара-
метр Включить SEO) для исключения Web-сайта из поиска.
Стратегия размещения ссылок
Очень полезно выбрать правильную стратегию ссылок. Чем больше ссылок
с других важных сайтов указывает на ваш сайт, тем более важным считает
ваш сайт поисковая машина.
Например, ESPN — очень важный сайт для спортивных фанатов. Если у вас
сайт, посвященный футболу, ссылка с сайта ESPN поднимет ваш рейтинг
в любых запросах, связанных со спортом. Ссылка с сайта очень популярного
производителя одежды не так поможет спортивному сайту, как ссылка с
ESPN, даже если сайт производителя одежды более популярен.
Аналогично, ссылка с маленького, непопулярного сайта не добавит вам
столько рейтинга, сколько ссылка с популярного сайта. Понимая, как ссылки
с других сайтов могут влиять на рейтинг вашего сайта, вы можете разрабо-
тать правильную стратегию ссылок и сосредоточить свои усилия на получе-
нии ссылок с важных для вас сайтов.
Рассмотрим несколько способов получения ссылок.
♦ Предложите обмен ссылками— если у вас есть электронный адрес адми-
нистратора популярного сайта, вы можете предложить ему обменяться
ссылками. Но для этого ваш сайт должен иметь достаточно контента или
же примерно такой же рейтинг, как и у другого сайта.
♦ Напишите статьи для публикации в сети— многочисленные сайты (на-
пример, www.ezinearticles.com и www.onlypub.com), которые опублику-
ют ваши статьи, установят ссылки на ваш сайт. Написание статьи по теме,
связанной с вашим сайтом — прекрасный способ продвинуть себя как
эксперта в вашей области.
426
Глава 12
♦ Установите в качестве вашей подписи на форумах адрес вашего сайта —
в сети есть много форумов, посвященные практически любым темам. Час-
то на форумах новички задают вопросы. Вы можете выступить как экс-
перт и ответить на них. Для форумов характерно указание адреса своего
сайта в качестве своей подписи на форуме. Но не нужно спамить на фору-
мах! Ваша реклама будет попросту удалена. А вот если вы будете отвечать
на вопросы других пользователей форума, ваша ссылка не будет раздра-
жать других участников форума, и вы сможете сгенерировать приток тра-
фика на свой сайт.
Избегайте поискового спама!
Большинство советов по поисковой оптимизации вашего сайта также полезно
при создании хорошо организованного сайта для ваших посетителей. Но есть
аспекты, которые могут понизить рейтинг сайта и после реализации которых
ваш сайт попадет в черный список поисковых машин.
Вам нужно избегать поискового спама. Это форма спама подразумевает раз-
мещения на странице сотни ключевых слов (при этом используется неболь-
шой размер шрифта или же вообще невидимый текст), никак не связанных с
тематикой вашего сайта. Раньше поисковые машины были сбиты с толку и
повышали рейтинг страницы. Но не сейчас. Если поисковая машина опреде-
лит, что ваш сайт пытается с помощью данного способа манипулировать рей-
тингом, ваша страница будет оштрафована в индексе поиска. Избегайте по-
искового спама!
Резюме
Нужно приложить некоторые усилия, чтобы у вашего сайта был высокий
рейтинг при поиске информации, релевантной к вашему сайту. Joomla! об-
ле1 чает поисковую оптимизацию, и вы должны воспользоваться ее функциями.
Несмотря на небольшие сложности с конфигурацией, самым первом шагом
процесса оптимизации должно стать включение Joomlai-параметра Вклю-
чить SEO для генерации системой дружественных к поисковым машинам
URL. Чем быстрее вы активируете эту опцию, тем быстрее поисковые маши-
ны получат надлежащий список URL статей вашего сайта. Данная опция зна-
чительно увеличит эффект вашего присутствия в сети, и она стоит всех труд-
ностей, с которыми вы столкнетесь при настройке вашего сервера.
До этого вы использовали расширения, написанные другими разработчиками:
от интернет-магазина до SEF-расширений. В следующей главе вы узнаете,
как создать собственные модули и компоненты, чтобы добавить в Joomla!
любую необходимую вам функцию.
ГЛАВА 13
Создание расширений
Joomla! дружественна не только к администраторам, но и к разработчикам.
Создание расширений (модулей, компонентов или плагинов)— настоящее
удовольствие для разработчика. Поскольку Joomla! заботится о выводе ин-
терфейса пользователя, имеет встроенные функции для доступа к базе дан-
ных, обеспечивает безопасность доступа, создание расширений для Joomla!
намного проще, чем создание отдельного РНР-приложения.
В этой главе мы рассмотрим создание трех типов расширений: модуля, моду-
ля администратора и компонента. Процесс создания этих расширений похож,
как мы убедимся в этой главе.
Разработка модуля
Как было отмечено в главе 7, модули используются преимущественно для
отображения информации. В качестве демонстрации этой возможности
модуля мы создадим модуль, выводящий простое приветствие. Наш модуль
мы назовем mod hellofrom, и у него будет один параметр— location (место-
расположение), который можно будет установить в Менеджере модулей, и он
будет выводиться в приветствии. Как показано на рис. 13.1. модуль будет
отображаться в вверху левого столбца.
После установки файлы модуля будут записаны в каталог \modules. Имя каж-
дого подкаталога в этом каталоге совпадает с названием модуля. Все файлы
модуля хранятся в его подкаталоге. Позже, когда вы будете создавать компо-
нент, вы заметите, что инсталляционный файл компонента не будет скопиро-
ван в соответствующий компоненту подкаталог.
Совет______________________________________________________
После разработки модуля самый простой способ использовать его— сжать в
архив и установить в Joomla!. В процессе инсталляции будут внесены все необ-
428
Глава 13
ходимые изменения в базу данных. После установки вы можете редактировать
код модуля и вспомогательные файлы в каталоге \modules вашего сайта. После
внесения изменения в код модуля нужно нажать кнопку Обновить в окне брау-
зера, чтобы перезагрузить модуль.
Структура модуля
Каждый пакет модуля содержит как минимум два файла: файл кода модуля и
XML-файл описания модуля. Файл кода — это PHP-сценарий, содержащий
код модуля. XML-файл содержит все необходимые инсталлятору директивы,
а также информацию о модуле. Также этот файл содержит описание парамет-
ров модуля, которые потом можно будет изменять с помощью Менеджера
модулей.
Создайте каталог mod_hellofrom на вашем локальном диске. Все файлы
модуля будут помещены в этот каталог, а затем вы заархивируете его (можно
использовать архиваторы ZIP и TAR) и установите с помощью Менеджера
расширений. >
XML-файл модуля mod_hellofrom
Для нашего модуля Hello From XML-файл будет содержать всю основную
(директивы инсталлятора, названия модуля, перечень файлов), а также неко-
торую дополнительную (дата создания, версия, автор и т. д.) информацию о
нашем модуле.
Создайте файл с именем inodhellofroin.xml и поместите его в каталог
\mod_hellofrom и введите следующий код:
Создание расширений 429
<?xml version="1.0" encoding="utf-8”?>
<install type="module" version="l.5.0">
<name>Hello From</name>
<author>Dan Rahmel</author>
<creationDate>July 2007</creationDate>
<copyright>(C) 2007 Dan Rahmel.
All rights reserved.</copyright>
<authorEmail>admin@joomlajumpstart.org</authorEmail>
<authorUrl>www.j oomlajumpstart.org</authorUr1>
<version>l.0.0</version>
<description>Module that displays the date/time of
the server. <p /> Be sure to set the Location parameter
in the Module Manager.</description>
<files>
<filename module="mod_hellofrom">mod_hellofrom.php</filename>
</files>
<params>
<param name="location" type="text"
default="Los Angeles, CA"
label="Server Location"
description="The location of the server." />
</params>
</install>
Файл описания начинается стандартным XML-тегом. Тег <install> описыва-
ет устанавливаемое расширение. Атрибут type задает тип расширения, в дан-
ном случае— это модуль (module). Атрибут version указывает, что данный
модуль может запускаться в Joomla! версии 1.5 или выше.
Элемент <name> указывает имя нашего модуля, которое будет использоваться
Joomla! после установки модуля. Из гпавы 7 вы узнали, что тип модуля подо-
бен шаблону документа: экземпляр модуля, как документ, создается из него.
Для нашего модуля тип модуля — mod hellofrom, а экземпляр модуля будет
называться Hello From. Текст из элемента <description> будет отображен по-
сле установки модуля, обычно он содержит инструкции по использованию
модуля.
В элементе <f ilename> указывается имя модуля (атрибут module), которое бу-
дет сохранено в базе данных Joomla!, и будет использоваться для создания
ссылок на модуль. Это имя также будет использоваться как тип модуля, когда
вы будете создавать новые экземпляры модуля. Как только файл описания
будет готов, можно приступить к РНР-файлу — ядру модуля.
430
Глава 13
PHP-файл
Главный файл модуля содержит весь PHP-код, выполняемый при вызове
модуля. Код модуля похож на код обычной PHP-страницы, посылающей с
помощью инструкции echo любой текст в браузер пользователя.
В начале каждого модуля нужно проверить, выполняется ли он системой
Joomla! или запущен непосредственно. Это предотвратит попытки хакеров
запустить расширение, зная его URL, используя некоторые параметры, кото-
рые, возможно, скомпрометируют ваш сайт. При выполнении модуля через
Joomla! он получит надежную защиту.
Создайте файл modhellofrom.php и поместите его в каталог \mod_hellofrom
Код модуля приведен далее:
c’php
/**
* @version $Id: modhellofrom.php 5203 2007-07-17 02:45:14Z Danr $
* @copyright Copyright (C) 2007 Dan Rahmel. All rights reserved.
* Модуль отображает приветствие
4r
Il Запрещаем прямой доступ
defined! '_JEXEC ) or die( 'Restricted access' );
11 Получаем местонахождение (установлено с помощью Менеджера модулей)
$myLocation = $params->get('location', 0);
// Устанавливаем дату
$myDateTime = date(”l, F dS, Y");
// Выводим приветствие
echo "<small>" . JText::_('Hello from ') . '<b>'
$myLocation . "</b>.";
echo JText:Right now, it is ") . $myDateTime .
JText: :_(" here.") . "</smallxbr />";?>
Если вы знаете PHP, код модуля вам должен быть понятен. После проверки
того, что сценарий выполняется в среде Joomla!, будет создана переменная
$myLocation. Для этого используется метод get О объекта $params: мы полу-
чим значение параметра location, который был определен ранее в XML-
файле.
Для второй переменной с именем $myDateTime устанавливаем значение —
строку, содержащую отформатированную дату и время. Если вы хотите ис-
пользовать данный модуль на своем сайте, нужно будет откорректировать
время, если физическое местоположение Web-сервера, на котором находится
Создание расширений
431
ваш сайт, не соответствует временной зоне места, указанного в параме|ре
location. После этого следуют две функции echo(), выводящие текст в брау-
зер.
Обратите внимание: весь текст отправляется методу JText:Этот меточ
отправляет полученный текст Менеджеру языков. Если язык отличается от
языка по умолчанию. Менеджер языков (или JoomiFish) переводит шкущий
текст на выбранный язык, после чего перевод будет возвращен методу
JText: :_() Если же язык текста и язык по умолчанию совпадают, просто бу-
дет возвращен тот же текст (перевод осуществляться не будет).
Использование этого метода позволит вашему расширению соответствовать
функции интернационализации Joomla!: если перевод имеется в системе,
расширение может выводить сообщения на разных языках, которые поддер-
живаются системой Joomla!.
Заархивируйте оба файла модуля в архив mod_liellofrom.zip. Для установки
модуля откройте Менеджер расширений, выберите архив с модулем и уста-
новите его. После установки с помощью Менеджера модулей установите па-
раметр location (рис. I3.2), после этого нажмите кнопку Сохранить для со-
хранения параметров модуля.
Если вы установили отображение модуля в левом столбце, отройте браузер, и
вы увидите приветствие модуля. Если же вы не изменяли порядок модуля
432
Глава 13
в Менеджере модулей, чтобы модуль отображался первым, модуль появится
в самом низу левого столбца.
Поздравляю! Вы только что создали ваше первое расширение. Однако этот
примитивный модуль совсем не тот, который вам хочется разместить на ре-
альном Joomlai-сайте. Большинство модулей предоставляет более сложные
функции и часто нуждается в доступе к базе данных. Следующий модуль
будет более сложным — это будет модуль администратора.
Разработка модуля администратора
Missing Metadata
Модули администратора функционируют так же. как и модули пользователь-
ского интерфейса, но они используются в интерфейсе администратора. Мо-
дуль администратора никогда не будет показан в интерфейсе пользователя,
поскольку в большинстве случаев он отображает частную системную инфор-
мацию и помогает администратору обслуживать сайт, т. е. информация моду-
ля администратора нежелательна для всеобщего обозрения. В нашем примере
мы создадим модуль, показывающий список статей, у которых не заполнены
метаданные.
Для надлежащей поисковой оптимизации каждая страница должна содержать
две части уникальных метаданных: поля metadescription (описание страни-
цы) и metakeywords (ключевые слова). Эти поля используются поисковыми
пауками при индексировании страницы. Например, Google использует поле
metadescription для предоставления итоговой информации о странице
(рис. 13.3).
Несмотря на важность этой информации, у многих Joomlai-сайтов есть масса
статей, у которых не заполнены метаданные. Игнорирование метаданных
может понизить рейтинг вашего сайта в поисковой машине и затруднит на-
хождение вашего сайта другими пользователями при поиске информации.
Желательно заполнить эти два поля для каждой страницы сайта.
Для решения данной проблемы мы создадим модуль администратора, ото-
бражающий все статьи, у которых метаданные не заполнены. Для каждой
статьи будет создана ссылка редактирования, поэтому администратору нужно
просто щелкнуть на ней, чтобы перейти в режим правки. Отсутствующая ин-
формация будет сразу же добавлена в контент. Модуль будет отображать
только опубликованные статьи (неопубликованные или архивные статьи по-
казываться не будут).
Создание расширений
433
Денис Колисниченко Документация по Linux и РНР. Lmux-cepeep...
Документация по Linux, программированию на РНР, С, Delphi, Java Авторский сайт
Дениса Колисниченко.
-. 3"к - "охглмнг а каше - "Ъаагуш сц wi.v. i jk
Динамические массивы в Delphi Программирование \
Image Обзоры систем управления , \
Контра под Linux Denix \
Сообщение \
Ла- > • ч-и-cBj-r .।. . c-ю ua >
Денис Колисниченко Документация по Linux и РНР Lmux-cepeep...
Автор Колисниченко Денис Николаевич Издательство Диалектика ISBN 978-5-8459-
1360-9 Стр: 352. Год: 2008 .... 2006 2008 Денис Колисниченко ...
erg ja/iulex php^pagee-ehewijiiei.r-vi-,, od.-i-B k-
CjL-iJKiiUl JLLMa - Ll LC25 ЛИЕЛ*!
Денис Колисниченко - Getlnfo Ru
Программное обеспечение HTML-редакторы, Unix, Браузеры, Обзоры ПО, Почта
Информация об авторе Денис Колисниченко dhsilabs@mail.ru hltp 7/dkws narod ru/ ...
v—13 ‘ ?.lk - - -- ' - fi..»"» ,!=-<
OZON ru - Денис Николаевич Колисниченко
Денис Колисниченко Серверное применение Linux Мягкая обложка £008) Для
администраторов Linux описана настройка различных типов серверов' Web, FTP, DNS, ...
'.4’з” u/cr.-wvcfttaiJd‘”2M75?7- 7Ck - 1 гурвн^нп e 2_ie - £L"j _r i^ииы
Рис. 13.3. Поле metadescription Web-страницы используется для отображения
итоговой информации в поисковых машинах вроде Google
Создание ХМL-дескриптора
Файл XML-дескриптора будет примерно таким же, как для нашего первого
модуля Hello From. Этот модуль будет состоять из одного РНР-файла
(modmissingmeta.php), содержащего весь основной код. В каталоге
\mod_missingmeta создайте файл mod missingmeta.xml и введите следующий
код:
<?xml version="l. 0" encoding="utf-8"?>
<install type="module" version="1.5.0" client="administrator">
<name>Missing Metadata Items</name>
<author>Dan Rahmel</author>
<creationDate>July 2007</creationDate>
<copyright>(C) 2007 Dan Rahmel. All rights reserved.</copyright>
<authorEmail>admin@joomlajumpstart.org</authorEmail>
<authorUrl>www.joomlajumpstart.org</authorUrl>
<version>l.0.0</version>
<description>Module to display any articles that have missing
metadescription or metakeywords fields.</description>
<files>
<filename module="mod_missingmeta">mod_missingmeta.php</filename>
</files>
</install>
434
Глава 13
Обратите внимание, что тег <install> содержит дополнительный атрибут
client, которого не было в предыдущем модуле. Если атрибут client отсут-
ствует, модуль считается модулем пользовательского интерфейса и ассоции-
руется с типом клиента site Поскольку мы разрабатываем модуль, который
будет доступен только через интерфейс администратора, то установили тип
клиента в administrator, что создаст модуль администратора и поместит его в
каталог \administrator\modules.
Создание файла модуля
Код модуля Missing Metadata Items (Отсутствующие метаданные) требует на-
личия двух файлов — файла стилей и файла кода. В более сложном приложе-
нии есть смысл в подобном разделении, как мы делали ранее в этой книге,
когда создавали шаблон. Если вы поместите CSS-код и PHP-код в отдельные
файлы, тогда вам будет проще их редактировать. Но в этом модуле для боль-
шей простоты мы весь код будем хранить в одном файле.
Создайте новый файл modmissingmeta.php и поместите его в каталог
\mod_missigmeta и добавьте следующий код:
<?php
/**
* (Aversion $Id: mod_missingmeta.php 2007-07-12 21:49:30Z Danr $
*1
II Запрещаем непосредственный доступ
definedf'_JEXEC) or die('Restricted access');
$db =& JFactory::getDBO();
I/ Найдем все статьи, у которых не заполнены метаданные,
//и убедимся, что статьи опубликованы (state=l).
$where = "(metakey = *’ or metadesc = '') and state = 1
$query = "SELECT id, title, metakey, metadesc"
. " FROM #__content WHERE "
. $where . " ORDER BY title ASC";
$db->setQuery( $query, 0);
ctable class="adminlist">
<tr>
<td class="title">
<strongx?php echo JText::_( 'Article' ); ?x/strong>
</td>
<td class="title">
Создание расширений 435
<strong><?php echo JText:'Empty Description' ); ?></strong>
</td>
<td class="title">
<strongx?php echo JText::_( 'Empty Keys' ); ?x/strong>
</td>
</tr>
<?php
// Проверяем, есть ли соответствующие запросу статьи
if ($rows = $db->loadObjectList()) {
f©reach ($rows as $row) {
// Создаем URL, позволяющий администратору перейти к правке статьи
$url = "index.php?option=com_content&task=edit&" .
"&id=" . $row->id;
// Проверяем поля с метаданными для записи
//и установки значения Yes/No
if ($row->metadesc ="") $metad = JText::_("Yes");
else $metad = JText::_("No");
if ($row->metakey =="") $metak = JText::_("Yes");
else $metak = JText::_("No");
echo ”<tr>";
// Помещаем статью внутри ссылки
echo "<tdxa href='" . $url . "’>" . $row->title . "</ax/td>";
// Отображаем статус метаданных
echo "<td>" . $metad . "</td>";
echo "<td>" . $metak . "</td>";
echo "</tr>";
}
} else (
// Статьи с отсутствующими метаданными не найдены
echo ' <trxtd>nycTO</td>' ;
echo '<td>n/a</td>';
echo ' <td>n/a</tdx/tr>' ;
}
?>
</table>
Код этого модуля более сложен, чем код ранее рассмотренного модуля Пер-
вая секция PHP-кода получит доступ к объекту базы данных и сохранит его в
переменной $db. Инструкция where в созданном MySQL-запросе выбирает
только те записи, у которых пустые поля metakey и metadesc. Запрос выбирает
только те статьи, у которых поле state установлено в 1, т. е. только опубли-
кованные статьи.
436
Глава 13
Переменная $query создана для хранения запроса, выбирающего поля id,
title, metakey и metadesc. Результат запроса будет сохранен в переменной
$db. Переменная запроса использует инструкцию #____content для произведе-
ния поиска в таблице контента Joomla!. Директива #_будет заменена теку-
щим префиксом таблицы, установленным администратором — обычно по
умолчанию используется префикс jos_. Метод setQueryt) объекта базы дан-
ных вызывается для сохранения строки запроса.
После секции PHP-кода следует HTML-код, создающий таблицу для отобра-
жения списка статей. Таблица использует классы adminlist и title, поэтому
будет выглядеть так же, как и остальные таблицы в интерфейсе администра-
тора. Созданная таблица будет состоять из трех полей: в первом будет заго-
ловок статьи (он же — ссылка на редактирование статьи), второе — индика-
тор отсутствующего описания статьи (поле metadesc пустое), третье — инди-
катор отсутствующих ключевых слов (поле metakey— пустое).
Вторая часть PHP-кода производит вывод списка статей. Условный оператор
if проверяет, есть ли статьи без метаданных. Если таких статей нет, тогда
выводится один ряд со значениями "Пусто", "п/а" и "п/а".
Если же были найдены статьи, соответствующие параметрам поиска, цикл
foreach "пройдется" по каждой записи. В цикле сначала будет создан URL,
позволяющий редактировать статью. Обратите внимание, что в качестве зна-
чения параметра task (задача) указан параметр edit (редактирование).
Следующие два оператора if проверяют, заполнены ли поля метаданных, и
выводят слова "Yes" или "No" в соответствующих столбцах. Поскольку ис-
пользуется метод JText::_(), слова "Yes" и "No" при необходимости будут
переведены на установленный язык. Для каждой записи будут выведены три
столбца, в том числе заголовок статьи и индикаторы отсутствия метаданных.
Заархивируйте файл кода и XML-дескриптор в архив mod_missingmeta.zip и
установите его с помощью Менеджера расширений. Теперь перейдите в Ме-
неджер модулей и убедитесь, что установленный модуль отсутствует в его
списке. По умолчанию Менеджер модулей отображает пользовательские
модули, но не модули администратора. Перейдите по ссылке Administrator
(рис. 13.4). В списке вы увидите модуль Missing Metadata Items.
Щелкните по имени модуля — вы перейдите в режим редактирования. По
умолчанию модуль будет помещен слева. Даже если у шаблона администра-
тора эта позиция (left) не определена. Раскройте список Позиция и выберите
позицию cpanel для отображения модуля на главной панели администратора
(рис. 13.5). Нажмите кнопку Сохранить для внесения изменений в базу
данных.
Создание расширений
437
МОДУЛЬ. [Изменить]
nj.+wew
Подрионост
Tim модуля: inodjntiss tignieu
3.WO ловок: Missing Metadata Items
Показал» зтоповик N/A j
Включен Нст Г
По М1ЩЯ cpanel V
СортИЕЗвскж о Missing Metadata Hems j*
Доступ Administrator
fi>: 4Б
П *рамет| ы
П<1р 1шлры м< дуля
Нет параметров для этого элемента
Описание: Motile lo display any articles that have missing
metadescription or metakeywords fields
Казн учение тнн>
Менге:
Выоар мен»: N/A
Рис. 13.5 Выберите позицию cpanel
438
Глава 13
Перейдите в панель управления и посмотрите на список модулей справа.
Найдите установленный модуль и нажмите на стрелку раскрытия для ото-
бражения списка статей без метаданных (рис. 13.6).
Missing Metadata Items
Article En>|.ty Oescriptton Empty Keys
Teci Да Да
Условия использования сайта Да Да
» Welcome to Joomla!
Logged in Useis
к Popukir
* Recent added Articles
> Menn Stats
Рис. 13.6. Новый модуль отображает статьи без метаданных
Теперь вы знаете, как реализовать модуль администратора для Joomla! и мо-
жете приступить к разработке собственных модулей с необходимыми вам
функциями.
Эти модули являются основой для создания функций администратора в
Joomla!. Но что если вам нужно что-то более интерактивное? В этом случае
нужно создавать не более мощный модуль, а новый компонент.
Структура компонента Suggestion Box
Структура компонента подобная структуре модуля. Основное отличие за-
ключается в наличии интерфейса пользователя. Компонент обладает полно-
ценным интерфейсом администратора, в то время как модуль ограничен эк-
раном установки параметров. Интерфейс администратора компонента досту-
пен через меню Компоненты панели управления.
Поскольку компоненты помещаются в центральную часть большинства шаб-
лонов, они позволяют лучше контролировать вывод информации, чем моду-
ли. Вы можете установить прямые ссылки меню на компоненты для вызова
их пользователями. Компоненты могут принимать параметры, что будет по-
казано на примере компонента Suggestion Box (Книга жалоб и предложений).
Один из способов улучшить обратную связь с пользователем — это добавле-
ние компонента жалоб и предложений. Пользователи смогут добавить свое
предложение, которое будет записано в базу данных для рассмотрения адми-
нистратором.
Создание расширений 439
Начать разработку компонента предложений нужно с создания каталога
\com_suggestionbox на вашем жестком диске. В этот каталог нужно поместить
все файлы компонента.
Файл XML-дескриптора
Файл дескриптора для компонента практически идентичен дескриптору
модуля. Разница в том, что в теге <install> нужно изменить атрибут type и
установить его в component, вместо module. Также будет дополнительная сек-
ция <administration>, определяющая интерфейс администратора для компо-
нента.
В случае с компонентом предложений интерфейса администратора не будет
как такового, но в следующем коде я сделаю так, чтобы при выборе компо-
нента из меню Компоненты (в панели управления) отображался стандарт-
ный интерфейс компонента. Зачем я это сделал?
Когда Joomla! устанавливает компонент без интерфейса администратора, он
не будет помещен в меню Компоненты. Большинство компонентов должно
быть в этом меню, даже если у них нет интерфейса администратора, посколь-
ку наличие компонента в меню Компоненты позволяет администратору бы-
стро определить, установлен ли компонент.
Но более важно то, что компонент должен обладать интерфейсом админист-
ратора для регистрации в базе данных, иначе вы не сможете создать на него
ссылку в меню. Поскольку компонент Suggestion Box должен быть доступен
из главного меню, вы должны добавить секцию <administration> в XML-
файл.
В каталоге \com_suggestionbox создайте файл suggestionbox.xml и введите
следующий код:
<?xml version="1.0" encoding="utf-8"?>
<install version="1.5.0" type="component">
<name>SuggestionBox</name>
<author>Dan Rahmel</author»
<version»l.0.0</version>
<description>Displays a suggestions form and records
suggestions in the jos_suggestion table.</description>
<files>
<filename ccntponent="com_suggestionbox">suggestionbox.php</filename>
</files>
<administration>
<menu»Suggestion Box</menu>
<files>
440
Глава 13
<fliename component="com_suggestionbox">
suggestionbox.php</filename>
</files>
</administration>
</install>
Файл дескриптора готов к использованию. Теперь вам нужно создать файл
кода, содержащий всю логику выполнения компонента.
PHP-файл кода
Код компонента будет производить множество различных операций. Прежде
всего, он проверит, были ли переданы компоненту какие-то параметры. Один
и тот же URL будет использоваться для первой (вывод формы для ввода
предложения пользователем) и для второй (запись предложения в базу дан-
ных) стадий предложения. На первой стадии будет просто выведена форма
предложений, а на второй, если форма будет заполнена, введенные пользова-
телем данные будут записаны в таблицу.
В каталоге \com_suggestionbox создайте файл suggestionbox.php и введите
следующий код:
<?php
/**
* (Aversion $Id: suggestion.php 5203 2007-07-27 02:45:14Z DanR $
* @copyright Copyright (C) 2007 Dan Rahmel. All rights reserved.
* Компонент принимает предложения пользователей и сохраняет их в БД
*/
// Запрещаем непосредственный доступ
defined('_JEXEC') or die('Restricted access’);
if(JRequest::getVar('suggestion')) {
$db =& JFactory::getDBO();
// Автоматически пытаемся создать таблицу. Если таблица уже существует,
// попытка ее создания будет проигнорирована
$createTable = "CREATE TABLE IF NOT EXISTS #___suggestions'" .
"('id' INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, ".
"'suggestion' text NOT NULL, 'email' VARCHAR(45)," .
"'location' VARCHAR(45), 'created' TIMESTAMP NOT NULL, " .
"'userip' VARCHAR(16), PRIMARY KEY('id'))";
$db->setQuery($createTable, 0);
// Запускаем создание таблицы
$db->query();
Создание расширений
441
// Получаем и форматируем все переменные формы
$fldSuggest = "'" . $db->getEscaped(JRequest:zgetVar('suggestion')) .
SfldEmail = '"" . $db->getEscaped(JRequest::getVar( 'email')) .
$fldLocation = . $db->getEscaped(JRequest::getVar( 'location' )) .
// Сохраняем IP-адрес пользователя, сделавшего предложение
$userlp = "'" . $_SERVER['REMOTE_ADDR'] .
// Помещаем все предложения в таблицу jos_suggestions
SinsertFields = "INSERT INTO #___suggestions " .
"(suggestion, email, location, userip) " .
"VALUES (" . $fldSuggest . "," . SfldEmail . .
$fldLocation . "," . Suserlp . ");";
$db->setQuery( SinsertFields, 0);
$db->query();
<hl class=''contentheading">Cnacn6o за ваше предложение I</hl>
<?php } else {
<hl class="contentheading">OopMa предложения</Ь1>
cform id="forml" name="forml" method=''post"
act ion= " index. php ? opt ion=com_sugges t i onbox " >
<р>Ваше предложение:<br />
<textarea name="suggestion" cols="40" rows="4"
id="suggestion''x/textarea>
</p>
<p>Email (необязательно) :
<input name="email" type="text" id="email" />
</p>
<P>
<1аЬе1>Откуда вы (необязательно) : </label>
•cinput name="location" type=”text" id="location" />
</p>
<P>
•cinput type=”submit" name="Submit" иа1ие="0тправить" />
</p>
</form>
<?php } ?>
442
Глава 13
Первая часть кода проверяет, были ли переданы компоненту параметры —
особенно параметр suggestion. Если переменная suggestion передана компо-
ненту, компонент начинает обрабатывать информацию. Код загружает ссыл-
ку на объект базы данных.
Затем он осуществляет запрос create table (создать таблицу). Использование
модификатора if not exist позволяет создать таблицу, только если она
не существует. Если это так, будет создана таблица с использованием теку-
щего префикса таблиц (в большинстве случаев будет создана таблица
jos suggestions) для хранения предложений.
В определении таблицы мы видим два поля, генерируемые базой данных
MySQL: id и created. Поле id автоматически увеличивается при добавлении
новой записи, поэтому оно будет использоваться в качестве уникального
ключа. Поле created — это дата добавления предложения.
После создания таблицы компонент обрабатывает три поля формы предло-
жения (suggestion — текст предложения, email — электронный адрес пользо-
вателя и location— расположение пользователя) и сохраняет их как пере-
менные. Метод getEscapedo используется для добавления необходимых es-
cape-символов, чтобы убедиться, что текст правильно запишется в базу
данных. Например, если бы пользователь ввел текст с кавычками, они бы
стали частью запроса, и запрос не был бы выполнен из-за синтаксической
ошибки, поэтому нам не обойтись без вызова метода getEscapedo.
Четвертая переменная создана для хранения IP-адреса отправителя предло-
жения. Хотя IP-адрес может быть подменен, большинство спаммеров не тра-
тят свое время и энергию на это, поэтому в большинстве случаев 1Р-адрес
поможет администратору проследить, кто нарушает условия использования
узла, и запретить этим IP-адресам доступ к системе.
Когда все четыре переменные установлены надлежащим образом, команда
Insert Into добавит новую запись в таблицу. После сохранения записи поль-
зователь будет поблагодарен за предложение.
Оставшаяся часть компонента будет отображена, только если не будут обна-
ружены переменные формы. В этом случае будет отображена форма добав-
ления предложения. В коде формы есть только два элемента, достойных вни-
мания. Для тега заголовка <hl> используется класс contentheading, поэтому
наш компонент будет оформлен в соответствии с выбранным шаблоном.
Второй элемент — это атрибут action формы. Он установлен в
index. php?option=com_suggestionbox, поэтому как только пользователь на-
жмет кнопку Отправить, будет снова вызван наш компонент. Компонент
обнаружит заполненные поля формы и добавит предложение в базу данных.
Создание расширений
443
Установка компонента
Заархивируйте содержимое каталога comsuggestionbox в архив
com_suggestionbox.zip, после чего загрузите и установите его в Joomla! с по-
мощью Менеджера расширений. Как только компонент будет установлен,
перейдите на вкладку Компоненты Менеджера расширений и опубликуйте
компонент (по умолчанию компоненты не публикуются после установки).
Теперь в меню Компоненты появится новый компонент. Не нужно выбирать
его — просто убедитесь, что он есть. Из меню Все меню выберите главное
меню. Нажмите кнопку Новый для создания новой ссылки меню. В группе
Выберите тип меню выберите компонент Suggestion Box (рис. 13.7).
Рис. 13.7. Выберите компонент Suggestion Box
Назовите пункт меню Предложения и откройте в браузере свою главную
страницу. В главном меню вы должны увидеть только что созданный элемент
меню. Нажмите его, и вы увидите форму предложений (рис. 13.8).
Введите любое предложение и нажмите кнопку Submit. Предложение будет
отправлено в базу данных для изучения администратором. Теперь вы создали
ваш первый компонент и получили основу, необходимую для создания дру-
гих компонентов в будущем.
444
Глава 13
Фоома предложения
Ваше предложение
Last comments by
AkoComment
Tweaked SE
No comment
Email (необязательно)
Feed Your Brain with...
Books from the Joomla1 -hop
© 2008 Joomla JumpStart Все права защищены
Joomial — свободное программное обеспечение, распространяемое по лицензии
Рис. 13.8. Компонент Suggestion Box отображает форму предложения
Резюме
В этой главе вы создали три разных расширения: пользовательский модуль,
модуль администратора и компонент. В большинстве случаев модули и ком-
поненты позволяют добавить необходимые функции, если вы не можете най-
ти реализующие их посторонние расширения.
Первый модуль, отображающий простое приветствие, демонстрирует интег-
рирование модулей в Joomla!. Модуль администратора более сложный, он
использует базу данных и доступен только из интерфейса администратора.
Наконец, компонент— самый сложный из всех— состоит из двух частей:
формы ввода данных и алгоритма их сохранения в базе данных. Расширение
демонстрирует, как компонент может изменять свое поведение в зависимости
от переданных ему параметров.
Я надеюсь, что вам понравилась эта книга, посвященная Joomla!, и вы узнали
с ее помощью больше, чем ожидали. Joomla! может использоваться для соз-
дания любых сайтов — от персональных страничек до полноценных интер-
нет-магазинов. Надеюсь, что вы присоединитесь к Joomlal-сообществу и сде-
лаете свой вклад в развитие некоммерческой организации Open Source Mat-
ters (подробнее см. www.joomla.org и www.opensourcematters.org) —
новыми шаблонами, новыми расширениями или просто своим присутствием.
Joomlal-сообщество включает десятки тысяч энтузиастов. Надеюсь, что вы
присоединитесь к нам и станете одним из нас. Увидимся в Сети!
Предметный указатель
А
Adobe Dreamweaver 17, 222
Adobe Photoshop 254
Ajax 421
AkoBook+ 310
AkoComment 316
Apache Custom Log Format 342
ASP 140
AstatsPro, программа 349
Atom-лента 301
A WStats, программа 348
В
Backup Easy 205
Breadcrumbs 416
BSQ Sitestats, программа 350
c
CAPTCHA 312
CGI 98
CLF 345
CMS 15
Community Builder 336
cPanel 116
CRM 265
CSE HTML Validator 263
CSS 242
D
Drivelmage XML 204
E
Easy Gallery 359
Eclipse 227
Entana Statistics, программа 350
eWAY 384
Expression Web 223
EZ-Catalog 406
F
Fantastico 25
FileZilla 29
FileZilla FTP Server 29, 357
FreeMind, программа 135
FTP 46
0 сервер 356
0 сервис 356
G
Gallery2 367
Gallery2 Bridge, компонент 378
GD2 309, 361
GIMP 209, 254
Gmail 184
Google Analytics Tracking Module,
модуль 352
446
Предметный указатель
Google Analytics, сервис 350
Google Reader 301
Google Sitemap Generator 415 GPL, лицензия 41 H HSB 236 HTML 17 J Jambook 306 JCal Pro 324 jEdit 228 Joom'Fish 172, 266 Joomap 415 Joomla Stand Alone Server 26 JoomlaLib, библиотека 378 Joomla-SMF Bridge 328 JoomlaStats, программа 349 joomlaXplorer 266 К KISS 48 KompoZer 225 L LAMP 86 LDAP 24, 184 Leo 137, 229 M Mambo 15 mambo-phpShop 385 MAMP 86 Microsoft FrontPage 17 Microsoft Internet Information Server 75 MySQL 19, 103 MySQL Administrator 103, 203 MySQL GUI Tools 110 N Nvu 224 Open Source 16 OpenSEF 413 osCommerce 406 P Pavuk Web Spider and Performance Measure 422 Pay mate 384 PayPal 384 PHP 19, 98 phpMyAdmin 202 Python 137 R RGB 234 Robots 152 RSS301 s Sage 301 SAP1 98 Script-Fu 256 Secure 398 SEF 94, 207,408 SEF Service Map 415 SEO 180,407 SharpReader 301 SMF 169, 327 SOAP 79 SSI 93 SSL 398 Suggestion Box 438 System - Legacy, плагин 164 T ThinFeeder Java RSS Aggregator 301 TinyMCE 146 u UTF-8 108
Предметный указатель
447
WorldPay 384
WYSIWYG 21
VAA-приложения 32 VirtueMart 383 w W3C 242 W3C Extended Log File Format 342 WAMP 86 Webalizer, программа 344 WebTrends, программа 342 Web-аналитика 342 Web-редактор 220 A Администраторы 188 Б База данных 103 Баннер 254 Безопасность 205 В Виртуальное сообщество 295 Виртуальный магазин 387 Г Голосование 68, 303 Гостевая книга 306 К Календарь события 323 Карта сайта 415 Категории 130 Категории пользователей 187 0 Registered Author 166 0 Registered Editor 166 0 Registered Publisher 166 Команда chmod 116 Комментарии пользователей 315 0 редактор 145 X ХАМРР 79 Xcode 101 Xenu 422 XHTML 146 XML 79 XML-RPC 79 XStandard Lite 147 Компонент 268 0 Banners (баннеры) 283 0 Contacts (контакты) 286 0 Newsfeed (лента новостей) 288 0 Polls (голосования) 289 0 Weblinks (каталог ссылок) 291 0 разработка 438 Контент 129 0 некатегоризированный 130 Корзина 142 Л Логотип сайта 61 м Медиаменеджер 176 Менеджер: 0 баннеров 283 0 главной страницы 176 0 голосований 69, 289 0 категорий 143 0 контактов 286 0 корзины 177 0 лент новостей 288 0 массовой рассылки 198 0 материалов 131, 142, 174 0 меню 189 0 модулей 59, 193 0 общих настроек 178—179
448
Предметный указатель
0 плагинов 195, 292 0 пользователей 184 0 почтовый 197 0 разделов 143 0 расширений 164, 173, 192 0 статического контента 133 0 шаблонов 63, 170 0 языков 169, 172 Меню: 0 горизонтальное 71 0 категорий 161 0 скрытие 59 Метод: Права доступа 116 0 в Linux/UNIX 39 Профиль сайта 296 Р Разделы 130 Редактор кода 226 Режим обратной совместимости 164 Резервное копирование сайта 201 Рейтинг статей 301 С
0 getEscaped()442 0 JText()431 0 setQueryO 436 Модуль 268 0 Advertisement 274 0 Banners 274 0 Breadcrumbs 276 0 Feed Display 277, 301 0 Main Menu 279 0 Newsflash 66 0 Polls 58 0 Random Image 273 0 Syndication 277 0 Wrapper 272 0 администратора 282, 432 0 разработка 427 0 типы 269 Смайлики 53 Статистика сайта 341 Статический материал 130 Статья: 0 добавление 149, 153 0 создание 50 т Тип меню 55 У Уровень доступа 144 Ф Файл: 0 .htaccess 93
н 0 configuration.php 39 0 httpd.conf91
Навигационная строка 416 Новостная лента 277, 301 0 index.php 211 0 phpinfo.php 103 0 robots.txt 424
О 0 template.css 232 0 templateDetails.xml 210
Опрос 68 Форум 327 Фотогалерея 355
п ш
Панель управления 50 Плагин 266, 292 Поисковый паук 407 Поле предложения 335 Шаблон 210 0 проверка кода 262 0 создание 231 0 установка нового 163