Автор работы: Пользователь скрыл имя, 11 Июня 2015 в 08:31, курсовая работа
Интернет сегодня – самая быстро развивающаяся, удобная и доступная площадка для развлечений, обучения и бизнеса. В конце апреля 2001 г. были опубликованы результаты ежегодных исследований, проводимых американским изданием Computer Industry Almanac, согласно которым Россия попала в число первых 15 стран по количеству пользователей интернета.
Интернет-магазин (англ. online shop или e-shop) — сайт, торгующий товарами в интернете. Позволяет пользователям сформировать заказ на покупку, выбрать способ оплаты и доставки заказа в сети Интернет.
После установки Simpla Source и Deanwer приступаем к созданию проекта.
Проектом является набор настроек для экземпляра Simpla, включая конфигурацию базы данных, параметров для Simpla и настроек приложения.
Назовем проект localhost. Для дальнейших настроек проекта выполним вход через браузер на localhost .
Теперь начнем непосредственно проектирование.
Для создания динамического сайта необходимо использование базы данных. Создадим новую базу данных database, для этого зайдём через браузер на adminphp и выберем пункт new_database.
Сделаем её резевную копию с помощью команды copy. Сохраним копию в папку нашего сайта.
После проделанных операций вернёмся на сайт localhost.
Для определённого класса сайтов интерфейс администратора является обязательной частью инфраструктуры. Это вид интерфейса, доступный доверенным менеджерам сайта, который позволяет добавлять, редактировать и удалять содержимое сайта. Интерфейс администратора, читая метаданные из модели, предоставляет мощный и полностью готовый интерфейс, который немедленно могут использовать менеджеры сайта.
Сначала активируем интерфейс путем изменения настроек в settings.py.
Зададим логин(admin) и пароль(lord) администратора.
Начнем реализовывать отдельные страницы сайта.
Реализация страниц в Simpla происходит с помощью шаблонов.
Настроим шаблон главной страницы на…
В результате, главная страница, меню и логотип выглядят следующим образом:
Шаблон страницы, отображающей
полный список продуктов, отображает
данные из списка, переданного
ему функцией таким же образом,
как и шаблон главной страницы.
В результате страница
Страница заказа содержит форму заказа.
Внешний вид страницы «до» и «в» результате заказа:
<!DOCTYPE html>
{*
Общий вид страницы
Этот шаблон отвечает за общий вид страниц без центрального блока.
*}
<html>
<head>
<base href="{$config->root_url}/"/>
<title>{$meta_title|escape}</
{* Метатеги *}
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="description" content="{$meta_description|
<meta name="keywords"
content="{$meta_keywords|
<meta name="viewport" content="width=1024"/>
{* Стили *}
<link href="design/{$settings->
<link href="design/{$settings->
<link href="design/{$settings->
{* JQuery *}
<script src="js/jquery/jquery.js"
type="text/javascript"></
{* Всплывающие подсказки для администратора *}
{if $smarty.session.admin == 'admin'}
<script src ="js/admintooltip/
<link href="js/admintooltip/css/
{/if}
{* Увеличитель картинок *}
<script type="text/javascript" src="js/fancybox/jquery.
<link rel="stylesheet" href="js/fancybox/jquery.
{* Ctrl-навигация на соседние товары *}
<script type="text/javascript" src="js/ctrlnavigate.js"></
{* Аяксовая корзина *}
<script src="design/{$settings->theme}
<script src="design/{$settings->theme}
{* js-проверка форм *}
<script src="/js/baloon/js/baloon.js"
type="text/javascript"></
<link href="/js/baloon/css/baloon.
{* Автозаполнитель поиска *}
{literal}
<script src="js/autocomplete/jquery.
<style>
.autocomplete-w1 { position:absolute; top:0px; left:0px; margin:6px 0 0 6px; /* IE6 fix: */ _background:none; _margin:1px 0 0 0; }
.autocomplete { border:1px solid #999; background:#FFF; cursor:default; text-align:left; overflow-x:auto; overflow-y: auto; margin:-6px 6px 6px -6px; /* IE6 specific: */ _height:350px; _margin:0; _overflow-x:hidden; }
.autocomplete .selected { background:#F0F0F0; }
.autocomplete div { padding:2px 5px; white-space:nowrap; }
.autocomplete strong { font-weight:normal; color:#3399FF; }
</style>
<script>
$(function() {
// Автозаполнитель поиска
$(".input_search").
serviceUrl:'ajax/search_
minChars:1,
noCache: false,
onSelect:
function(value, data){
$(".input_search").closest('
},
fnFormatResult:
function(value, data, currentValue){
var reEscape = new RegExp('(\\' + ['/', '.', '*', '+', '?', '|', '(', ')', '[', ']', '{', '}', '\\'].join('|\\') + ')', 'g');
var pattern = '(' + currentValue.replace(reEscape, '\\$1') + ')';
return (data.image?"<img align=absmiddle src='"+data.image+"'> ":'') + value.replace(new RegExp(pattern, 'gi'), '<strong>$1<\/strong>');
}
});
});
</script>
{/literal}
</head>
<body>
<!-- Верхняя строка -->
<div id="top_background">
<div id="top">
<!-- Меню -->
<ul id="menu">
{foreach $pages as $p}
{* Выводим только страницы из первого меню *}
{if $p->menu_id == 1}
<li {if $page && $page->id == $p->id}class="selected"{/if}>
<a data-page="{$p->id}" href="{$p->url}">{$p->name|
</li>
{/if}
{/foreach}
</ul>
<!-- Меню (The End) -->
<!-- Корзина -->
<div id="cart_informer">
{* Обновляемая аяксом
корзина должна быть в
{include file='cart_informer.tpl'}
</div>
<!-- Корзина (The End)-->
<!-- Вход пользователя -->
<div id="account">
{if $user}
<span id="username">
<a href="user">{$user->name}</a>{
ваша скидка — {$group->discount}%{/if}
</span>
<a id="logout" href="user/logout">Выйти</a>
{else}
<a id="register" href="user/register">
<a id="login" href="user/login">Вход</a>
{/if}
</div>
<!-- Вход пользователя (The End)-->
</div>
</div>
<!-- Верхняя строка (The End)-->
<!-- Шапка -->
<div id="header">
<div id="logo">
<a href="/"><img src="design/{$settings->theme|
</div>
<div id="contact">
8 (495) <span id="phone">545-54-54</span>
<div id="address">Москва, Маршала Тухачевского 18, офис 803</div>
</div>
</div>
<!-- Шапка (The End)-->
<!-- Вся страница -->
<div id="main">
<!-- Основная часть -->
<div id="content">
{$content}
</div>
<!-- Основная часть (The End) -->
<div id="left">
<!-- Поиск-->
<div id="search">
<form action="products">
<input class="input_search" type="text" name="keyword" value="{$keyword|escape}" placeholder="Поиск товара"/>
<input class="button_search" value="" type="submit" />
</form>
</div>
<!-- Поиск (The End)-->
<!-- Меню каталога -->
<div id="catalog_menu">
{* Рекурсивная функция вывода дерева категорий *}
{function name=categories_tree}
{if $categories}
<ul>
{foreach $categories as $c}
{* Показываем только видимые категории *}
{if $c->visible}
<li>
{if $c->image}<img src="{$config->categories_
<a {if $category->id == $c->id}class="selected"{/if}
href="catalog/{$c->url}" data-category="{$c->id}">{$c->
{categories_tree categories=$c->subcategories}
</li>
{/if}
{/foreach}
</ul>
{/if}
{/function}
{categories_tree categories=$categories}
</div>
<!-- Меню каталога (The End)-->
<!-- Просмотренные товары -->
{get_browsed_products var=browsed_products limit=20}
{if $browsed_products}
<h2>Вы просматривали:</h2>
<ul id="browsed_products">
{foreach $browsed_products as $browsed_product}
<li>
<a href="products/{$browsed_
</li>
{/foreach}
</ul>
{/if}
<!-- Просмотренные товары (The End)-->
</div>
</div>
<!-- Вся страница (The End)-->
</body>
{* Список товаров *}
<!-- Электронные комплектующие/-->
<div id="path">
<a href="/">Главная</a>
{if $category}
{foreach from=$category->path item=cat}
→ <a href="catalog/{$cat->url}">{$
{/foreach}
{if $brand}
→ <a href="catalog/{$cat->url}/{$
{/if}
{elseif $brand}
→ <a href="brands/{$brand->url}">{$
{elseif $keyword}
→ Поиск
{/if}
</div>
<!-- Электронные комплектующие#End /-->
{* Заголовок страницы *}
{if $keyword}
<h1>Поиск {$keyword|escape}</h1>
{elseif $page}
<h1>{$page->name|escape}</h1>
{else}
<h1>{$category->name|escape} {$brand->name|escape} {$keyword|escape}</h1>
{/if}
{* Описание страницы (если задана) *}
{$page->body}
{if $current_page_num==1}
{* Описание категории *}
{$category->description}
{/if}
{* Фильтр по брендам *}
{if $category->brands}
<div id="brands">
<a href="catalog/{$category->url}
{foreach name=brands item=b from=$category->brands}
{if $b->image}
<a data-brand="{$b->id}" href="catalog/{$category->url}
{else}
<a data-brand="{$b->id}" href="catalog/{$category->url}
{/if}
{/foreach}
</div>
{/if}
{* Описание бренда *}
{$brand->description}
{* Фильтр по свойствам *}
{if $features}
<table id="features">
{foreach $features as $f}
<tr>
<td class="feature_name" data-feature="{$f->id}">
{$f->name}:
</td>
<td class="feature_values">
<a href="{url params=[$f->id=>null,
page=>null]}" {if !$smarty.get.$f@key}class="
{foreach $f->options as $o}
<a href="{url params=[$f->id=>$o->value,
page=>null]}" {if $smarty.get.$f@key == $o->value}class="selected"{/
{/foreach}
</td>
</tr>
{/foreach}
</table>
{/if}
<!--Каталог товаров-->
{if $products}
{* Сортировка *}
{if $products|count>0}
<div class="sort">
Сортировать по
<a {if $sort=='position'} class="selected"{/if} href="{url sort=position page=null}">умолчанию</a>
<a {if $sort=='price'} class="selected"{/if} href="{url sort=price page=null}">цене</a>
<a {if $sort=='name'} class="selected"{/if} href="{url sort=name page=null}">названию</a>
</div>
{/if}
{include file='pagination.tpl'}
<!-- Список товаров-->
<ul class="products">
{foreach $products as $product}
<!-- Товар-->
<li class="product">
<!-- Фото товара -->
{if $product->image}
<div class="image">
<a href="products/{$product->url}
</div>
{/if}
<!-- Фото товара (The End) -->
<div class="product_info">
<!-- Название товара -->
<h3 class="{if $product->featured}featured{/
<!-- Название товара (The End) -->
<!-- Описание товара -->
<div class="annotation">{$product->
<!-- Описание товара (The End) -->
{if $product->variants|count > 0}
<!-- Выбор варианта товара -->
<form class="variants" action="/cart">
<table>
{foreach $product->variants as $v}
<tr class="variant">
<td>
<input id="variants_{$v->id}" name="variant"
value="{$v->id}" type="radio" class="variant_radiobutton"
{if $v@first}checked{/if} {if $product->variants|count<2}
</td>
<td>
{if $v->name}<label class="variant_name"
for="variants_{$v->id}">{$v->
</td>
<td>
{if $v->compare_price > 0}<span class="compare_price">{$v->
<span class="price">{$v->price|
</td>
</tr>
{/foreach}
</table>
<input type="submit" class="button" value="в корзину" data-result-text="добавлено"/>
</form>
<!-- Выбор варианта товара (The End) -->
{else}
Нет в наличии
{/if}
</div>
</li>
<!-- Товар (The End)-->
{/foreach}
</ul>
{* Список товаров *}
<!-- Электронные комплектующие/-->
<div id="path">
<a href="/">Главная</a>
{if $category}
{foreach from=$category->path item=cat}
→ <a href="catalog/{$cat->url}">{$
{/foreach}
{if $brand}
→ <a href="catalog/{$cat->url}/{$
{/if}
{elseif $brand}
→ <a href="brands/{$brand->url}">{$
{elseif $keyword}
→ Поиск
{/if}
</div>
<!-- Электронные комплектующие#End /-->
{* Заголовок страницы *}
{if $keyword}
<h1>Поиск {$keyword|escape}</h1>
{elseif $page}
<h1>{$page->name|escape}</h1>
{else}
<h1>{$category->name|escape} {$brand->name|escape} {$keyword|escape}</h1>
{/if}
{* Описание страницы (если задана) *}
{$page->body}
{if $current_page_num==1}
{* Описание категории *}
{$category->description}
{/if}
{* Фильтр по брендам *}
{if $category->brands}
<div id="brands">
<a href="catalog/{$category->url}
Информация о работе Информационная система поддержки продаж электронных компонентов