Password
    
 К титульной странице  |  Форум  |  О проекте  |  Поиск товаров  |  Сделать стартовой  |  Добавить в Избранное   
Авторизация
Забыли пароль?
Регистрация 
 
Программирование
Безопасность
Демосцена
Игры
WEB-мастерская
Программное обеспечение
Аппаратное обеспечение

Webshop Search

Последние материалы
  The Chronicles of Riddick: Escape from Butcher bay

  Что такое хорошо и что такое плохо, или FAQ по LCD-мониторам

  Организация удаленного доступа

  Инсталляция программного обеспечения используя GPO

  Smarty в веб-разработке

  BioShock или кафе разбитых надежд...



Последние новости
  Конференция Разработчиков Видеоигр, 1979

  Более шустрый и динамичный Mail.lv

  Интернет магазин даром

  Price-Less.eu совсем скоро будет искать на латышском

  Запущена первая публичная бета версия поисковой системы товаров Price-Less.eu

  В Google создали инструмент для борьбы с детской порнографией



Charitable advertising
Њл ­г¦¤ Ґ¬бп ў ў иҐ© Ї®¬®йЁ!



Ziedot.lv

Penn State Child Life Program



WEB-мастерская
Внедряем CMS
  
Автор: Белый
Источник:www.itworks.lv
Опубликовано: [2006-11-10 00:01]
CMS (Content Management System) – достаточно широко известная технология управления веб-ресурсами. Она позволяет людям, не являющимся специалистами в области веб-дизайна и разработки веб-приложений, достаточно быстро и эффективно управлять содержимым веб-ресурса. Ни один достаточно серьезный проект не обходится без системы управления содержанием.

Существует множество уже готовых к употреблению продуктов, среди них, как платный и широко рекламируемый Битрикс, так и Mamba Server с открытым кодом. В этой статье я расскажу об особенностях внедрения другого, на мой взгляд, достаточно хорошего, продукта - Exponent CMS Server. Целью этого документа является поверхностное ознакомление читателя с этим продуктом. Детальное описание всех функций доступно на сайте разработчика:

  • http://www.exponentcms.org
  • Краткое описание

    Как и Mamba Server, Exponent CMS Server является проектом с открытым кодом. Дистрибьютивы доступны как под Х, так и под Win32 системы. Последняя доступная версия - 0.96.5.
    Разработчик заявляет, что продукт может работать как под управлением Apache, так и под управлением IIS.
    Сервер работает в связке IIS (Apache) + PHP + MySQL. К сожалению связка IIS + PHP 5 (PHP 4) + MySQL 5 (MySQL 4) так и не захотела работать, поэтому пришлось использовать пакет «все в одном» xampp, который инсталлирует тот же php5 и MySQL 5, но в связке с Apache.

    Xampp можно заполучить вот тут, а для работы Exponent вполне достаточно php и MySQL. Остальные компоненты инсталлировать необязательно.

    Инсталляция Exponent CMS

    Инсталляция Exponent проходит быстро и достаточно безболезненно (опять-таки, в случае с IIS, Exponent упорно не желал устанавливать соединение с базой данных).

    В папку htdocs (если xampp инсталлировался по-умолчанию) копируйте разархивированный дистрибьютив, после этого, используя phpMyAdmin, создаете базу для Exponent, а также пользователя, который имеет право полного доступа к этой базе. После всех этих операций необходимо отправиться по ссылке http://yourserver/exponent_installation_folder/ и пройти небольшой мастер установки.

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

    Жмите на Set Language
    Exponent installation

    Т.к. инсталляция новая, то жмите на New Installation
    Exponent installation

    Мастер установки проверяет, соответствуют ли установленные компоненты требованиям. Жмите на Configure Database Settings
    Exponent installation

    Введите параметры соединения с базой MySQL (базу необходимо создать заранее), укажите, инсталлировать ли примеры (лучше инсталлировать), после чего жмите Test Settings.
    Exponent installation
    Exponent installation

    Итак, соединение с базой установлено, таблицы занесены в базу, следующим шагом будет создание учетной записи администратора. Жмите на Create an Administrator
    Exponent installation

    Введите всю необходимую информацию (адрес электронной почты необходим для восстановления пароля), жмите на Continue
    Exponent installation

    Порадуйтесь удачному завершению и нажмите на Go to Website

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

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

    Схема работы Exponent CMS и создание собственных тем

    Exponent работает, основываясь на четком разделении дизайна и данных. Данные хранятся в базе данных, дизайн же основывается на темах. Примеры тем расположены в exponent hemes. Основными файлами является index.php, style.css и class.php, которые и задают структуру страницы и цветовую схему сайта.
    Для того чтобы не заморачиваться с созданием структуры темы заново, рекомендую просто скопировать готовую тему и переименовать папку.

    После этого, откройте скопированную папку и начните редактировать файл class.php. Этот файл ответственен за доступность созданной темы Exponent-у.

    <?php
    
    ##################################################
    #
    # Copyright (c) 2004-2006 OIC Group, Inc.
    # Written and Designed by James Hunt
    #
    # This file is part of Exponent
    #
    # Exponent is free software; you can redistribute
    # it and/or modify it under the terms of the GNU
    # General Public License as published by the Free
    # Software Foundation; either version 2 of the
    # License, or (at your option) any later version.
    #
    # GPL: http://www.gnu.org/licenses/gpl.txt
    #
    ##################################################
    
    if (class_exists('thundertheme')) return;
    
    class thundertheme {
    	function name() { return "Thunder theme"; }
    	function author() { return "Igors Belijs"; }
    	function description() { return "Clean theme for ecology site"; }
    }
    
    ?>
    

    Смените выделенные значения на необходимые вам.

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

    Во внимание следует принимать то, что все, что создано в index.php - является статичным, соответственно не имеет возможности быть измененным в администраторском интерфейсе. Еще один момент: если вы не используете css, то самое время начинать это делать.

    Названия файлов:
    Index.php - файл шаблона
    Style.css - файл стилей (можно указать другой в index.php)

    Итак, открывайте с помощью любимого редактора ваш index.html и начинайте править.

    Что вы имеете в начале:

    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <link href="style.css" rel="stylesheet" type="text/css">
    </head>
    
    <body>
    <table height="100%"  border="0" cellpadding="0" cellspacing="0">
      <tr>
        <td width="50%" rowspan="6" class="side"> </td>
        <td colspan="2"><img src="images/750_crop_4.jpg" width="750" height="180"></td>
        <td width="50%" rowspan="6" class="side"> </td>
      </tr>
      <tr>
        <td colspan="2" class="menu">Welcome About us Contact Information Guestbook</td>
      </tr>
      <tr>
        <td colspan="2" class="signature">Line goes here Line goes here Line goes here Line goes here Line 
    goes here Line goes here Line goes here Line goes here </td>
      </tr>
      <tr>
        <td width="182" class="categories"><p>Everyone wants to understand art</p>
          <p>My critics are men</p>
          <p>Categories go here </p>
        <p>The excess of what we have seen</p></td>
        <td width="575" class="table"><p>Art is notoriously hard to talk about. It seems, even when   made of 
    words in the literary arts, all the more so when made of pigment, sound,   stone or 
    whatever in the non-literary ones, 
    to exist in a world of its own,   beyond the reach of discourse. It not only is hard to talk about it; 
    it seems   unnecessary to do so. It speaks, as we say, for itself: a poem must not mean but   be; if you have 
    to ask what jazz is you are never going to get to know.  
          <p>Artists feel this especially. Most of them regard what is   written and said 
    about their work, or work they admire as at best 
    beside the   point, at worst a distraction from it. "Everyone wants to understand art,"   
    Picasso wrote, "why not try to understand the song of a bird? . . . 
    People who   try to explain pictures are usually barking up the wrong tree 
    </td>
      </tr>
      
      <tr>
        <td colspan="2" class="signature">Signature goes here Signature goes here 
    Signature goes here Signature goes here 
    Signature goes here Signature goes here </td>
      </tr>
      <tr>
        <td colspan="2" class="table"> </td>
      </tr>
    </table>
    </body>
    </html>
    

    В графическом исполнении это выглядит вот так:
    Exponent

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

    <?php
    
    ##################################################
    #
    # Copyright (c) 2004-2006 OIC Group, Inc.
    # Written and Designed by James Hunt
    #
    # This file is part of Exponent
    #
    # Exponent is free software; you can redistribute
    # it and/or modify it under the terms of the GNU
    # General Public License as published by the Free
    # Software Foundation; either version 2 of the
    # License, or (at your option) any later version.
    #
    # GPL: http://www.gnu.org/licenses/gpl.txt
    #
    ##################################################
    
    if (!defined('EXPONENT')) exit('');
    
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    	<head>
    		<?php echo exponent_theme_headerInfo($section); ?>
    		<link rel="stylesheet" title="default" href="<?php echo THEME_RELATIVE; ?>style.css" />
    	</head>
    	
    	<body onLoad="exponentJSinitialize();" topmargin="0" leftmargin="0" bottommargin="0" rightmargin="0">
    	<?php exponent_theme_sourceSelectorInfo(); ?>
    	<table height="100%"  border="0" cellpadding="0" cellspacing="0">
      <tr>
        <td width="50%" rowspan="6"> </td>
        <td height="180" colspan="2" valign="top"> <img src="<?php echo THEME_RELATIVE;?>
    images/750_crop_4.jpg" width="750" height="180"> </td>
        <td width="50%" rowspan="6" valign="top"> </td>
      </tr>
      <tr>
        <td colspan="2" valign="top"> <?php exponent_theme_showModule("navigationmodule","Top Nav"); ? > </td>
      </tr>
      <tr>
        <td colspan="2" valign="top"> </td>
      </tr>
      <tr>
        <td width="182" valign="top">
    				<?php
    			exponent_theme_showModule("previewmodule","Default");
    			exponent_theme_showModule("navigationmodule","Children Only");
    			exponent_theme_showSectionalModule("containermodule","Narrow","","@sidebar");
    			?>	</td>
        <td width="575" valign="top"> <?php exponent_theme_main(); ?> </td>
      </tr>
      
      <tr>
        <td colspan="2" valign="top"> <?php exponent_theme_showModule("textmodule","Wide","","copyright"); ?> </td>
      </tr>
      <tr>
        <td colspan="2" valign="top"> </td>
      </tr>
    </table>
    </body>
    </html>
    

    Так это выглядит после чистки. Видны участки, в которые вы вставили статичные модули, чтобы пользователь не мог их изменить.
    Exponent

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

    Пример css файла приводить не буду, т.к. это займет излишний объем.

    Итак, что должно получиться по завершении всех этих операций:

    Class.php - файл, использующийся exponent-ом для распознания темы.
    Index.php - шаблон.
    Style.css - набор стилей для созданной темы.
    Графику рекомендую складывать в папку images.

    Добавление модулей, настройка навигации

    Теперь вы можете заходить в интерфейс администратора (http://yourserver/exponent_installation_folder/login.php) и начинать править внешний вид вашего сайта.

    Консоль администратора:
    Exponent Admin Console

    Все достаточно наглядно:
    Управление пользователями и группами - позволяет создавать, редактировать и удалять созданные группы и пользователей.
    Управление модулями и темами - позволяет включать и выключать встроенные модули Exponent-a, добавлять новые, а также просматривать существующие темы и загружать дополнительные.
    Управление базой данных - позволяет провести архивацию и восстановление данных.
    Изменение настроек сайта - позволяет сменить используемую базу данных (данные при этом не переносятся), позволяет изменить используемую тему сайта, разрешить или запретить регистрацию новых пользователей, настройку прав доступа, настройки smtp сервера и т.д

    На данном этапе рассмотрим смену темы.

    Стандартной темой Exponent является Portal
    Exponent Default Theme - Portal

    Для того, чтобы ее изменить, отправляйтесь в Staff Only - Hidden Section (буду считать, что вы инсталлировали примеры) - Configure Site - Edit - Display Settings - Theme - Смените тему на созданную вами - жмем Save.

    Если темы нет в списке, проверьте, правильно ли вы отредактировали файл class.php, расположена ли папка с темой в yourwebsite hemes, находится ли в той же папке файл manifest.php

    Теперь, когда тема благополучно применена, можно начинать наполнять сайт.

    Начните с включения нужных модулей и отключения ненужных.
    Для этого идите в Site Administration - Manage Modules.
    Для начала советую включить:

    Login Module (позже вы его отключите)
    Image Manager
    Navigator
    News module
    Preview Link
    Search module
    Text module

    Модули можно сделать как статичными, в таком случае они будут видны всем посетителям ресурса, так и управлять ими при помощи настроек доступа (например модуль Configure Site должен быть доступен только разработчику сайта).
    Чтобы сделать модуль статичным, достаточно включить его в index.php (смотрите в начало статьи пример кода).
    Для того, чтобы модулем можно было управлять, вы должны его:

    1. Активизировать
    2. Добавить в соответствующий контейнер (в index.php должен присутствовать следующий фрагмент <?php exponent_theme_main(); ?>
    3. После этого нажать на кнопку , находящуюся под контейнером.
    4. Откроется страничка, на которой вы сможете выбрать один из активизированных модулей:
    5. Exponent Modules

      Модуль может иметь несколько предустановленных состояний. В данном случае Login module имеет три положения. Какое из них вас устраивает - решайте сами. Порой бывает достаточно только ссылки Logout.
      Exponent Modules

      Добавление дополнительных страниц в навигации, при условии, что этот модуль включен (либо статично, в файле index.php <?php exponent_theme_showModule("navigationmodule","Top Nav"); ?, либо путем активации модуля и добавления его в контейнер) происходит простейшим нажатием ссылки [manage]
      Exponent

      После чего откроется страничка, где происходит управление навигацией.
      Exponent

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

      Управление правами доступа

      Если вы не хотите, чтобы пользователь мог добавить модуль, скажем, разместить на заглавной странице сайта список контактов на радость, спамерам и фишерам, то этот модуль можно (и нужно) отключить. Это не уберет модуль со страниц, где он существует, но сделает его добавление недоступным в другие страницы.
      Страницы, которые используются для управления сайтом, например страница администратора, можно спрятать, убрав в свойствах этой страницы галочку Public.

      Теперь, когда все лишнее отключено и спрятано, можно приступать к созданию пользователей и групп.

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

        Для этого:
      1. Создайте группу, и обозначьте ее как Default
      2. Создайте нового пользователя

      Когда пользователь создан, он имеет те же права доступа, что и анонимный посетитель, за исключением ссылки Logout (или тот вид, который вы настроили модулю логин).

      1. В интерфейсе администратора, откройте раздел новостей и в News Module нажмите на кнопку . На открывшейся странице вы сможете указать, какие права доступа имеет созданная вами группа. Все достаточно просто. Когда закончите, нажмите на кнопку Save Permissions. Теперь все новые пользователи имеют доступ к модифицированию раздела новостей.

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

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

      Заключение

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

      Список ресурсов, использованных при написании этой статьи





      Перейти к рубрике --> WEB-мастерская

    Наши друзья
    Juridiskie pakalpojumi  
    IT Works
    Проект Самоучка Codenet - всё для программиста
    Скачать программы, игры Бесплатные электронные книги
    • Hi-tech NEWS • InCube e-mag
    ZONEHOSTER.com Программисты, Вам сюда!
    КомментарииВсего:0


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


    © Mihail Chernov (MiHack) Обмен ссылками
    Видеотехника
      *Видеокамеры
      *DVD проигрыватели
      *Телевизоры и аксессуары
    Телефония и cвязь
      *Радиотелефоны
      *Портативные радиостанции
      *Смартфоны
      *Мобильные телефоны
    Программное обеспечение
      *Компьютерные игры
      *Прикладное ПО
      *Электронные издания
    Автопринадлежности
      *Автомагнитолы
      *Автозапчасти
    Одежда и обувь
      *Женская
      *Мужская
    Бытовая техника
      *Холодильники
      *Стиральные машины
      *Микроволновые печи
      *Посудомоечные машины
      *Пылесосы
      *Кондиционеры
      *Электрические и газовые плиты
      *Водонагреватели и бойлеры
      *Прочее
    Спорт и туризм
      *Тренажёры
      *Спорт инвентарь
    Компьютеры
      *Офисная техника
      *Мониторы
      *Персональные компьютеры
      *Ноутбуки
      *Серверы
      *Сетевое оборудование
      *Игровые консоли
      *Аксессуары
    Фототехника
      *Фотоаппараты
      *Аксессуары
    Детские товары
      *Игрушки
      *Детские коляски
      *Детские автокресла
      *Всё для детской комнаты
    Аудиотехника
      *MP3 плееры
      *Музыкальные центры
      *CD-проигрыватели
      *Наушники и микрофоны
      *Радио тюнеры
      *Усилители
      *Аккустические системы
      *Запись звука
    Сантехника и отопление
      *Ванна и туалет
      *Отопление
      *Котлы
      *Насосы
    Для дома и сада
      *Мебель
      *Для сада и огорода
      *Для строительства и хозяйства
    Красота и здоровье
      *Косметические средства
      *Маникюр
      *Массажёры
      *Эпиляторы
    -->