Управление веб-сайтом

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование

?аничку во что-то более захватывающее. Сейчас можно попробовать вдохнуть немного жизни в web-технологии десятилетней давности. Если у вас появилась необходимость освежить, обогатить и сделать более интерактивными свои творения, познакомьтесь с AJAX.

При использовании Google или web-клиента Gmail вам уже приходилось сталкиваться с решением, основанном на AJAX. Это технология-конгломерат, которая обеспечивает динамическое и асинхронное поведение, где исключается обновление страниц. Посредством AJAX пользователь может взаимодействовать с web-страницами, подобно работе с клиентами с более богатыми возможностями.

В настоящее время многие говорят о AJAX. Технология, следующая за AJAX, вряд ли является новшеством, однако недавно стали появляться некоторые мощные новые приложения, использующие объект XMLHttpRequest, они вдохнули новую жизнь в концепцию обновления образа клиентской части.

Самым примечательным из этих новых приложений является Google Maps. Пользуясь им, можно находить определенную местность на карте планеты, затем переходить к более мелким объектам, прокручивать перетягивать карту без необходимости обновления страницы.

Действие AJAX легче всего показать на портальном iенарии: просмотр сообщений электронной почты. Большинство веб-порталов позволяют пользователям предварительно просматривать содержимое почтового ящика с основной страницы. Однако, чтобы просмотреть содержимое сообщения, необходимо отдельно щелкнуть на каждом сообщении, при этом страница должна обновляться каждый раз. На этом примере можно увидеть возможность осуществления более богатого поведения, подобно аналогичному в Outlook Express и Mozilla Thunderbird, при этом задействовав существующие веб-технологии AJAX.

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

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

@Overridevoid service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {("1".equals(req.getParameter("message_id"))) {.getWriter().println( "John Doe,Greetings,10 10-2005,Hi.I am doing good" ) ;

} else if ("2".equals(req.getParameter("message_id"))) {.getWriter().println( "Joanna Doe,Hi,10-10-2005,Document is complete." );

} else if ("3".equals(req.getParameter("message_id"))) {.getWriter().println("Joanna Doe,Hi,10-10-2005,Meeting is at 3.");

} else {.getWriter().println( "NA,NA,NA,Nothing to display" );

} //end else

} //end service

Следующий пример на С# для ASP.NET. Функционально он аналогичен сервлету и приводим мы его лишь для того, чтобы убедить читателей, что для работы с AJAX не важно на каком языке написана ваша серверная часть.

public class service: System.Web.UI.Page

{void Page_Load(object sender, System.EventArgs e)

{(Request.Params["message_id"] != null)

{(Request.Params["message_id"])

{"1":.Write("John Doe,Greetings,10-10-2005,Hi.I am doing good");;"2":.Write("Joanna Doe,Hi,10-10-2005,Document is complete.");;"3":.Write("Joanna Doe,Hi,10-10-2005,Meeting is at 3.");;

}

}

{.Write(",NA ,NA ,NA ,Nothing to display");

}

}

}

В портале будет находиться окошко/портлет портала по просмотру почты с упрощенным списком входящих сообщений слева и панелью просмотра справа. Если щелкнуть мышью на сообщении слева, то на панели просмотра будет виден запрос к серверу и вывод текста сообщения на экран в реальном времени, в этом процессе задействован AJAX.

У данной CMS имеется левое меню навигации, где показана иерархия сайта. Также имеется верхняя панель закладок, в которых можно подключать новые шаблоны, чанки, плагины, сниппеты.

Главное положительное преимущество CMS MODx полный контроль над выводом HTML-кода, разделение логики работы системы управления и дизайна. В MODx используются шаблоны, благодаря им можно настроить для каждой страницы свой отдельный HTML-код. То есть на разных страницах на одном сайте, можно один контент предложить пользователем в разных вариантах сочетая CSS и HTML-код. Шаблоны можно редактировать отдельные страницы быстро и надежно. В системе используются плэйсхолдеры, например Заголовок страницы можно вывести в любом месте страницы достаточно написать в нужном месте структуры сайта [*title]. На рисунке 3.9 показаны стандартные плейсхолдеры новой страницы сайта.

Рисунок 3.9

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

В шаблоне используются чанки - это небольшой кусок HTML-кода или другой информации, который можно многократно использовать в шаблоне, другом чанке или сниппете. Шаблоны могу состоять только из 4 чанков. На рисунке 3.10 показана закладка, где можно редактировать Шаблоны, TV-параметры, Чанки, Сниппеты, Плагины.

Рисунок 3.10

Как правило, в шаблонах используется несколько чанков, которые содержат совпадающее оформление. Например, можно вынести шапку, подвал, основное меню, крошки. Благодаря этому изменения можно будет вносить в одном чанке, а не нескольких шаблонах. Это и проще и нет риска, оставить какой-то шаблон без важного изменения. На рисунке 3.11 показан пример чанка, код шапки сайта.

Рисунок 3.11

Второе наиболее частое использование чанка - шаблоны для сниппетов. Благодаря этому происходит разделение управляющего кода и оформления. В зависимости от сложности сниппета количество шаблонов может