Рефераты
 

Створення веб-сайту інтернет-магазину на базі CMS Joomla

p align="left">Розглянемо створення головної сторіночки сайту (Рис. 7). Вона є основоположною для всіх інших.

Рис. 7. Розробка головної сторінки сайта

Як видно з малюнка, в основі сторінки лежить контейнер. Всі елементи сторіночки складають мозаїку, яка згодом предстає на екрані користувача як єдине ціле.

Будь-яка інформація (текстова або графічна) заноситься безпосередньо в елементі контейнера. Таким чином, досягається структурованість сторіночки, що дозволяє найзручніше редагувати будь-який її елемент. Так само для зручності правки і логічного відділення одного сегменту від іншого кожному з них привласнено ім'я. Код шаблону сторінок приведений в додатку 1.

2.3 Розробка сайту на основі CMS

2.3.1 Опис встановлення на сервер CMS Joomla

Для доступу до адміністративної панелі управління Joomla використовуйте адресу Вашого веб-сайту (або повний шлях до теки, в яку встановлена Joomla) з додаванням в кінці шляху "/administrator". Наприклад, якщо адреса веб-сайта www.myweb.ua, то доступ до панелі управління можливий за адресою www.myweb.ua/administrator. Після правильного введення адреси, відкриється сторінка авторизації (рис. 8)

Рис. 8. Сторінка входу в панель управління Joomla

Рис. 9. Головна сторінка панелі управління Joomla

При правильному введенні імені користувача і пароля відкриється головна сторінка адміністрування системою, тобто буде відкрита панель управління Joomla (Рис. 9), яка надасть управління всіма функціями і можливостями Joomla.

2.3.2 Створення розділів сайта

Розділ - це головний (верхній) об'єкт в основі ієрархії структури вмісту. Пізніше в Розділ будуть додані Категорії.

Для роботи з розділами необхідно перейти на сторінку "Разделы". Можна натиснути на головній сторінці панелі кнопку "Разделы" або в основному меню вибрати "Материалы", потім пункт "Менеджер разделов" (Рис. 10).

Рис. 10. Доступ на сторінку "Управління розділами" (Section Manager), або далі на сторінку "Менеджер категорий" (Category Manager)

Буде відкрита сторінка "Менеджер разделов".

На сторінці "Менеджер разделов", використовуючи кнопки на панелі інструментів, можна (перерахування справа наліво):

Допомогу відкрити в новому вікні сторінку опису по даному вікну ("Управління розділами"). Натисніть кнопку "Помощь".

Створити новий розділ. Натисніть кнопку "Создать".

Змінити існуючий розділ. Натисніть на назву розділу або відзначте потрібний розділ і натисніть кнопку "Изменить".

Видалити існуючий розділ. Відзначте потрібний розділ і натисніть кнопку "Удалить".

Копіювати існуючий розділ. Відзначте потрібний розділ і натисніть кнопку "Копировать".

Приховати (зробити неопублікованим) існуючий розділ. Відзначте потрібний розділ і натисніть кнопку "Скрыть".

Допустити (Опублікувати) існуючий розділ. Відзначте потрібний розділ і натисніть кнопку "Показать".

Для створення нового розділу натисніть кнопку "Создать". Буде відкрита сторінка редагування розділу (Рис. 11).

Рис. 11. Сторінка редагування розділу

На сторінці редагування розділу за допомогою кнопок на панелі інструментів можна (перерахування справа наліво):

Допомога - відкрити в новому вікні сторінку опису по даному вікну (редагування розділу). Натисніть кнопку "Помощь".

Застосувати (зберегти) зміни, але залишитися на сторінці редагування розділу. Натисніть кнопку "Применить".

Зберегти зміни і закрити сторінку редагування розділу і повернутися (вийти) на сторінку «Менеджер разделов»Натисніть кнопку "Сохранить".

Завантажити зображення (зберігається в теку images\stories). Натисніть кнопку "Изображение".

На сторінці редагування розділу потрібно:

У полі "Псевдоним" ввести коротке ім'я розділу, яке використовуватиметься в меню або у випадних списках панелі управління.

У полі "Заголовок" ввести довге ім'я розділу, яке використовуватиметься при відображенні вмісту розділу на сайті, показуючи заголовок розділу.

У полі "Зображення" вибрати зображення, яке використовуватиметься при відображенні розділу в меню.

У полі "Порядок отображения" після застосування (збереження) змін можна змінити порядок відображення розділу в списку на сторінці "Менеджер разделов".

У полі "Доступ" можна виставити права доступу на перегляд даного розділу (вмісту даного розділу):

"Все" - для всіх відвідувачів веб-сайта

"Зарагастрированный" - для зареєстрованих користувачів сайту

"Специальный" - для зареєстрованих користувачів панелі управління.

У полі "Опубликовано" - вибрати публікувати зараз чи ні.

У текстовому полі "Описание" можна написати короткий опис (анотацію) вмісту розділу.

Рис. 12. Візуальний редактор "TINYMCE"

У полі "Описание" можна написати про зміст розділу, але пам'ятаєте, що розділ включає одну або декілька категорій, і, коли кінцевий користувач (відвідувач Вашого веб-сайта) бачить цей опис, то воно також супроводжуватиметься (ймовірно) списком включених в даний розділ категорій.

У полі «Описание»використовується спеціальний редактор HTML, тобто не Joomla, а її розширення - мамбот. Дане розширення, мамбот, називається HTML-редактором Joomla. У системі можна використовувати будь-який з безлічі різних візуальних HTML-редакторов, але рекомендується використовувати "TINYMCE" (Рис. 12).

Якщо HTML-редактор не з'явився у Вашій системі, то Ви повинні встановити його і (або) включити редактор. У локалізованій збірці Joomla 1.5 редактор "TINYMCE" вже встановлений і включений. Зовнішній вигляд Вашого візуального редактора може сильно відрізнятися від того, що використовувався для написання цього керівництва.

Кнопки на панелі інструментів HTML-редактора допомагають задавати стиль (формат) тексту, що вводиться.

Коли Ви закінчите створювати або редагувати розділ, натисніть кнопку «Сохранить»для збереження результатів роботи і виходу на сторінку «Менеджер разделов» або можна натиснути кнопку «Применить»для збереження результатів, не закриваючи сторінки редагування розділу.

2.3.3 Створення категорій сайта

Категорія - це другий (після розділу) об'єкт в ієрархії структури вмісту. Створення категорії схоже на створення розділу.

Для роботи з категоріями необхідно перейти на сторінку «Менеджер категорий».

Є два способи перейти на сторінку «Менеджер категорий».

Перший спосіб: можна натиснути на головній сторінці панелі кнопку «Менеджер категорий», або в основному меню виберіть "Вміст", потім пункт «Менеджер разделов». Буде відкрита сторінка «Менеджер категорий».

Другий спосіб: у основному меню вибрати "Содержимое", потім "Содеожимое по разделам" і далі потрібний вам розділ. І у випадному продовженні меню пункт "Добавить/изменить категории в вибранном вами разделе". Буде відкрита сторінка «Менеджер категорий» (Рис. 13).

Рис. 13. Сторінка «Менеджер категорий»

При відкритті сторінки «Менеджер категорий» першим способом буде доступне фільтрація категорії по розділах. При створенні нової категорії можна буде вибрати розділ, до якого повинна увійти нова категорія. Опція фільтрації на сторінці доступна справа під панеллю інструментів.

При відкритті сторінки «Менеджер категорий» другим способом опція фільтрації буде "жорстко" прив'язана до вибраного Вами розділу. При створенні нової категорії ім'я розділу, до якого увійде нова категорії буде "жорстко" прив'язана до вибраного вами розділу.

Примітка: Щоб вибрати інший розділ, потрібно буде знову повторити спосіб другою або перший, для доступу на сторінку «Менеджер категорий».

На сторінці «Менеджер категорий», використовуючи кнопки на панелі інструментів, можна (перерахування справа наліво):

Допомога - відкрити в новому вікні сторінку опису поданому вікну («Менеджер категорий»). Натисніть кнопку «Помощь».

Створити нову категорію. Натисніть кнопку "Создать".

Змінити існуючу категорію. Натисніть на назву категорії або відзначте потрібну категорію і натисніть кнопку «Изменить».

Видалити існуючу категорію. Відзначте потрібну категорію і натисніть кнопку «Удалить».

Копіювати існуючу категорію. Відзначте потрібну категорію і натисніть кнопку "Копировать".

Перенести - перемістити існуючу категорію і весь її вміст в інший розділ. Відзначте потрібну категорію і натисніть кнопку "Перенести".

Приховати (зробити неопублікованою) існуючу категорію. Відзначте потрібну категорію і натисніть кнопку "Скрыть".

Допустити (Опублікувати) існуючу категорію. Відзначте потрібну категорію і натисніть кнопку "Показать".

Для створення нової категорії натисніть кнопку "Создать". Буде відкрита сторінка редагування категорії.

Сторінка редагування категорії аналогічна сторінці редагування розділу (Рис. 13). Основна відмінність сторінок редагування "Категорії" і "Розділу" - наявність поля вибору розділу, до якого відноситиметься категорія. Створення нової категорії майже повністю аналогічно створенню нового розділу.

2.3.4 Створення об'єкту вмісту

Об'єкт вмісту - це основний вміст сайту і нижній об'єкт в ієрархії структури вмісту. Іншими словами об'єкт вмісту - це ваша стаття, яка повинна міститися в одній з ваших категорій (відповідно і розділу).

Для роботи з об'єктами вмісту необхідно перейти на сторінку "Менеджер материалов".

Потрібно натиснути на головній сторінці панелі кнопку "Менеджер материалов" або в основному меню виберіть "Материалы", потім пункт "Менеджер материалов". Буде відкрита сторінка "Менеджер материалов", при відкритті сторінки буде доступна фільтрація об'єктів по наступних критеріях:

по розділах

по категоріях

по авторові

по заголовку, значення указується в полі "Фильтр".

Рис. 14. Доступ до сторінки "Менеджер материалов"

На сторінці "Менеджер материалов", використовуючи кнопки на панелі інструментів, можна (перерахування справа наліво):

Допомога - відкрити в новому вікні сторінку опису поданому вікну ("Управління вмістом") .Нажмите кнопку «Помощь».

Створити новий об'єкт вмісту. Натисніть кнопку "Создать".

Змінити існуючий об'єкт вмісту. Натисніть на назву об'єкту або відзначте потрібний об'єкт і натисніть кнопку «Изменить».

Видалити існуючий об'єкт вмісту. Відзначте потрібний об'єкт і натисніть кнопку "В корзину".

Копіювати існуючі об'єкти вмісту. Відзначте потрібні об'єкти і натисніть кнопку "Копировать" і потім виберіть, куди скопіювати об'єкти.

Перенести - перемістити існуючі об'єкти вмісту. Відзначте потрібні об'єкти і натисніть кнопку "Перенести" і потім виберіть, куди перенести об'єкти.

Приховати (зробити неопублікованим) існуючі об'єкти вмісту. Відзначте потрібні об'єкти і натисніть кнопку "Скрыть".

Допустити (Опублікувати) існуючі об'єкти вмісту. Відзначте потрібні об'єкти і натисніть кнопку "Показать".

Відправити до архіву існуючі об'єкти вмісту. Відзначте потрібні об'єкти і натисніть кнопку "В архив".

При створенні або редагуванні об'єкту вмісту (статті), на сторінці редагування (рис.15) доступні додаткові поля, необхідні для вибору того (на відміну від сторінки редагування розділу або категорії), в якому розділі (поле "Роздел:") і в якій категорії (поле "Категория:") міститиметься даний об'єкт вмісту.

Далі доступні два вікна HTML редактора, що дозволяють розбити зміст статті на дві частини: введення і весь вміст статті. Розділення вмісту статей дозволяє представити їх у вигляді так званого "Блога" або "Журналу", тобто списку короткого опису статей, з кнопками "Подробнее" на весь вміст статей.

Рис. 15. Сторінка редагування «Материал»

Блог - популярний і зручний спосіб представити інформацію або статті, які оновлюються (додаються) регулярно, наприклад новини або прес-релізи. Замість простого списку посилань до різних статей, виведення статей як "блог" дає можливість показати назву і введення, що дозволяють перейти до всього змісту статті. Таким чином, введення може бути першим параграфом всієї статті або коротким описом (резюме) статті.

Справа, після збереження, доступні додаткові параметри управління об'єктом вмісту. Остання вкладка "Связь с меню" може настроюватися при створенні меню.

Якщо необхідно помістити зображення в змісті, то потрібно використовувати спеціальну можливість вставки зображень. Натисніть кнопку "Вставити зображення" (кнопка розташована внизу зліва вікна HTML редактора), після цього у вміст буде доданий текст {mosimage }; при обробці цього тексту для відображення система (Joomla) визначить, що необхідно вставляти зображення, список яких розміщений на вкладці "параметри изображения". Щоб побачити зображення в тексті, натисніть кнопку "Просмотр" на панелі інструментів.

Використовувати можливість { mosimage }можна багато раз, зображення відображаються в порядку, вказаному в списку; порядок можна міняти, використовуючи кнопки "Вгору" і "Вниз".

Використання{ mosimage } це приклад використання розширення Joomla - мамбота (mosimage).

Значення багатьох параметрів на вкладці "Параметры-Расширенные", можна задати за умовчанням, для того, щоб використовувалися "глобальні настройки". Задати значення "Глобальних настройок" можна в пункті меню "Менеджер материалов" меню "Материалы", у вкладці "Параметры". Дані значення можна індивідуально змінити для кожного об'єкту вмісту.

На даній вкладці можна ввести опис об'єкту і ключові слова.

Якщо використовувати кнопку "Додати (Розділ, Категорія, Заголовок)", то будуть додані в полі "Ключовые слова" назви розділу, категорії і заголовок об'єкту.

2.3.5 Створення меню on-line магазина

Після створення структури вмісту, необхідно створити меню для користувачів веб-сайту. Меню - це набір кнопок, які приведуть на конкретні об'єкти, наприклад, об'єкт вмісту, список категорій, компонент і так далі.

Використовуючи розширення Joomla легко створити меню для відображення на сайті. У даному керівництві розглядається меню, побудоване на стандартному модулі (встановленому за умовчанням) mod_mainmenu. Даний модуль є за умовчанням головним для створення меню. Місце виведення меню на сайті визначається в шаблоні сайту. Встановлюючи додаткові розширення, можна розширити можливості відображення стандартного меню або відобразити його в іншому вигляді, наприклад у вигляді випадного каскадного меню з підміню (часто необхідно, щоб з боку користувача була включена підтримка Javascript в браузері).

Найпростіший варіант (але обмежений в можливостях) пов'язати об'єкт вмісту з пунктом меню, це використовувати на сторінці редагування об'єкту вмісту у вікні додаткових параметрів вкладку "связь с меню". У вкладці даного вікна необхідно:

1. Вибрати меню, в яке буде доданий пункт (посилання).

2. Вибрати назву пункту меню.

3. Натисніть кнопку "Связать с меню".

Примітка: На сторінці редагування розділу або категорії в додатковому вікні справа(для створюваного розділу або категорії дане вікно буде доступне після збереження - кнопка "Зберегти"). У даному вікні необхідно:

1. Вибрати меню, в яке буде доданий пункт (посилання).

2. Вибрати тип меню, в якому вигляді відображатиметься розділ або категорія.

3. Вибрати назву пункту меню.

4. Натисніть кнопку "Связать с меню".

Рис. 16. Доступ до сторінки "Управление меню [mainmenu]"

Для роботи з меню для сайту необхідно перейти на сторінку "Главное меню". У основному меню вибрати "Все меню", потім пункт меню "Главное меню".

Для роботи з пунктами меню певного меню (наприклад, mainmenu) необхідно перейти на сторінку "Управління меню [mainmenu]". У основному меню вибрати "Все меню", потім пункт меню "Главное меню".

На сторінці "Пункты меню[mainmenu]" (рис. 17) можна побачити список вже створених пунктів меню (за умовчанням без установки демонстраційних даних доступний тільки один пункт - "Главная").

Рис. 17. Сторінка "Пункты меню[mainmenu]"

Для додавання нового пункту меню необхідно перейти на сторінку "Создать". Натисніть кнопку "Создать" на сторінці "Управління Пункты меню[mainmenu]" для додавання нового пункту меню в меню mainmenu.

На сторінці "Пункт меню: [Создать]" (рис. 18) доступні декілька типів створюваного пункту меню. Всі типи розбиті по групах.

Рис. 18. Додавання нового пункту меню

Коли вибраний тип нового пункту меню, необхідно перейти на сторінку "Пункт меню: [Создать]. На цій сторінці необхідно вибрати і заповнити основні параметри і поля нового пункту меню. Параметри і поля відрізняються залежно від вибраного типу нового пункту меню. Натисніть на кнопку "Далі" або на вибраний тип пункту меню.

На рис. 19 розглядається приклад додавання нового пункту меню типу: "Стандартный шаблон материала". Для додавання необхідно:

1. Ввести ім'я нового пункту меню, поле "Заголовок".

2. Вибрати об'єкт вмісту (статтю), поле "Выберите материал".

3. Вибрати батьківський пункт меню, поле "Родительский элемент".

4. Вибрати порядок розташування, поле "Порядок показа".

5. Вибрати рівень доступу, поле "Доступ".

6. Вибрати опублікований пункт меню, поле «Опубликовано».

Справа можна, але не обов'язково вибрати зображення меню, поле "Картинка меню".

Рис. 19. Додавання нового пункта меню

У поле "Родительский элемент" перераховуються всі існуючі пункти меню, які можна вибрати як "родительский элемент" для нового пункту меню. Підтримка ієрархічної структури меню і відображення її на сайті можливі, тільки якщо в шаблоні є підтримка відображення ієрархії пунктів меню (більшість безкоштовних шаблонів не підтримують цю можливість). Для реалізації меню з підміню використовуються додаткові розширення, що дозволяють поліпшити створення і відображення структури меню на сайті.

2.3.6 Установка шаблона сайта

Якщо ви самі безпосередньо встановлюєте і настроюєте Joomla, то однією з перших дій з настройки є установка шаблону сайту для вашого проекту. Є багато вільно поширюваних шаблонів для Joomla 1.5, і установка нового шаблону не є складною процедурою. Шаблони сайту для Joomla зазвичай розповсюджуються (так само як і розширення) у вигляді .zip файлів(або також .tar.gz файлу) .Для використання таких файлів необхідно зберегти файл шаблону і далі перейти на сторінку "Установка нового шаблону сайту" (рис. 20).

Рис. 20. Доступ до сторінки "Установить/Удалить"

На сторінці "Установить/Удалить" необхідно вибрати потрібний файл для установки. Натисніть кнопку "Обзор" для вибору файлу шаблону сайту і натисніть кнопку "Загрузить и установить".

Рис. 21. Сторінка "Менеджер шаблонов"

Щоб почати використовувати шаблон сайту, необхідно перейти на сторінку "Менеджер шаблонов". Виберіть в головному меню "Расширения", потім пункти "Менеджер шаблонов".

Рис. 22. Доступ до сторінки "Менеджер шаблонов"

На сторінці "Менеджер шаблонов" виберіть потрібний вам шаблон сайту і натисніть кнопку "По умолчанию". Шаблон сайту, вибраний за умовчанням, використовуватиметься для відображення всього сайту.

2.3.7 Створення категорії товарів магазина

Після встановлення та настройки необхідних для функціонування сайту розширень, необхідно створити категорії для товарів. Для цього ми використовуємо розширення для CMS Joomla “VirtueMart”, яке розповсюджується по ліцензії GNU\GPL, тобто можна використовувати розширення безкоштовно і змінювати програмний код розширення для своїх потреб. Місце виведення категорій визначено в шаблоні сайта.

Для того, щоб створити нову категорію для товарів, потрібно в основному меню вибрати «Компоненты», потім пункт «VirueMart» (рис. 23). Після того, як перейшли на головну сторінку компонента «VirtueMart», потрібно вибрати «Товары», потім пункт «Добавить категорию» (рис. 24).

Рис. 23. Доступ до сторінки «VirtueMart».

Рис. 24. Доступ до сторінки «Добавить категорию».

На рис. 25 розглядається приклад додавання нової категорії товарів.Для додавання необхідно:

1. Ввести ім'я нової категорії в полі «Наименование категории».

2. В полі «Описание категории» ввести інформацію про кавтегорію.

3. Вибрати чи буде це підкатегорія чи категорія в полі «Родительская категория».

4. В полі «Опубликовать?» відмітити, якщо потрібно щоб категорія була відображена на сайті.

У вкладці «Изображение» (рис. 26) можна загрузити зображення для категорії товарів.

Після того, як поля заповнені натискаємо «Сохранить» для зберігання введеної інформації.

Рис. 25. Сторінка «Добавить категорию».

Рис. 26. Вкладка «Изображение».

Для того щоб передивитися категории товарів, потрібно потрібно вибрати «Товары», потім пункт «Отобразить категорию». На сторінці «Дерево категорий» будуть відображені всі категорії товарів. Щоб категория не відображалась в магазині, потрібно відзначити певну категорію та натиснути «Скрыть». Для того щоб видалити категорію, потрібно вибрати категорію та натиснути «Удалить».

2.3.8 Розміщення товарів в on-line магазині

Після створення категорій товарів товарів, потрібно розміщати товари в on-line магазині. Для того, щоб добавити новий товар в магазин, потрібно в основному меню вибрати «Компоненты», потім пункт «VirueMart» (рис. 23). Після того, як перейшли на головну сторінку компонента «VirtueMart», потрібно вибрати «Товары», потім пункт «Добавить товар».

На рис. 27 розглядається приклад додавання нового товару .Для додавання необхідно:

1. В полі «Артикул» потрібно ввести актрикул нового товару.

2. Ввести назву товара в поле «Название».

3. Вибрати категорію товара із списка поля «Категории».

4. В полі «Цена товара» вказати ціну даного товара.

5. Ввести коротке описання товара в поле «Краткое описание».

5. Ввести повне описання товара в поле «Описание товара».

Рис. 27. Сторінка «Новый товар».

На сторінці «Новый товар» окрім основної вкладки «Информация о товаре» існує 4 додаткові вкладки:

1. Вкладка «Состояние товара» - в цій вкладці можна добавити інформацію про кількість товару, коли буде в наявності, спеціальні умови.

2. Вкладка «Габариты товара и вес» - в цій вкладці можна ввести габаритні параметри товару.

3. Вкладка «Изображения товара» - в цій вкладці можна загрузити зображення товара.

4. Вкладка «Сопутствующиме товары» - в цій вкладці можнга вибрати товри, які супутні даному товару.

2.4 Висновки

Згідно технічного завдання було створено сайт інтернет-магазин на базі CMS Joomla. Був створений дизайн сайта в виді шаблона, який використовується в системі управління вмістом Joomla. На головній сторінці розміщено логотип веб-сайта, основне меню сайту (для навігації по його структурі), форму аутентифікації (входу зареєстрованих користувачів), реєстраційне посилання (реєстрація нових клієнтів). Також сайт має початкові категорії товарів та початкові товари для відображення працездатності інтернет-магазина. Окрім каталогу товарів сайт має інформативні сторінки, які мають інформативний вміст для користувачів і корисну інформацію для клієнтів інтернет-магазину.

Висновок

В ході виконання випускної кваліфікаційної роботи був отриманий повнофункціональний веб-сайт, повністю готовий до застосування. Даний сайт орієнтований для широкого спектру застосування в on-line торгівлі. З його допомогою користувачі зможуть отримувати необхідну інформацію про товар, а також можливість купівлі товару. При розміщенні його в глобальній мережі географія розповсюдження зростає до масштабів всього світу.

При розробці веб-сайта були проаналізовані сучасні веб-технології, що дозволяють створювати інтерактивні веб-сторінки. Найбільш відповідними для виконання поставленого завдання виявилися Macromedia Dreamweaver MX 2004 і Joomla 1.5.

Розроблений сайт задовольняє всім вимогам, поставленим на етапі постановки завдання. При розробці веб-сайта були використані готові модулі аутентифікації, голосування, on-line магазин і здійснення пошуку по сайту. Дані модулі були допрацьовані з урахуванням специфіки веб-сайта і успішно упроваджені в його структуру.

Як подальше вдосконалення веб-сайта представляється можливим розробка модулів доступу. Так само можливе доопрацювання інтерфейсу сайту з метою подальшого підвищення його інформативності, привабливості і зручності.

Використані джерела

1. «Веб Database Application with PHP and MYSQL», 2nd Edition By David Lane, Hugh E. Williams. © O'Reilly, May 2004. ISBN: 0-596-00543-1.

2. CMS List. Огляд cms. Сайт про системи управління сайтом. http://www.cmslist.ru

3. Joomla CMS по-російськи. http://joomlaportal.ru

4. Матеріал з Вікипедії -- вільній енциклопедії про системи управління сайтом. http://ru.wikipedia.org/wiki/CMS

5. Content management system http://www.brutto.ru/informacija/uznat-bolshe/content-management-system

6. Joomla-инструменты. http://docs.joom.ru/!;C651=0O:Categories

7. CMS огляд: CMS, движок сайту, система управління сайтом, mambo, php nuke, netcat, phpbb, invision power board, vbulletin. http://cmsobzor.ru/news.php

8. «Dreamweaver MX 2004 для "чайников".» Уорнер, Джанни, Гарднер, Сюзанна.

Пер. с англ. -- М. : Издательский дом "Вильямс", 2004. -- 352 с.

9. «PHP, MySQL и Dreamweaver MX 2004. Разработка интерактивных Web-

сайтов.» Дронов В. А. -- СПб.: БХВ-Петербург, 2005. -- 448 с : ил.

10. «PHP and MySQL Web Development (4th Edition)», Luke Welling, Laura Thomson 848 стр., с ил.; ISBN 978-5-8459-1574-0, 978-0-672-32916-6.

11. «Joomla! 1.5. Руководство пользователя», Колисниченко Д.Н., с ил.; ISBN 978-5-8459-1509-2; 2009,224 с.

12. «
Движок для вашего сайта. CMS Joomla!. Slaed, PHP-Nuke». Колисниченко Д., СПб.: БХВ-Петербург, 368 с.,

13. «Joomla! Практическое руководство»., Норт Б., 448 с., СПб: Символ-Плюс.

14. «Самоучитель Joomla!»., Дэн Рамел, БХВ-Петербург, 2008 г., 448 с.

15. «Создание веб-сайтов с помощью Joomla! 1.5». Хаген Граф, Издательский дом "Вильямс", 304 с., 2009.

Додатки

Додаток А

Код шаблону сайта

<?php

// no direct access

defined( '_JEXEC' ) or die( 'Restricted index access' );

define( 'YOURBASEPATH', dirname(__FILE__) );

require( YOURBASEPATH.DS."styles.php");

require( YOURBASEPATH.DS."rt_styleswitcher.php");

JHTML::_( 'behavior.mootools' );

global $template_real_width, $leftcolumn_width, $rightcolumn_width, $tstyle;

global $js_compatibility, $menu_rows_per_column, $menu_columns, $menu_multicollevel;

global $overlay_style, $bg_style, $showcase_title, $showcase_text, $showcase_link, $body_text, $body_link, $primary_color;

$live_site = $mainframe->getCfg('live_site');

$template_path= $this->baseurl . '/templates/' . $this->template;

$preset_style = $this->params->get("presetStyle", "style3");

$overlay_style = $this->params->get("overlayStyle", "dark");

$bg_style = $this->params->get("bgStyle", "bgstyle3");

$showcase_title = $this->params->get("showcaseTitle", "#ffffff");

$showcase_text = $this->params->get("showcaseText", "#fffddd");

$showcase_link = $this->params->get("showcaseLink", "#21bddf");

$body_text = $this->params->get("bodyText", "#999999");

$body_link = $this->params->get("bodyLink", "#21bddf");

$frontpage_component = $this->params->get("enableFrontpage", "show");

$enable_ie6warn = ($this->params->get("enableIe6warn", 0) == 0)?"false":"true";

$font_family = $this->params->get("fontFamily", "refraction");

$enable_fontspans = ($this->params->get("enableFontspans", 1) == 0)?"false":"true";

$enable_inputstyle = ($this->params->get("enableInputstyle", 1) == 0)?"false":"true";

$inputs_exclusion = $this->params->get("inputsExclusion", "'.content_vote'");

$enable_featured_effects= ($this->params->get("featEffects", 1) == 0)?"false":"true";

$panel_hooks= $this->params->get("panelHooks", ".showcase-panel-trigger, a[href*=showcasemoduletrigger]");

$panel_fixheight= $this->params->get("panelFixHeight", 1);

$panel_height= $this->params->get("panelHeight", "337");

$panel_opacity= $this->params->get("panelOpacity", "0.9");

$panel_totop= $this->params->get("panelToTop", 1);

$panel_clickclose = $this->params->get("panelClickClose", 1);

$panel_closebutton= $this->params->get("panelCloseButton", 0);

$template_width = $this->params->get("templateWidth", "959");

$leftcolumn_width= $this->params->get("leftcolumnWidth", "210");

$rightcolumn_width= $this->params->get("rightcolumnWidth", "210");

$leftinset_width= $this->params->get("leftinsetWidth", "180");

$rightinset_width= $this->params->get("rightinsetWidth", "180");

$splitmenu_col= $this->params->get("splitmenuCol", "rightcol");

$menu_name = $this->params->get("menuName", "mainmenu");

$menu_type = $this->params->get("menuType", "moomenu");

$menu_rows_per_column = $this->params->get("menuRowsPerColumn");

$menu_columns = $this->params->get("menuColumns");

$menu_multicollevel = $this->params->get("menuMultiColLevel", 1);

$default_font = $this->params->get("defaultFont", "default");

$show_logo = ($this->params->get("showLogo", 1) == 0)?"false":"true";

$show_topbutton = ($this->params->get("showTopbutton", 1) == 0)?"false":"true";

$show_copyright = ($this->params->get("showCopyright", 1) == 0)?"false":"true";

$js_compatibility = ($this->params->get("jsCompatibility", 0) == 0)?"false":"true";

// moomenu options

$moo_bgiframe = ($this->params->get("moo_bgiframe'","0") == 0)?"false":"true";

$moo_delay = $this->params->get("moo_delay", "500");

$moo_duration = $this->params->get("moo_duration", "600");

$moo_fps = $this->params->get("moo_fps", "200");

$moo_transition = $this->params->get("moo_transition", "Sine.easeOut");

$moo_bg_enabled = ($this->params->get("moo_bg_enabled","1") == 0)?"false":"true";

$moo_bg_over_duration = $this->params->get("moo_bg_over_duration", "500");

$moo_bg_over_transition= $this->params->get("moo_bg_over_transition", "Expo.easeOut");

$moo_bg_out_duration= $this->params->get("moo_bg_out_duration", "600");

$moo_bg_out_transition = $this->params->get("moo_bg_out_transition", "Sine.easeOut");

$moo_sub_enabled= ($this->params->get("moo_sub_enabled","1") == 0)?"false":"true";

$moo_sub_opacity= $this->params->get("moo_sub_opacity","0.95");

$moo_sub_over_duration= $this->params->get("moo_sub_over_duration", "50");

$moo_sub_over_transition= $this->params->get("moo_sub_over_transition", "Expo.easeOut");

$moo_sub_out_duration = $this->params->get("moo_sub_out_duration", "600");

$moo_sub_out_transition= $this->params->get("moo_sub_out_transition", "Sine.easeIn");

$moo_sub_offsets_top= $this->params->get("moo_sub_offsets_top", "0");

$moo_sub_offsets_right = $this->params->get("moo_sub_offsets_right", "1");

$moo_sub_offsets_bottom= $this->params->get("moo_sub_offsets_bottom", "0");

$moo_sub_offsets_left= $this->params->get("moo_sub_offsets_left", "1");

require(YOURBASEPATH . "/rt_styleloader.php");?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" >

<head>

<jdoc:include type="head" />

<?php

require(YOURBASEPATH . DS . "rt_utils.php");

require(YOURBASEPATH . DS . "rt_head_includes.php");

?>

</head>

<body id="ff-<?php echo $fontfamily; ?>" class="<?php echo $fontstyle; ?> <?php echo $tstyle; ?> <?php echo $bg_style; ?> <?php echo $overlay_style; ?> iehandle">

<div id="main-background">

<!--Begin Header-->

<?php if ($show_logo == "true" or $mtype != "none" or $this->countModules('logo')) : ?>

<div id="header-overlay" class="png">

<div class="wrapper">

<!--Begin Logo-->

<?php if ($this->countModules('logo')) : ?>

<div class="logo-module"><jdoc:include type="modules" name="logo" style="xhtml" /></div>

<?php elseif ($show_logo == "true") : ?>

<a href="<?php echo $this->baseurl; ?>" id="logo" class="png"></a>

<?php endif; ?>

<!--End Logo-->

<!--Begin Horizontal Menu-->

<?php if($mtype != "none") : ?>

<div id="horiz-menu-surround">

<div id="horiz-menu" class="<?php echo $mtype; ?> png">

<?php if($mtype != "module") : ?>

<?php echo $topnav; ?>

<?php else: ?>

<jdoc:include type="modules" name="toolbar" style="none" />

<?php endif; ?>

</div>

</div>

<?php endif; ?>

<!--End Horizontal Menu-->

</div>

</div>

<?php endif; ?>

<!--End Header-->

<!--Begin Showcase-->

<?php $mClasses = modulesClasses('case5'); if ($this->countModules('showcase') or $this->countModules('showcase2') or $this->countModules('showcase3')) : ?>

<div id="showcase-section" class="png">

<div class="wrapper">

<div id="showmodules" class="spacer<?php echo $showmod_width; ?>">

<?php if ($this->countModules('showcase')) : ?>

<div class="block <?php echo $mClasses['showcase'][0]; ?>">

<jdoc:include type="modules" name="showcase" style="main" />

</div>

<?php endif; ?>

<?php if ($this->countModules('showcase2')) : ?>

<div class="block <?php echo $mClasses['showcase2'][0]; ?>">

<jdoc:include type="modules" name="showcase2" style="main" />

</div>

<?php endif; ?>

<?php if ($this->countModules('showcase3')) : ?>

<div class="block <?php echo $mClasses['showcase3'][0]; ?>">

<jdoc:include type="modules" name="showcase3" style="main" />

</div>

<?php endif; ?>

</div>

</div>

</div>

<?php endif; ?>

<?php if ($this->countModules('showcase-panel')): ?>

<div id="showcase-panel">

<div class="wrapper">

<div id="showcase-panel-close">

<div class="readon-wrap1"><div class="readon1-l"></div><a class="readon-main" href="#"><span class="readon1-m"><span class="readon1-r">Close</span></span></a></div>

</div>

<jdoc:include type="modules" name="showcase-panel" style="showcasepanel" />

</div>

</div>

<?php endif;?>

<!--End Showcase-->

<!--Begin Main Body-->

<div id="mainbody-overlay" class="png">

<div id="mainbody-overlay2" class="png">

<div class="wrapper">

<div id="main-body">

<div id="main-body-surround">

<!--Begin Main Content Block-->

<div id="main-content" class="<?php echo $col_mode; ?>">

<div class="colmask leftmenu">

<div class="colmid">

<div class="colright">

<!--Begin col1wrap -->

<div class="col1wrap">

<div class="col1pad">

<div class="col1">

<div id="maincol2">

<div class="maincol2-padding">

<?php if ($this->countModules('newsflash')) : ?>

<div id="newsflash-bar" class="png">

<jdoc:include type="modules" name="newsflash" style="newsflash" /> </div> <?php endif; ?><?php $mClasses = modulesClasses('case0'); if ($this->countModules('feature') or $this->countModules('feature2') or $this->countModules('feature3')) : ?>

<div id="featuremodules" class="spacer<?php echo $featuremod_width; ?> png"> <?php if ($this->countModules('feature')) : ?>

<div class="block <?php echo $mClasses['feature'][0]; ?> png">

<jdoc:include type="modules" name="feature" style="feature" /> </div>

<?php endif; ?> <?php if ($this->countModules('feature2')) : ?>

<div class="block <?php echo $mClasses['feature2'][0]; ?> png">

<jdoc:include type="modules" name="feature2" style="feature" /> </div>

<?php endif; ?>

<?php if ($this->countModules('feature3')) : ?>

<div class="block <?php echo $mClasses['feature3'][0]; ?> png">

<jdoc:include type="modules" name="feature3" style="feature" />

</div>

<?php endif; ?>

</div>

<?php endif; ?>

<div id="maincontent-tm" class="png"><div id="maincontent-tl" class="png"><div id="maincontent-tr" class="png"></div></div></div>

<div id="maincontent-m" class="png"><div id="maincontent-l" class="png"><div id="maincontent-r" class="png"><div id="maincontent-surround" class="png"><?php if ($this->countModules('breadcrumb')) : ?>

<div id="breadcrumbs">

<a href="<?php echo $this->baseurl; ?>" id="breadcrumbs-home" class="png"></a> <jdoc:include type="modules" name="breadcrumb" style="none" /> </div> <?php endif; ?> <?php $mClasses = modulesClasses('case1'); if ($this->countModules('user1') or $this->countModules('user2') or $this->countModules('user3')) : ?> <div id="mainmodules" class="spacer<?php echo $mainmod_width; ?>">

<?php if ($this->countModules('user1')) : ?>

<div class="block <?php echo $mClasses['user1'][0]; ?>">

<jdoc:include type="modules" name="user1" style="main" /> </div> <?php endif; ?> <?php if ($this->countModules('user2')) : ?> <div class="block <?php echo $mClasses['user2'][0]; ?>"> <jdoc:include type="modules" name="user2" style="main" /></div>

<?php endif; ?>

<?php if ($this->countModules('user3')) : ?>

<div class="block <?php echo $mClasses['user3'][0]; ?>">

<jdoc:include type="modules" name="user3" style="main" />

</div>

<?php endif; ?> </div> <?php endif; ?>

<div class="bodycontent">

<?php if ($this->countModules('inset2') and !$editmode) : ?>

<div id="inset-block-right"><div class="right-padding">

<jdoc:include type="modules" name="inset2" style="main" />

</div></div>

<?php endif; ?>

<?php if ($this->countModules('inset') and !$editmode) : ?> <div id="inset-block-left"><div class="left-padding">

<jdoc:include type="modules" name="inset" style="main" />

</div></div>

<?php endif; ?>

<div id="maincontent-block">

<jdoc:include type="message" />

<?php if (!($frontpage_component == 'hide' and JRequest::getVar('view') == 'frontpage')): ?>

<jdoc:include type="component" />

<?php endif; ?> </div>

</div><div class="clr"></div>

<?php $mClasses = modulesClasses('case2'); if ($this->countModules('user4') or $this->countModules('user5') or $this->countModules('user6')) : ?>

<div id="mainmodules2" class="spacer<?php echo $mainmod2_width; ?>"> <?php if ($this->countModules('user4')) : ?> <div class="block <?php echo $mClasses['user4'][0]; ?>"> <jdoc:include type="modules" name="user4" style="main" />

</div>

<?php endif; ?>

<?php if ($this->countModules('user5')) : ?>

<div class="block <?php echo $mClasses['user5'][0]; ?>">

<jdoc:include type="modules" name="user5" style="main" />

</div>

<?php endif; ?> <?php if ($this->countModules('user6')) : ?>

<div class="block <?php echo $mClasses['user6'][0]; ?>">

<jdoc:include type="modules" name="user6" style="main" />

</div>

<?php endif; ?>

</div>

<?php endif; ?>

</div></div></div></div>

<div id="maincontent-bm" class="png"><div id="maincontent-bl" class="png"><div id="maincontent-br" class="png"></div></div></div> </div> </div>

</div> </div>

</div> <!--End col1wrap -->

<!--Begin col2 -->

<?php if ($leftcolumn_width != 0) : ?>

<div class="col2">

<div id="leftcol">

<div id="leftcol-padding">

<?php if ($subnav and $splitmenu_col=="leftcol") : ?> <div class="sidenav-block"> <?php echo $subnav; ?> </div>

<?php endif; ?> <jdoc:include type="modules" name="left" style="sidebar" /> <?php if (!isset($active)) :?><jdoc:include type="modules" name="inactive" style="sidebar" /> <?php endif; ?>

</div>

</div>

</div>

<?php endif; ?>

<!---End col2 -->

<!--Begin col3 -->

<?php if ($rightcolumn_width != 0) : ?>

<div class="col3">

<div id="rightcol">

<div id="rightcol-padding">

<?php if ($subnav and $splitmenu_col=="rightcol") : ?> <div class="sidenav-block"> <?php echo $subnav; ?> </div> <?php endif; ?> <jdoc:include type="modules" name="right" style="sidebar" /></div>

</div> </div>

<?php endif; ?>

<!--End col3-->

</div>

</div>

</div>

</div>

<!--End Main Content Block-->

</div>

</div>

</div>

<!--Begin Bottom Main Modules-->

<?php $mClasses = modulesClasses('case3'); if ($this->countModules('user7') or $this->countModules('user8') or $this->countModules('user9')) : ?><div class="wrapper">

<div id="bottom-main">

<div id="mainmodules3" class="spacer<?php echo $mainmod3_width; ?>">

<?php if ($this->countModules('user7')) : ?>

<div class="block <?php echo $mClasses['user7'][0]; ?>">

<jdoc:include type="modules" name="user7" style="sidebar" />

</div>

<?php endif; ?>

<?php if ($this->countModules('user8')) : ?>

<div class="block <?php echo $mClasses['user8'][0]; ?>">

<jdoc:include type="modules" name="user8" style="sidebar" />

</div>

<?php endif; ?>

<?php if ($this->countModules('user9')) : ?>

<div class="block <?php echo $mClasses['user9'][0]; ?>">

<jdoc:include type="modules" name="user9" style="sidebar" />

</div>

<?php endif; ?>

</div>

</div>

</div>

<?php endif; ?>

<!--End Bottom Main Modules-->

</div></div>

</div>

<!--End Main Body-->

<!--Begin Bottom Section-->

<?php $mClasses = modulesClasses('case4'); if ($this->countModules('bottom') or $this->countModules('bottom2') or $this->countModules('bottom3')) : ?>

<div class="wrapper">

<div id="bottom-border-top" class="png"></div>

<div id="bottom" class="png"><div id="bottom2" class="png">

<div id="bottom3" class="png"><div id="bottom4" class="png">

<div id="mainmodules4" class="spacer<?php echo $mainmod4_width; ?>">

<?php if ($this->countModules('bottom')) : ?>

<div class="block <?php echo $mClasses['bottom'][0]; ?>">

<jdoc:include type="modules" name="bottom" style="bottom" />

</div>

<?php endif; ?>

<?php if ($this->countModules('bottom2')) : ?>

<div class="block <?php echo $mClasses['bottom2'][0]; ?>">

<jdoc:include type="modules" name="bottom2" style="bottom" />

</div>

<?php endif; ?>

<?php if ($this->countModules('bottom3')) : ?>

<div class="block <?php echo $mClasses['bottom3'][0]; ?>">

<jdoc:include type="modules" name="bottom3" style="bottom" />

</div>

<?php endif; ?>

</div>

</div></div></div></div>

<div id="bottom-border-bottom" class="png"></div>

</div>

<?php endif; ?>

<!--End Bottom Section-->

<!--Begin Footer-->

<div id="footer">

<div class="wrapper">

<?php if ($show_copyright == "true") : ?>

<div class="copyright-block">

<a href="http://www.rockettheme.com/" title="<?php echo JText::_('ROCKETTHEME_JTC'); ?>" id="rocket" class="png"></a>

<div id="copyright">

&copy; <?php echo JText::_('COPYRIGHT'); ?>

</div>

</div>

<?php else: ?>

<div class="footer-mod">

<jdoc:include type="modules" name="footer" style="xhtml" />

</div>

<?php endif; ?>

<?php if ($show_topbutton == "true") : ?>

<div id="top-button"><a href="#" id="top-scroll" class="top-button-desc">

<?php echo JText::_('TOP'); ?></a></div>

<?php endif; ?>

</div>

</div>

<!--End Footer-->

<?php if ($this->countModules('debug')) : ?>

<div id="debug-mod">

<jdoc:include type="modules" name="debug" style="none" />

</div>

<?php endif; ?>

</body>

</html>

Додаток Б

Структурна схема веб- сайту

Головна сторінка Веб- сайту

Настройки Веб-сайта

Страницы: 1, 2


© 2010 BANKS OF РЕФЕРАТ