Модуль ежедневник «CMS Joomla»

Автор работы: Пользователь скрыл имя, 29 Мая 2013 в 23:31, курсовая работа

Краткое описание

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

Содержание

ВВЕДЕНИЕ 2
ГЛАВА 1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ 3
1.1. Обзор CMS – систем 4
1.2. Модуль CMS: особенности создание 4
1.3. Выбор средств реализации 5
1.3.1. XML 5
1.3.2. PHP 5
1.3.3. Adobe Dreamweaver CS6 5
ГЛАВА 2. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ МОДУЛЯ «ЕЖЕДНЕВНИК» 6
2.1. Структура модуля «Ежедневник» 6
2.2. Файл с настройками модуля 7
2.3. Логика модуля 7
ГЛАВА 3. ДЕМОНСТРАЦИЯ МОДУЛЯ «ЕЖЕДНЕВНИК» 10
3.1 Установка и настройка модуля 10
3.2 Демонстрация работы модуля 12
ЗАКЛЮЧЕНИЕ 14
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ 15
Приложение А 16
Листинг 1. (v1.css) 16
Листинг 2. (default.php) 17
Листинг 3 ( mod_jalendar.xml) 18

Прикрепленные файлы: 1 файл

Курсовая работа.doc

— 411.00 Кб (Скачать документ)

 

Министерство  образования Республики Беларусь

Учреждение  образования «Гродненский государственный университет имени Янки Купалы»

Факультет математики и информатики

 

Кафедра программного обеспечения  интеллектуальных и компьютерных систем

 

Курсовая  работа

 

Модуль ежедневник «CMS Joomla» 

 

 

Выполнил: студент 3 курса, 8 группы, специальность: «Программное обеспечение информационных технологий»

Пометько Александр  Викторович

 

Научный руководитель: старший преподаватель Гуща Юлия Вальдемаровна

 

Курсовая работа допущена к защите  

«____»____________2011 г.

 

 

 

Курсовая работа защищена

«_____»___________2011 г.

Оценка_________________

 

 

 

 

 

 

 

 

 

 

Гродно 2013

 

СОДЕРЖАНИЕ

 

 

 

 

 

 

 

 

 

 

 

ВВЕДЕНИЕ

 

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

Постепенно функции сайтов расширялись, возникала необходимость регулярно (по несколько раз в день или даже чаще) обновлять информацию на страницах сайтов и стало ясно, что этот процесс желательно автоматизировать. Для этого и были созданы первые CMS ( Content management system ) – системы управления содержимым или системы управления сайтом

СMS предоставляет ряд функций:

1.Предоставление инструментов  для создания содержимого, организация  совместной работы над содержимым.

2.Управление содержимым: хранение, контроль версий, соблюдение режима доступа, управление потоком документов и т. п.

3.Публикация содержимого.

4.Представление информации в  виде, удобном для навигации, поиска.

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

В мире существует огромное множество CMS для самых разных целей, самого разного качества, самой разной перспективы, стоимости, распространённости и так далее. Одними из самых распространённых являются Joomla, Drupal, Wordpress, vBulletin, TYPO3.[1]

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

Целью курсовой работы является - разработка модуля «Ежедневник» для CMS Joomla.

Порядок выполнения работы:

1. Обзор материалов, касающихся систем и технологий для реализации.

2. Моделирование предметной области и обоснование выбранных средств разработки проекта.

3. Программная реализация проекта.

 

 

ГЛАВА 1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ

  • 1.1. Обзор CMS – систем

Рис. 1.1. Процентное соотношение использования различных CMS

 

Joomla что-то среднее между обширными возможностями ориентированного на разработчиков Drupal и простотой WordPress, но с более широкими возможностями для разработки. Как и любая CMS – система, Joomla имеет свои преимущества и недостатки:

Преимущества:

1. Поддержка протоколов контроля  доступа (OpenID, LDAP, Gmail.com);

2. Наличие удобной админ-панели  с широким набором функций:  шаблоны, стили, управление меню  и так далее;

3. Простой процесс установки  для неопытных пользователей;

Недостатки:

1. Система довольно поверхностна  и слаба, несмотря на всю универсальность;

2. Больше платных плагинов и  тем в сравнении с WordPress. Будьте  готовы платить; 

Joomla – это лучшее решение: CMS с расширенными функциями и возможностями. Она обеспечивает более богатую и гибкую структуру веб-сайта, чем WordPress. Важной особенностью системы является минимальный набор инструментов при начальной установке, который дополняется по мере необходимости различного рода модулями, плагинами, компонентами. Это снижает загромождение административной панели ненужными элементами, а также снижает нагрузку на сервер и экономит место на хостинге. Такой подход наиболее прост и понятен, как в использовании, так и в понимании.

  • 1.2. Модуль CMS: особенности создание

 

Для разработки модулей Joomla необходимы знания основ объектно-ориентированного программирования в PHP, HTML, CSS, XML.

Простейший модуль Joomla как минимум должен иметь два файла: основной php-файл (который содержит исполняемый код), xml-файл, содержащий все атрибуты и настройки модуля.

Существует определённая структура файлов и каталогов модуля:

  • CSS - находятся таблицы стилей для данного модуля, формата css.
  • IMG (Image) - находятся изображения, преимущественно форматов png и ico. За счёт своего минимального размера и оптимального качества.
  • TMPL (Template) – хранится шаблон отображающий данные.
  • В корневом каталоге должны находиться как минимум 2 файла форматов php и xml:
    • xml - установочный файл для модуля, через него в админ панели модуля будут настраиваться параметры для модуля (размер, фон и т.п.).
    • php - входная точка для запуска нашего модуля, этот файл вызывается ядром Joomla, а он в свою очередь подключает шаблон и отображает его.

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

Joomla Framework дает нам широкий спектр возможностей - можно узнать как обратиться к важным глобальным объектам внутри расширения.

Гибкость модуля достигается за счёт его настройки. Фактически чем их больше, тем более гибким и универсальным можно считать модуль.

Без использование базы данных в модулях – полезность модуля сводиться к нулю.[2]

  • 1.3. Выбор средств реализации

Для работы с PHP и XML, была выбрана среда Adobe Dreamweaver CS6. Для тестирования и запуска модуля нам понадобиться сама Joomla(v1.5), и сервер (например Denwer).

  • 1.3.1. XML

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

  • 1.3.2. PHP

Важнейшую роль в работе модуля имеет скрипт, написанный на серверном языке программирования: PHP. Он отвечает за логику модуля, его действия, является входной точкой запуска модуля. Этот файл вызывается ядром Joomla.

  • 1.3.3. Adobe Dreamweaver CS6

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ГЛАВА 2. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ МОДУЛЯ «ЕЖЕДНЕВНИК»

  • 2.1. Структура модуля «Ежедневник»

Общая структура модуля представлена на рисунке 2.1.

Рис. 2.1. Структура модуля «Ежедневник»

  • CSS – содержит в себе файл с схемой оформления модуля: v1.css (см. листинг 1).
  • IMG - содержит изображения необходимые для работы модуля:
  • r.png – изображение стрелки вправо .
  • r2.png – изображение двойной стрелки вправо .
  • l.png - изображение стрелки влево .
  • l2.png - изображение двойной стрелки влево .   
  • TMPL – содержит шаблон отображения данных.
  • mod_jalendar.xml - установочный файл для модуля, через него в админ панели модуля будут настраиваться параметры для модуля.
  • mod_jalendar.php – вся логика модуля.
  • index.html - пустой файл который отобразит чистую страницу при прямом обращении к директории.
  • helper.php – вспомогательный класс, отвечающий за оформление и расположение числа, месяца, года, события.

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

  • 2.2. Файл с настройками модуля

Файл XML указывает Joomla как и куда устанавливать модуль, также в нём хранятся следующие настройки:

1.Указана информация о  разработчике.

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

3. Прописаны основные  и дополнительные параметры модуля.

Исходный код XML файла (см. листинг 2).

  • 2.3. Логика модуля

 

Логика модуля написана на языке  программирования PHP.

Ниже  представлен исходный код логики модуля:

<?php

if (!defined ('_JEXEC'))

{

 

define( '_JEXEC', 1 );

define( 'JPATH_BASE', dirname(__FILE__).'/../..' );

define( 'DS', DIRECTORY_SEPARATOR );

require_once('../../configuration.php' );

require_once('../../includes/defines.php');

require_once('../../includes/framework.php');

 

$ajaxed=1;

$mainframe =& JFactory::getApplication('site');

$mainframe->initialise();

$language =& JFactory::getLanguage();

$language->load('mod_jalendar');

 

$document = &JFactory::getDocument();

 

$mid = (int) JRequest::getVar('mid');

 

$query = "SELECT params FROM #__modules WHERE id = $mid;";

 

$database = JFactory::getDBO();

$database->setQuery($query);

$params = $database->loadResult();

$params = new JParameter ($params);

 

}

 

 

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

require_once( dirname(__FILE__).DS.'helper.php' );

 

$rooturi=parse_url(JURI::root());

$rooturi=$rooturi['scheme'].'://'.$rooturi['host'].'/';

 

$curmonth=(int) JRequest::getVar('curmonth',($params->get("default_month")?$params->get("default_month"):date('n')));

$curyear=(int) JRequest::getVar('curyear',($params->get("default_year")?$params->get("default_year"):date('Y')));

 

$dayofmonths=array(31,(!($curyear%400)?29:(!($curyear%100)?28:(!($curyear%4)?29:28)) ), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);

 

if (empty($mid)) $mid=$module->id;

 

$calen = modJalendar::getCal($curmonth,$curyear,$params,$dayofmonths);

if (file_exists(dirname(__FILE__).DS.'../../administrator/components/com_jalendar/config.php') && $params->get( "all_links" )==1)

{

 

require_once(dirname(__FILE__).DS.'../../administrator/components/com_jalendar/config.php');

 

$config=new JalendarConfig();

if ($config->a_type==0 || $config->a_type==2) $links = modJalendar::DayLink($curmonth,$curyear,$config);

if ($config->a_type==1 || $config->a_type==2) $a_links = modJalendar::DayLinkC($curmonth,$curyear);

$mergelinks=array_merge((array) $a_links,(array)$links);

}

$cont = modJalendar::getContent($calen,$params,$curmonth,$curyear,$mergelinks,$mid,$ajaxed,$dayofmonths,$rooturi);

 

if (!($params->get("CSSlist"))) $css=modJalendar::getCSS($params);

 

require( JModuleHelper::getLayoutPath( 'mod_jalendar' ) );

 

?> 

ГЛАВА 3. ДЕМОНСТРАЦИЯ МОДУЛЯ «ЕЖЕДНЕВНИК»

  • 3.1 Установка и настройка модуля

 

 1. Авторизоваться в панели администрирования.

  2. Выбирать меню пункт "Расширения" -> "Установить/Удалить".

  3. Открыть раздел "Установить".

  4. В пункте "Загрузить файл пакета" нажимаем кнопку "Обзор".

  5. Выбрать архив с модулем на локальной машине.

  6. Нажать кнопку "Загрузить файл & Установить".

Информация о работе Модуль ежедневник «CMS Joomla»