- •Оглавление
- •Введение
- •1 Теоретическая часть
- •Обоснование потребности в web-сайте
- •1.2 Понятие web-сайта
- •1.3 Классификация web-сайтов
- •1.4.1 Html
- •1.4.2 Dhtml
- •1.4.3 Xml
- •1.5 Php
- •1.6 Web-сервер Apache
- •1.7 Обзор средств разработки web- сайтов
- •1.7.1 Html-реда́кторы
- •1.7.2 Cms(Система управления содержимым)
- •1.8 Выбор программного средства для разработки
- •1.8.1 Обоснование выбора cms (Content Management System)
- •1.8.2 Конфигурирование административной части сайта
- •1.9 Cms Joomla
- •1.9.1 Структура контента cms Joomla
- •1.9.2 Файловая структура cms Joomla
- •2 Проектная часть
- •2.1. Постановка задачи
- •2.2 Требования к разработке сайта
- •2.2.1 Требования к оформлению сайта
- •2.2.2 Требования к функционалу сайта
- •2.3 Описание целевой аудитории сайта
- •2.4 Разработка архитектуры сайта «Кафедра»
- •2.5 Выбор серверной части
- •2.6 Разработка административной части
- •2.6.1 Разработка клиентской части
- •2.7 Алгоритм работы сайта «Кафедра»
- •2.8 Подготовительный этап cms Joomla
- •2.9 Создание Разделов
- •2.9.1 Создание Категории
- •2.9.2 Создание объекта содержимого
- •2.9.3 Создание меню
- •2.9.4 Установка Шаблона сайта
- •2.9.5 Установка расширений
- •2.9.6 Модули и расширения
- •Заключение
- •Список используемой литературы
2.9.6 Модули и расширения
Все расширения для Joomla делятся на три группы: компоненты, модули и плагины.
Компонент в Joomla это своеобразная небольшая система управления контентом (содержимым), которая органично интегрируется в Joomla, расширяя ее функционал. У компонента имеется своя админ. панель, зачатую напоминающая по функционалу админпанель самой Joomla. Некоторые компоненты имеют возможность установки своих собственных расширений, которые устанавливаются именно из админ. панели данного компонента, а не из админ. панели Joomla.
Модуль. Содержимое модуля выводится не в области контента (центральная часть страницы), а где-нибудь рядом со статьей или содержимым компонента. Например, модуль меню, который может выводиться хоть на всех страницах сайта в не зависимости от их содержания, допустим, слева от области контента. В шаблоне, обязательно будут предусмотрены специальные места, в которых можно будет настроить отображение содержимого модулей.
Плагин — это определенный программный код, который будет выполняться только при возникновении определенного события. Например, таким событием может быть встреченная в тексте статьи команда вызова данного плагина, который в результате вставит в содержимое статьи что-то свое.
Заключение
В выпускной работе бакалавра в соответствие с требованиями, изложенными в пункте 2.2 и 2.2.1, было разработано web-приложение, представляющее собой сайт «Кафедра», который может предоставить информацию о преподавателей. Все требования по функциям web-приложения выполнены.
В качестве основной технологии для разработки использовалась одна из самых популярных и функциональных среди бесплатных CMSна сегодняшний день –Joomla!
Благодаря использованию различных серверных и пользовательских элементов управления, применению каскадных таблиц стилей и тем оформления, удалось создать привлекательный, функциональный, удобный и интуитивно-понятный пользовательский интерфейс, с возможностью быстрой модернизации в случае необходимости.
Список используемой литературы
Web Database Application with PHP and MySQL, 2nd Edition By David Lane, Hugh E. Williams. © O'Reilly, May 2004. ISBN: 0-596-00543-1.
CMS List. Обзор cms. Сайт о системах управления сайтом. http://www.cmslist.ru
Joomla! CMS по-русски. http://joomlaportal.ru
Материал из Википедии — свободной энциклопедии о системах управления сайтом. http://ru.wikipedia.org/wiki/CMS
Content management system http://www.brutto.ru/informacija/uznat-bolshe/content-management-system
Joomla-инструменты. http://docs.joom.ru/!;C651=0O:Categories
CMS обзор: CMS, движок сайта, система управления сайтом, mambo, php nuke, netcat, phpbb, invision power board, vbulletin. http://cmsobzor.ru/news.php
Приложение А
Код шаблона страницы сайта
<?php
/**
* @copyright Copyright (C) 2008 - 2009 JoomVision.com. All rights reserved.
* @license GNU/GPL, see LICENSE.php
* Joomla! is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See COPYRIGHT.php for copyright notices and details.
*/
// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
include_once (dirname(__FILE__).DS.'libs'.DS.'jv_tools.php');
include_once (dirname(__FILE__).DS.'jv_menus'.DS.'jv.common.php');
include_once (dirname(__FILE__).DS.'libs'.DS.'jv_vars.php');
unset($this->_scripts[$this->baseurl . '/media/system/js/caption.js']);
?>
<!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 JHTML::_('behavior.mootools'); ?>
<link rel="stylesheet" href="<?php echo $jvTools->baseurl() ; ?>templates/system/css/system.css" type="text/css" />
<link rel="stylesheet" href="<?php echo $jvTools->baseurl() ; ?>templates/system/css/general.css" type="text/css" />
<?php if($gzip == "true") : ?>
<link rel="stylesheet" href="<?php echo $jvTools->templateurl(); ?>css/template.css.php" type="text/css" />
<?php else: ?>
<link rel="stylesheet" href="<?php echo $jvTools->templateurl(); ?>css/default.css" type="text/css" />
<link rel="stylesheet" href="<?php echo $jvTools->templateurl(); ?>css/template.css" type="text/css" />
<?php if($jvrtl == 'rtl') : ?>
<link rel="stylesheet" href="<?php echo $jvTools->templateurl(); ?>css/template_rtl.css" type="text/css" />
<link rel="stylesheet" href="<?php echo $jvTools->templateurl(); ?>css/typo_rtl.css" type="text/css" />
<?php else : ?>
<link rel="stylesheet" href="<?php echo $jvTools->templateurl(); ?>css/typo.css" type="text/css" />
<?php endif; ?>
<?php endif; ?>
<link href="<?php echo $jvTools->parse_jvcolor_cookie($jvcolorstyle); ?>" rel="stylesheet" type="text/css" />
<script type="text/javascript">
var baseurl = "<?php echo $jvTools->baseurl() ; ?>";
var jvpathcolor = '<?php echo $jvTools->templateurl(); ?>css/colors/';
var tmplurl = '<?php echo $jvTools->templateurl();?>';
var CurrentFontSize = parseInt('<?php echo $jvTools->getParam('jv_font');?>');
</script>
<script type="text/javascript" src="<?php echo $jvTools->templateurl() ?>js/jv.script.js"></script>
<!--[if lte IE 6]>
<link rel="stylesheet" href="<?php echo $jvTools->templateurl(); ?>css/ie6.css" type="text/css" />
<script type="text/javascript" src="<?php echo $jvTools->templateurl() ?>js/ie_png.js"></script>
<script type="text/javascript">
window.addEvent ('load', function() {
ie_png.fix('.png');
});
</script>
<![endif]-->
<!--[if lte IE 7]>
<link rel="stylesheet" href="<?php echo $jvTools->templateurl(); ?>css/ie7.css" type="text/css" />
<![endif]-->
</head>
<body id="bd" class="fs<?php echo $jvTools->getParam('jv_font'); ?> <?php echo $jvTools->getParam('jv_display'); ?> <?php echo $jvTools->getParam('jv_display_style'); ?> <?php echo $jvrtl; ?>">
<div id="jv-wrapper">
<div id="jv-wrapper-inner">
<div id="jv-header" class="clearfix">
<div class="jv-wrapper">
<div id="jv-header-inner">
<?php if($this->countModules('menu_top')) : ?>
<div id="jv-top" >
<jdoc:include type="modules" name="menu_top" />
</div>
<?php endif; ?>
<div id="jv-mainmenu">
<div class="jv-mainmenu-l"></div>
<div id="jv-mainmenu-inner" >
<?php $menu->show(); ?>
</div>
<div class="jv-mainmenu-r"></div>
</div>
<div id="jv-logo" class="clearfix">
<h1 id="logo"><a class="png" href="<?php echo $jvTools->baseurl() ; ?>" title="<?php echo $jvTools->sitename() ; ?>">
<span><?php echo $jvTools->sitename() ; ?></span></a>
</h1>
</div>
</div>
</div>
</div>
<?php if($this->countModules('slideshow')) : ?>
<div id="jv-slideshow" class="clearfix">
<div id="jv-slideshow2">
<div class="jv-wrapper">
<div id="jv-slideshow-inner">
<jdoc:include type="modules" name="slideshow" />
</div>
</div>
</div>
</div>
<?php endif; ?>
<?php
$spotlight = array ('user1','user2','user3','user4');
$consl = $jvTools->calSpotlight($spotlight,$jvTools->isOP()?100:100,'%');
if( $consl) :
?>
<div id="jv-userwrap3" class="clearfix">
<div class="jv-wrapper">
<div id="jv-userwrap3-inner">
<?php if($this->countModules('user1')) : ?>
<div id="jv-user1" class="jv-user jv-box<?php echo $consl['user1']['class']; ?>" style="width: <?php echo $consl['user1']['width']; ?>;">
<div class="jv-box-inside">
<jdoc:include type="modules" name="user1" style="jvrounded" />
</div>
</div>
<?php endif; ?>
<?php if($this->countModules('user2')) : ?>
<div id="jv-user2" class="jv-user jv-box<?php echo $consl['user2']['class']; ?>" style="width: <?php echo $consl['user2']['width']; ?>;">
<div class="jv-box-inside">
<jdoc:include type="modules" name="user2" style="jvrounded" />
</div>
</div>
<?php endif; ?>
<?php if($this->countModules('user3')) : ?>
<div id="jv-user3" class="jv-user jv-box<?php echo $consl['user3']['class']; ?>" style="width: <?php echo $consl['user3']['width']; ?>;">
<div class="jv-box-inside">
<jdoc:include type="modules" name="user3" style="jvrounded" />
</div>
</div>
<?php endif; ?>
<?php if($this->countModules('user4')) : ?>
<div id="jv-user4" class="jv-user jv-box<?php echo $consl['user4']['class']; ?>" style="width: <?php echo $consl['user4']['width']; ?>;">
<div class="jv-box-inside">
<jdoc:include type="modules" name="user4" style="jvrounded" />
</div>
</div>
<?php endif; ?>
</div>
</div>
</div>
<?php endif; ?>
<!-- MAINBODY -->
<div id="jv-mainbody" class="clearfix">
<div class="jv-wrapper">
<div id="jv-mainbody-inner">
<!-- CONTAINER -->
<div id="jv-container<?php echo $jv_width;?>" class="clearfix">
<?php if($this->countModules('Left')) : ?>
<div id="jv-left">
<div id="jv-left-inner">
<jdoc:include type="modules" name="left" style="jvrounded" />
</div>
</div>
<?php endif; ?>
<div id="jv-content">
<?php if($this->countModules('breadcrumb')) : ?>
<div id="jv-breadcrumbs">
<strong class="icon-home"><?php echo JText::_('YOU ARE HERE')?></strong> <jdoc:include type="modules" name="breadcrumb" />
</div>
<?php endif; ?>
<div id="jv-maincontent" class="clearfix">
<div class="jv-tc">
<div class="jv-tl"></div>
<div class="jv-tr"></div>
</div>
<div class="jv-c clearfix">
<div class="jv-c2">
<div id="jv-maincontent-inner">
<?php if($this->countModules('user5')) : ?>
<div id="jv-user5" class="clearfix">
<jdoc:include type="modules" name="user5" style="jvxhtml" />
</div>
<?php endif; ?>
<div id="jv-component" class="clearfix">
<jdoc:include type="message" />
<jdoc:include type="component" />
</div><div style="display:none;"><a href="http://www.relady.ru/">Women's journal ReLady</a></div>
<?php if($this->countModules('user6')) : ?>
<div id="jv-user6" class="clearfix">
<jdoc:include type="modules" name="user6" style="jvxhtml" />
</div>
<?php endif; ?>
<?php
$spotlight = array ('col1','col2','col3');
$botsl1 = $jvTools->calSpotlight($spotlight,$jvTools->isOP()?100:99,'%');
if( $botsl1 ) :
?>
<div id="jv-col" class="clearfix">
<?php if($this->countModules('col1')) : ?>
<div id="jv-col1" class="jv-user jv-box<?php echo $botsl1['col1']['class']; ?>" style="width: <?php echo $botsl1['col1']['width']; ?>;">
<jdoc:include type="modules" name="col1" style="jvxhtml" />
</div>
<?php endif; ?>
<?php if($this->countModules('col2')) : ?>
<div id="jv-col2" class="jv-user jv-box<?php echo $botsl1['col2']['class']; ?>" style="width: <?php echo $botsl1['col2']['width']; ?>;">
<jdoc:include type="modules" name="col2" style="jvxhtml" />
</div>
<?php endif; ?>
<?php if($this->countModules('col3')) : ?>
<div id="jv-col3" class="jv-user jv-box<?php echo $botsl1['col3']['class']; ?>" style="width: <?php echo $botsl1['col3']['width']; ?>;">
<jdoc:include type="modules" name="col3" style="jvxhtml" />
</div>
<?php endif; ?>
</div>
<?php endif; ?>
</div>
</div>
</div>
<div class="jv-bc clearfix">
<div class="jv-bl"></div>
<div class="jv-br"></div>
</div>
</div>
</div>
</div>
<!-- END CONTAINER -->
</div>
</div>
</div>
<!-- END MAINBODY -->
<?php
$spotlight = array ('user7','user8','user9','user10');
$botsl2 = $jvTools->calSpotlight($spotlight,$jvTools->isOP()?100:100, '%');
if( $botsl2 ) :
?>
<div id="jv-userwrap4" class="clearfix">
<div class="jv-wrapper">
<div id="jv-userwrap4-inner">
<?php if($this->countModules('user7')): ?>
<div id="jv-user7" class="jv-user jv-box<?php echo $botsl2['user7']['class']; ?>" style="width:<?php echo $botsl2['user7']['width']; ?>;">
<div class="jv-box-inside">
<jdoc:include type="modules" name="user7" style="jvrounded" />
</div>
</div>
<?php endif; ?>
<?php if($this->countModules('user8')) : ?>
<div id="jv-user8" class="jv-user jv-box<?php echo $botsl2['user8']['class']; ?>" style="width:<?php echo $botsl2['user8']['width']; ?>;">
<div class="jv-box-inside">
<jdoc:include type="modules" name="user8" style="jvrounded" />
</div>
</div>
<?php endif; ?>
<?php if($this->countModules('user9')) : ?>
<div id="jv-user9" class="jv-user jv-box<?php echo $botsl2['user9']['class']; ?>" style="width:<?php echo $botsl2['user9']['width']; ?>;">
<div class="jv-box-inside">
<jdoc:include type="modules" name="user9" style="jvrounded" />
</div>
</div>
<?php endif; ?>
<?php if($this->countModules('user10')) : ?>
<div id="jv-user10" class="jv-user jv-box<?php echo $botsl2['user10']['class']; ?>" style="width:<?php echo $botsl2['user10']['width']; ?>;">
<div class="jv-box-inside">
<jdoc:include type="modules" name="user10" style="jvrounded" />
</div>
</div>
<?php endif; ?>
</div>
</div>
</div>
<?php endif; ?>
<?php
$spotlight = array ('user11','user12','user13','user14');
$botsl3 = $jvTools->calSpotlight ($spotlight,$jvTools->isOP()?100:100,'%');
if( $botsl3 ) :
?>
<div id="jv-userwrap5">
<div class="jv-wrapper">
<div id="jv-userwrap-inner">
<div class="jv-tc">
<div class="jv-tl"></div>
<div class="jv-tr"></div>
</div>
<div class="jv-c clearfix">
<div class="jv-c2">
<?php if($this->countModules('user11')) : ?>
<div id="jv-user11" class="jv-user jv-box<?php echo $botsl3['user11']['class']; ?>" style="width: <?php echo $botsl3['user11']['width']; ?>;">
<div class="jv-box-inside">
<jdoc:include type="modules" name="user11" style="jvxhtml" />
</div>
</div>
<?php endif; ?>
<?php if($this->countModules('user12')) : ?>
<div id="jv-user12" class="jv-user jv-box<?php echo $botsl3['user12']['class']; ?>" style="width: <?php echo $botsl3['user12']['width']; ?>;">
<div class="jv-box-inside">
<jdoc:include type="modules" name="user12" style="jvxhtml" />
</div>
</div>
<?php endif; ?>
<?php if($this->countModules('user13')) : ?>
<div id="jv-user13" class="jv-user jv-box<?php echo $botsl3['user13']['class']; ?>" style="width: <?php echo $botsl3['user13']['width']; ?>;">
<div class="jv-box-inside">
<jdoc:include type="modules" name="user13" style="jvxhtml" />
</div>
</div>
<?php endif; ?>
<?php if($this->countModules('user14')) : ?>
<div id="jv-user14" class="jv-user " style="width: <?php echo $botsl3['user14']['width']; ?>;">
<div class="jv-box-inside">
<jdoc:include type="modules" name="user14" style="jvxhtml" />
</div>
</div>
<?php endif; ?>
</div>
</div>
<div class="jv-bc clearfix">
<div class="jv-bl"></div>
<div class="jv-br"></div>
</div>
</div>
</div>
</div>
<?php endif; ?>
<div id="jv-bottom" class="clearfix">
<div id="jv-bottom-inner">
<div id="jv-userwrap7" class="png">
<div class="jv-wrapper">
<div id="jv-copyright">
<div id="jv-copyright-inner">
<?php if($jvTools->getParam('jv_footer')) : ?>
<?php echo $jvTools->getParam('jv_footer_text'); ?>
<?php else : ?>
<?php endif; ?>
</div>
</div>
<?php if($this->countModules('footer')) : ?>
<div id="jv-footer">
<div id="jv-footer-inner"><jdoc:include type="modules" name="footer" /></div>
</div>
<?php endif; ?>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
Главная страница Web- сайта
Панель Администрирования.
1 По данным регионального сетевого информационного центра (RU-Center), http://www.nic.ru
2 По материалам социологического исследования Romir, http://www.rmh.ru/news/res_results/333.html