Проект создания интернет-магазина

 

Содержание


Введение

. Общая схема интернет-магазина

. Установка CMS Joomla, Virtuemart и Denwer на компьютер

. Настройка внешнего вида и функционала интернет-магазина

. Создание товара в интернет-магазине

. Доставка товара покупателю и способы оплаты

. Бизнес-план интернет-магазина

. Разработка модуля сравнения товаров для интернет-магазина

. Оптимизация работы интернет-магазина с базами данных

Заключение

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


ВВЕДЕНИЕ


Известно, что в последнее десятилетие интернет испытывает значительные темпы роста популярности среди людей, имеющих разное социальное положение, любых возрастов и национальностей. Интернет является весьма удобным и быстрым средством передачи информации и при этом достаточно дешёвым. С каждым годом в Беларуси количество пользователей сети интернет увеличивается на 15-20 % по сравнению с предыдущим.

Именно поэтому в наше время актуальным становится заработок в сети интернет, а именно - коммерческая деятельность своего собственного интернет-магазина. Электронные магазины существенно уменьшают издержки производителя, сэкономив на содержании обычного магазина, расширяют рынки сбыта, так же как и расширяют возможности покупателя: покупать любой товар в любое время в любой стране в любом городе в любое время суток в любое время года. Также сильной стороной интернет-магазина можно считать его компактность: необходимо наличие одного лишь склада, в зависимости от размера штата сотрудников - офиса, при этом отпадает надобность аренды помещения для размещения торговой точки. Плюсом является немногочисленность рабочего штаба: необходим бухгалтер, водитель-грузчик, человек, отвечающий за добавление контента и товара в интернет-магазин, также некоторые из этих обязанностей может брать на себя и сам директор по мере возможности. Главной же причиной, побуждающей человека заняться коммерческой деятельностью в сети интернет, являются низкий стартовый капитал и относительно невысокие риски. Всё это дает электронным магазинам весомое преимущество перед обычными магазинами.

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

1 ОБЩАЯ СХЕМА ИНТЕРНЕТ-МАГАЗИНА


Через сеть Интернет покупатель при помощи браузера заходит на web-сайт интернет-магазина. Web-сайт содержит электронную витрину, на которой представлены каталог товаров (с возможностью поиска) и необходимые интерфейсные элементы для ввода регистрационной информации, формирования заказа, проведения платежей через интернет, оформления доставки, получения информации о компании-продавце и online помощи.

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

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

При возможности оплаты через интернет, подключается платежная система (PayPal, EasyPay, WebMoney и т.п.). После сообщения о проведении online платежа торговой системой формируется заказ для службы доставки.

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

Можно утверждать, что основные проблемы электронной коммерции лежат на стыках интернета и реальной деятельности. В обычной торговле покупатель привык к тому, что есть возможность оценить товар визуально, определить его качество и характеристики. В электронной торговле он такой возможности лишён. Максимум, на что он может рассчитывать, это фотография товара и перечисление его характеристик. Зачастую этой информации достаточно, но здесь вступают в действие эмоциональные и психологические факторы. Большинство электронных магазинов имеют проблемы с доставкой товаров, особенно если цена товара невелика. Проблемы также возникают при необходимости оплатить товар в электронном магазине. Тому есть множество причин: недоверие граждан по отношению к банковской системе в целом и безналичным платежам в частности, неурегулированность организационных и правовых вопросов электронных платежей, неуверенность в безопасности проведения транзакций через интернет.

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

Электронная витрина предназначена для выполнения следующих задач:

предоставление интерфейса к базе данных продаваемых товаров в виде каталога либо прайс-листа;

работа с электронной "корзиной" покупателя;

регистрация покупателей;

оформление заказов с выбором метода оплаты и доставки;

предоставление online помощи покупателю;

сбор маркетинговой информации;

обеспечение безопасности личной информации покупателей;

автоматическая передача информации в торговую систему.

Витрина электронного магазина располагается на интернет-сервере и представляет собой Web-сайт с активным содержанием.

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

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

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

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


УСТАНОВКА CMS JOOMLA, VIRTUEMART И DENWER НА КОМПЬЮТЕР


Для создания интернет-магазина потребуется установить 2 программы и одну компоненту. Сперва необходимо установить Denwer, который будет отвечать за работу сайта электронного магазина на локальном сервере, который эмулирует данная программа. В процессе установки на логическом диске компьютера будет выделена область для сайта, которой нужно присвоить название в виде буквенного символа, как и любому разделу жёсткого диска. Пусть ему будет присвоено имя «Z».

После установки программы Denwer нужно установить CMS Joomla, в которой и будет создан интернет-магазин. Для этого по пути «z:\home\localhost\www\» нужно создать папку с названием сайта, используя буквы исключительно английского алфавита и арабские цифры, пусть она будет называться «im». В эту папку нужно разорхивировать архив со всеми папками программы, в данном случае это архив «Joomla_1.5.7_RUS.zip». Следующим шагом будет создание базы данных для сайта интернет-магазина. Для этого в адресной строке браузера прописывается «localhost\Tools\phpmyadmin\» и затем создаётся база данных, которую я назвал также: «im». Затем в пункте «Привилегии» я создал нового пользователя для только что созданной базы данных, которого назвал «im», и отметил все пункты в меню привелегий.

После создания базы данных можно приступать к завершающему этапу установки. В адресной строке браузера прописывается «localhost\www\im\», затем нужно выбрать русский язык интерфейса, заполнить все поля данными, которые уже были указаны в предыдущих шагах установки, указать пароль администратора и название сайта, в данном случае «Электрон - магазин компьютерной техники». Последнее, что требуется сделать для установки CMS Joomla - удалить папку «installation», которая находится в папке сайта «im».

Теперь приступим к этапу установки компоненты под CMS Joomla, которая называется Virtuemart 1.1.9, предназначенная специально для создания интернет-магазинов и каталогов товаров. Для установки компоненты нужно разархивировать содержимое архива «com_virtuemart_1.1.9.j15.zip» в папку «z:\localhost\www\im\tmp\» и в самой Joomla установить компоненту из папки, находящейся по данному пути. Virtuemart является англоязычной компонентой и для удобства работы с ней желательно сделать русификацию путём замены либо добавления файлов во всех вложенных папках по пути «z:\home\localhost\www\im\administrator\components\com_virtuemart\langua- ges\» с «eanglish.php» на «russian.php».

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


НАСТРОЙКА ВНЕШНЕГО ВИДА И ФУНКЦИОНАЛА ИНТЕРНЕТ-МАГАЗИНА


Прежде, чем добавлять товары на сайт, создавать варианты оплаты и доставки товара, рекомендуется установить шаблон сайта, чтобы по мере заполняемости электронного магазина блоками меню и информацией можно было наблюдать как изменяется внешний вид сайта в конфигурации с данным шаблоном. Установка шаблона производится через меню «Установить/Удалить». Архив с шаблоном, который используется для данного сайта имеет название «siteground-j15-18.zip». После установки в меню «Менеджер шаблонов» нужно сделать активным новый шаблон, убрав с активного положения шаблон, установленный по умолчанию.

Для придания сайту интернет-магазина более приятного внешнего вида нужно удалить рисунки с рекламой и соответствующие ссылки на другие сайты с интернет-магазина. Это как правило ссылки на сайты разработчиков Joomla. Комбинацией клавиш «Ctrl+U» открывается код той страницы сайта, на которой мы находимся на данный момент и там с помощью комбинации клавиш «Ctrl+F» открывается меню поиска, в котором вводится интересующая вас текстовая информация, отображаемая на странице сайта. После обнаружения искомого элемента в коде страницы мы ищем его класс либо другие данные, используемые в языке HTML. После этого нужно использовать поиск в корневой папке интернет-магазина «im» заданного элемента, в результате чего меню поиска сделает ссылку на тот либо те документы, которые отвечают за вывод данной информации (ссылок на сайты разработчика и картинок с рекламой) на страницы сайта электронного магазина. В данном случае этим файлом является «index.php», в котором проискодит интеграция сразу двух языков программирования: HTML и PHP. После удаления части кода файла, отвечающей за вывод картинок и ссылок на сайт, все ненужные элементы исчезнут со страниц интернет-магазина.

Теперь можно приступать к формированию интернет-магазина. В Joomla заходим в «Меню\главное меню\создать новое\Virtuemart», называем данное меню «Электрон - каталог», и устанавливаем его в активную позицию, выбрав «по умолчанию». Данное меню будет хорошо смотреться вверху в позиции «user3», а сейчас оно находится слева в позиции «left». Чтобы перемес-тить его, нужно зайти в «Менеджер модулей», в списке всех модулей найти «mainmenu» и поменять его позицию на «user3».

Ещё в позицию «user3» я помещу меню, которое назову «О нашем магазине», однако перед этим нужно создать информационный материал в текстовом виде, чтобы он отображался на сайте, когда посетители захотят перейти по ссылке на информацию о магазине. Для этого заходим в «Материал\Менеджер материалов» и заполняем поле для ввода текста необходимой информацией. Для удобства новый материал рекомендую назвать так же, как и меню, потому что в ситуациях, когда на сайте много материала, можно сделать ошибку и потерять много времени на её исправление.

Теперь установим модуль «mod_virtuemart_1.1.9.j15.zip», который будет отвечать за навигацию на сайте интернет-магазина. Затем в «Менеджер модулей» включим его и займёмся его настройкой. В качестве заголовка укажем «Каталог», вариантом отображения выберем «JSCook», который даёт представляет собой меню главных категорий товаров со всплывающими подкатегориями, и сделаем вариант отображения вертикальным, так как данный модуль мы установим в позицию «left».

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

После того, как работа с блоками меню завершена посредством установки модулей, можно приступать к основным настройкам интернет-магазина через компоненту Virtuemart. Работать мы будем только с двумя вкладками: «Общие настройки» и «Сайт».

В первой вкладке я настроил максимальную и минимальную длину комментария к товару, который может оставить покупатель. Обязательно должна стоять галочка на пункте «Показывать цены», иначе вместо интернет-магазина получится просто каталог товаров без цен на них. Я сделал активным пункт «Показать стоимость упаковки?» для того, чтобы после добавления в корзину одного и того же товара в большом количестве подсчитывалась общая цена за всё количество в целом, а не отдельно по каждой единице товара. Также я отключил требование об активации новых учётных записей для того, чтобы регистрация пользователей на сайте проходила проще и быстрее, ведь если регистрироваться будет большое количество покупателей, можно даже не успевать активировать все учётные записи. Последнее, что нас интересует в этой в кладке - опция «Проверять наличие на складе?», которую я отключил, чтобы она не мешала, а при отсутствии товара на складе менеджер может уведомлять покупателя о более поздних сроках его пос-тавки, либо о его отсутствии в данный момент.

Во второй вкладке для улучшения внешнего вида страниц интернет-магазина я убрал кнопки «PDF», «Рекомендовать другу» и «Вид для печати», а также убрал панель навигации вверху списка товаров. Сделал сортировку товара по умолчанию по ценовому критерию, что даёт возможность посетителям сайта просматривать товары в удобном виде: от самого дешёвого товара (вверху) выбранной им подкатегории до самого дорогого (внизу). Из доступных полей сортировки товара я оставил три: «Название товара», «Цена» и «Последние поступления». Очень важно сделать активным опцию «Показывать количество товаров?», так как она отвечает за вывод информации о количестве товаров в каждой категории и подкатегории. Так как шаблон, который был установлен для нашего сайта в Joomla, преимущественно состоит из белого и зелёного цветов, шаблон для самого интернет-магазина также будет установлен зелёный. Для этого в папку по пути «z:\home\localhost\www\im\components\com_virtuemart\themes\» нужно разархивировать «vm_green.zip» и всё содержимое шаблона будет доступно для использования. Затем базовый шаблон «default» меняется на только что установленный, после чего остаётся его настроить. Путём экспериментирования со всеми доступными опциями я решил оставить только две из них, так как при отсутствии остальных сайт выглядит не таким загромождённым и более простым для навигации. Это опция «Use Ajax to add, update or delete products from the cart?» и опция «Show the Add-to-cart Button on the product list?», которая означает, что на страницах, на которых отображается товар, будет выводиться опция «Добавить в корзину» для каждого товара.

Вернувшись на вкладку настроек «Сайт», я включил динамическое изменение размеров для мини-изображения и установил размеры мини-изображения: 250х250 пикселей.

Допустим, что данный интернет-магазин рассчитан на реализацию своего товара по всей Беларуси. Для того, чтобы было более удобно работать с покупателями, полезно будет знать из какой они области. Для этого при регистрации у покупателя в регистрационной форме должна быть обязательная для заполнения графа «Регион/Область», в которой должны быть доступны для выбора все области Республики Беларусь. По умолчанию в Virtuemart есть только список стран, а регионы и области отсутствуют. Для создания регионов нужно пройти в «Настройки\Список стран\Belarus\Список регионов» и добавить все 6 областей. После этого в настройках регистрации пользователей создаётся графа «Регион», в которой для выбора будут доступны все области Республики Беларусь при условии, что в графе «Страна» будет выб-ран вариант «Belarus».

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

Нашей национальной валюты нет среди валют, доступных в Virtuemart, поэтому придётся её создать по аналогии с созданием регионов, только в меню «Настройки\Список валют». После этого в меню «Магазин\информация о магазине» нужно выбрать главную валюту, в которой будут представлены товары на сайте (белорусский рубль), также дополнительные валюты (американский доллар, евро и русский рубль), чтобы можно было осуществлять ввод цен в тех валютах, в которых был произведён расчёт с нашими поставщиками.

Вторым принципом мультивалютности является отображение цен на товары в нескольких валютах по выбору покупателя. Для реализации этого принципа на сайте интернет-магазина потребуется установить модуль конвертации валют «mod_virtuemart_currencies_1.1.9.j15.zip». Нужно задать курсы конвертации валют на сегодняшний день, поэтому после настройки модуля нужно создать файл с любым названием, я назвал его «convertHARD.php», и вставить в его содержимое код, который будет осуществлять конвертацию между всеми выбранными в модуле валютами.


/* currency difinition */

$currency['EUR'] = $eur_curr = 11300;

$currency['USD'] = 8700;

$currency['RUB'] = 277;

$currency['BYR'] = 1;

/* end currency difinition */


Данная часть кода отвечает за связь между валютами. За единицу взят белорусский рубль, 1 русский рубль эквивалентен 277 белорусским рублям, 1 доллар составляет 8700 белорусских рублей, а 1 евро - 11300 белорусских рублей. Данные конвертации валют взяты 12.04.2013 г. на сайте <#"justify">Изначально в Virtuemart все цены, содержащие более 7 знаков до запятой, автоматически приводятся к виду «9999999». Этот нюанс нужно исправить, ведь в интернет-магазине будут присутствовать товары и дороже 10 000 000 бел. руб.. Но на самом деле это не является проблемой Virtuemart. Эта задача нужно решается следующим образом: 1) нужно прописать в адресной строке браузера «localhost\Tools\phpmyadmin\»; 2) выбрать базу данных интернет-магазина; 3) Найти таблицу под названием «jos_vm_product_price» и выбрать её; 4) После открытия таблицы вверху нужно выбрать вкладку «Structure»; 5) Нужно найти колонку «field» и строку «product_price». Видно, что тип таблицы «decimal, (12,5)» - это значит, что максимальное значение символов равняется двенадцати, семь из которых находятся до запятой, а пять - после; 6) Теперь в колонке «action» напротив этой строки выбираем «Редактировать»; 7) В строке «Length/Values1» нужно исправить значение «12,5» на любое другое (я исправил на «15,2»)и сохранить изменения.

Чтобы улучшить внешний вид сайта, я доработал модуль корзины, путём замены изображения с серой тележкой на изображение с зелёной корзинкой. Для этого я сохранил второй файл под названием «menu_logo.png», а затем заменил первый файл, который назывался аналогично, вторым по пути «z:\home\localhost\www\im\components\com_virtuemart\shop_image\ps_image\», после чего в модуле корзины стал выводиться рисунок с зелёной корзинкой.

Также я видоизменил модуль выбора валют. Для внесения каких-либо изменений в данном модуле я сделал следующее: в файл «mod_virtue-mart_currencies.php» по пути «z:\home\localhost\www\im\modules\ \mod_virtuemart_currencies\» в строку <input type="submit" name="submit" value="<?php echo 'Выбрать валюту' ?>" /> </div> я добавил «class="button123"», то есть присвоил кнопке, отвечающей за выбор отображаемой валюты, класс. Также старая надпись была заменена на «Выбрать валюту», однако для того, чтобы эта надпись правильно отображалась на кнопке, необходимо сохранить редактируемый файл в кодировке «UTF-8». Следующим шагом являлось присвоение различных условий классу «class="button123"» в файле «theme.css» (файлы формата «.css» называются каскадными таблицами стилей), который находится по пути «z:\home\localhost\ \www\im\components\com_virtuemart\themes\vm_green\». В этом файле я прописал следующее:


input.button123 {

border : solid 3px #64b000;

font-weight : bold;size : 11px;: 4px;: 5px;: #ffffff;image: url( images/menu_t.jpg );

}


Первая строка означает, что команде «input» с классом «button123» присваиваются условия, находящиеся в фигурных скобках. Вторая строка «border : solid 3px #64b000;» означает вывод сплошной (solid) рамки толщиной 3 пикселя (3px) тёмно-зелёного цвета (его код: #64b000) вокруг самой кнопки выбора валюты. Третья строка означает, что шрифт надписи на кнопке будет жирным. Четвёртая отвечает за размер шрифта (14 пикселей). Команда «padding: 4px» означает, что внутренний отступ кнопки (от её границ до надписи внутри неё) равен 4 пикселям. А команда «margin: 5px» значит, что наружный отступ (от рамки до соседних объектов) равен 5 пикселям. Надпись «color: #ffffff» говорит, что цвет надписи на кнопке выбора валюты будет белым. И последняя строка, в которой прописано «background-image: url( images/menu_t.jpg )», значит, что в качестве фона кнопки выбора валюты будет выводиться изображение «menu_t.jpg», такое же, как и на названии каждого модуля, расположенного на сайте.

Последнее, что я сделал в этом модуле, это выровнял содержимое модуля по центру. В указанном выше файле «mod_virtuemart_currencies.php» перед строкой «<!-- Currency Selector Module -->» вывода поля для выбора валюты и кнопки выбора валюты я прописал «<div style="text-align:center;">». Для того, чтобы всё отображалось так, как задумано, нужно закрыть тег, прописав «</div>» после «value="<?php echo 'Выбрать валюту' ?>" />».

Последний модуль «mod_frontpage_categories.zip» является устаревшим (он разрабатывался под старые версии Joomla и под версию 1.5 не подходит), для его работоспособности необходимо включить интеграцию с плагином старых модулей Legacy. Этот модуль я добавил в позицию «debug», находящуюся в самой нижней части сайта. Я сделал так, чтобы 6 категорий отображалось в строке, а затем в файле таблиц каскадных стилей создал рамку и внешние отступы для данного модуля.

Все изменения и доработки во внешнем виде и функционале на данном этапе завершены. Также внешний вид сайта будет дорабатываться по мере добавления товара на сайт интернет-магазина.


СОЗДАНИЕ ТОВАРА В ИНТЕРНЕТ-МАГАЗИНЕ


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

Необходимо создать списки категорий товаров, для того чтобы можно было осуществлять навигацию через модуль, который был назван «Каталог». Все категории товаров делятся на главные категории и вложенные категории (подкатегории). Ниже будет приведена таблица, в которой указаны все категории (вид товара) и подкатегории (производитель данного вида товара) товаров, которые находится на сайте. В скобках будет указано количество товаров в каждой категории/подкатегории. Всего в электронном магазине находится 130 товаров.


Тблица 1. Категории и подкатегории товаров магазина «Электрон».

КатегорииПодкатегорииНоутбуки (28)Acer (6)ASUS (8)HP (5)Lenovo (5)Samsung (4)Нетбуки (13)ASUS (3)HP (6)Lenovo (4)Мыши (24)A4-Tech (7)Acme (2)ASUS (5)Genius (5)Logitech (5)Сумки (21)Acme (5)Case Logic (6)Krusell (4)Spayder (6)Внешние жёсткие диски (15)Apacer (3)ASUS (5)Transcend (7)КатегорииПодкатегорииАкустические системы (29)Acme (7)Alliance (5)Logitech (8)SVEN (9)В модуле поиска есть функция расширенного поиска товаров по их характеристикам. Полная информация о каждом товаре будет добавляться в описание, а самую важную часть из этой информации я задействую для расширенного поиска. Для реализации поиска по характеристикам необходимо создать типы товаров и задать необходимые параметры со всеми возможными для них значениями. По умолчанию в каждом типе товара установлен параметр поиска «Цена», поэтому его создавать нет необходимости. Все параметры будут реализованы в виде выпадающего списка.

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


Таблица 2. Типы товаров, параметры товаров и их допустимые значения

Типы товаровПараметры товаров (значения параметров), единицы измеренияНоутбукиПроизводитель (Acer; ASUS; HP; Lenovo; Samsung)Видеокарта (AMD Radeon; Intel; NVIDIA GeForce)Диагональ (15,6; 17,3), дюймыПамять (1; 2; 3; 4; 6), ГбHDD (250; 320; 500; 640; 750), ГбНетбукиПроизводитель (ASUS; HP; Lenovo)Видеокарта (AMD Radeon; Intel; NVIDIA)Диагональ (10,1; 11,6; 12,1; 14,0), дюймыПамять (1; 2; 3; 4), ГбHDD (160; 250; 320; 500), ГбМышиПроизводитель (A4Tech; Acme; ASUS; Genius; Logitech)Наличие провода (Проводные; Беспроводные)Типы товаровПараметры товаров (значения параметров), единицы измеренияСумкиПроизводитель (Acme; Case Logic; Krusell; Spayder)Диагональ (от 10 до 14; от 14 до 16; больше 16), дюймыТип (Рюкзак; Сумка; Чехол)Внешние жёсткие дискиПроизводитель (Apacer; ASUS; Transcend)Корпус (Пластик; Металл)HDD (320;500;640;750;1024), ГбАкустические системыПроизводитель (Acme; Alliance; Logitech; SVEN)Система (2.0; 2.1; 5.1)Пульт дистанционного управления (Есть; Нет)Мощность (менее 10; от 10 до 20; от 20 до 40; более 40), Вт

Следующий шаг будет связан с созданием накрутки. Владелец электронного бизнеса должен будет отчислять налог на добавочную стоимость, который в Республике Беларусь составляет 20 %, и поэтому накрутка к закупочной цене должна быть однозначно больше 20%. Предположим, что на дорогостоящий товар (ноутбуки, нетбуки, сумки и акустические системы) будет действовать наценка в 35%, а на дешёвый (мыши и внешние жёсткие диски) - 50%. Накрутка будет реализована через налоговые ставки в Virtuemart. В поле «Цена товара (без налогов)» будут вводиться закупочные цены, затем будет выбираться накрутка 35% или 50% в пункте «Ставка НДС» и в поле «Цена товара (с налогами)» будет автоматически подсчитана новая отпускная цена, которая будет отображаться на сайте для покупателей.

Ранее мной упоминалось, что у владельца электронного магазина на разные виды товаров могут быть разные поставщики и расчёты с ними он будет производить в разных валютах. Также оговаривалось, что цены при создании товаров будут указываться в тех валютах, в каких производился расчёт с поставщиками. Пусть за ноутбуки и нетбуки оплата производится в долларах США, за мыши и сумки - в русских рублях, а за внешние жёсткие диски и акустические системы - в евро. Однако покупатели будут приобретать товары в интернет-магазине исключительно за белорусские рубли.

Поскольку цены на разные товары представлены в разных валютах, расширенный поиск по характеристикам осуществляется также в разных валютах. В параметрах поиска конкретного типа товара в графе «Цена» нужно указывать суммы в соответствующих валютах: для ноутбуков и нетбуков в американских долларах, для мышей и сумок в русских рублях, а для внешних жёстких дисков и акустических систем в евро. Но пользователи не знают об этом, для этого следует прописать данную информацию в описании каждого из шести типов товара.

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

После добавления всех товаров в интернет-магазин я начал проверять навигацию по сайту и тут же столкнулся с проблемой: при выборе в меню навигации одной из шести категорий на страницу сайта не выводится никакого контента, хотя в каждой подкатегории отображаются соответствующие товары. Дело в том, что в файле «shop.browse.php» по пути «im\administrator\components\com_virtuemart\html\» допущена ошибка в строке 86: «elseif( $num_rows == 0 && empty($product_type_id) && empty($child_list)) {echo $VM_LANG->_('EMPTY_CATEGORY');». Для её исп-равления нужно поставить «!» перед «empty($child_list)». После этого при выборе одной из категорий в меню навигации в области контента выводятся подкатегории данной категории товаров с графическим изображением, названием и количеством товаров в каждой подкатегории (указывается в скобках после названия).

Тут же возникает второй нюанс: в каждой строке выводится по 4 категории (подкатегории) и их графические изображения выходят за границы сайта, что очень сильно портит вид. Для изменения количества категорий и подкатегорий, выводимых в одной строке, в файле «categoryChildlist.tpl.php» по пути «z:\home\localhost\www\im\components\com_virtuemart\themes\vm_green\ \templates\common\» я заменил число 4 в строке «$categories_per_row = 4;» на 2. Теперь все категории и подкатегории отображаются по 2 в строку, графические изображения категорий и подкатегорий не выходят за границы сайта, а сайт имеет красивый и приличный вид.

Я сделал ещё два изменения во внешнем виде сайта, которые касаются отображения товаров в интернет-магазине. Первое изменение заключается в том, что я выделил название каждого товара, сделав снаружи области рамку, а саму область залив салатовым цветом. Также я сделал внешний отступ сверху в 3 пикселя. Все изменения производились в файле темы «vm_green» данного интернет-магазина с названием «theme.css». Все условия для вывода названий товаров прописаны ниже:


browseProductTitle {

font: #181819 16px bold;

padding: 3px;top: 3px;: 30%;: left;: solid 3px #479b21;-color: #91e22d;: #181819;

}


Товары в интернет-магазине представлен таким образом, что между ними нету чёткой разделяющей границы и вся информация о них выглядит как сплошной скомканный однородный объект. Каталог с товаром не имеет никакого вида, также это существенно затруднит работу покупателей с товаром и вероятно понизит популярность интернет-магазина у пользователей сети интернет. Второе изменение как раз заключатся в добавлении чёткой разделяющей границы между двумя соседними товарами для устранения всех вышеперечисленных недостатков. Для этого всё в том же файле каскадных таблиц стилей «theme.css» я нашёл класс «browseProductContainer», который отвечает за вывод области, в которой представлена вся информация о товаре. Затем я добавил несколько условий данному классу: командой «border-bottom : solid 2px #64b000» удалось создать линию раздела тёмно-зелёного цвета толщиной 2 пикселя, командой «padding-bottom: 15px» - внутренний отступ снизу в 15 пикселей, а «margin-top: 15px» - внешний отступ сверху в 15 пикселей. Все остальные условия были прописаны по умолчанию. Ниже представлен код, отвечающий за вывод области, которая содержит информацию о товаре:


browseProductContainer {:100%;: 3px 3px 3px 3px;align: top;bottom : solid 2px #64b000;weight : bold;bottom: 15px;-top: 15px;

}


ДОСТАВКА ТОВАРА ПОКУПАТЕЛЮ И СПОСОБЫ ОПЛАТЫ


Интернет-магазин практически готов, осталось лишь настроить доставку товара покупателю и способы оплаты за товар.

Для того, чтобы покупатель мог выбрать вариант доставки всех товаров, которые он добавил себе в корзину, нужно создать варианты доставки и тарифы доставки. Я создал вариант доставки «Курьерская доставка» с различными тарифами доставки, которые зависят от удалённости места жительства покупателя от склада (предполагается, что склад находится в Гомеле), и вариант доставки «Заберу сам» без тарифов. Варианты и тарифы доставки, а также их расценки представлены ниже:


Таблица 3: Варианты и тарифы доставки товара

Вариант доставкиТариф доставкиЦенаКурьерская доставкаГомель10 000 бел. руб.Курьерская доставкаГомельский район30 000 бел. руб.Курьерская доставкаГомельская область45 000 бел. руб.Курьерская доставкаМогилёвская область65 000 бел. руб.Курьерская доставкаМинская область65 000 бел. руб.Курьерская доставкаБрестская область65 000 бел. руб.Курьерская доставкаГродненская область70 000 бел. руб.Курьерская доставкаВитебская область70 000 бел. руб.Заберу самЗабрать самому0 бел. руб.

Точно такие же варианты будут доступны покупателю после того, как он перейдёт к просмотру корзины и нажмёт кнопку «Оформить заказ». Однако нужно принять во внимание, что при настройке информации о магазине мною была указана минимальная сумма заказа для бесплатной доставки, которая составляет 2 000 000 бел. руб.. В случае заказа на эту сумму, либо сумму превышающую данную, варианты доставки покупателю показываться не будут, доставка будет бесплатной. Для осведомлённости покупателя нужно отразить данную информацию на сайте.

После добавления товара в корзину и выбора доставки товара (если покупатель не выбрал товаров на сумму, достаточную для осуществления бесп-латной доставки) на сайт будут выведены для выбора способы оплаты за товар. Первым способ будет «Оплата наличными курьеру», а второй «Оплата через банк по квитанции», причём квитанция будет выводиться на страницу сайта и её можно будет распечатать. В квитанции будут указаны все необходимые данные: 1) Получатель платежа: ИП Ф.И.О.; 2) КПП: №; 3) ИНН: №; 4) р/сч.: №; 5) БИК: №; 6) К/сч.: №; 7) Плательщик: Ф.И.О.; 8) Адрес: страна, адрес (данные из регистрации пользователя); 9) Вид платежа; 10) Дата; 11) Сумма; 12) Подпись плательщика (нужно только поставить подпись). Для этого в форму ввода дополнительной информации по платежу я вставил специальный код, который и отвечает за вывод этой квитанции и кнопки печати.


БИЗНЕС-ПЛАН ИНТЕРНЕТ-МАГАЗИНА


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

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

А теперь разберем каждый пункт в бизнес-плане интернет-магазина в денежном выражении. Сумма, требуемая на разработку сайта может варьироваться в широких пределах. Если заказать у программистов уникальный и оригинальный сайт интернет-магазина, то в бизнес-плане нужно учесть более крупную сумму, чем при разработке простого сайта интернет-магазина. Расходы на разработку и его поддержку в рабочем состоянии предполагают также покупку хостинга и домена. Лучше брать VPS/VDS хостинг и при этом в хорошей компании, которая на слуху. Итак, вот список всех затрат по сайту, входящих в бизнес-план интернет-магазина: 1) Разработка сайта - 100$ (простой сайт) - 3000$ (уникальный и оригинальный сайт, созданный на заказной CMS); 2) Покупка хостинга 30$-100$; 3) Регистрация домена 10$. Итого: 40$ - 110$ в нашем случае (первый пункт не учитывается).

Перейдем к оффлайн расходам (вне интернета), которые впоследствии должны быть внесены в бизнес-план интернет-магазина.

Организационные расходы составляют примерно 100$-400$ (открытие/регистрация юридического лица, часто это Общество с Ограниченной Ответственностью). Затраты на покупку оргтехники составят 200$ - 600$ ( принтер, сканер, кассовый аппарат). Предполагается, что у бухгалтера будет свой собственный компьютер или ноутбук, также предполагается наличие собственного (это существенно снизит затраты). Большая часть расходов придётся на закупку товаров у поставщиков (допустим, что его можно приобрести на условиях мелкого опта, либо штучно, что было бы ещё лучше и удобнее для ведения такого типа бизнеса): 10000$ - 15000$. Итого: 10300$ - 16000$.

Теперь перейдём к рассмотрению ежемесячных расходов и того, что в них входит. Нужно учитывать все издержки на ведение бизнеса и отразить их в бизнес-плане интернет магазина: 1) Бухгалтерские издержки составят 150$ - 300$; 2) Аренда офиса и все сопутствующие затраты: плата за телефонную связь, сеть интернета, электрическую энергию и прочее - составят 150$ - 400$; 3) Реклама интернет-магазина в на различных интернет ресурсах, в газетах и прочих информационных источниках может составить внушительную сумму денег: 200$ - 800$. Реклама интернет магазина является неотъемлемым пунктом в бизнес-плане. Рекламировать свой интернет-магазин нужно в различных сервисах контекстной и медийной рекламы; 4) Зарплата персоналу потребует ежемесячных расходов на суммму 500$ - 700$; 5) Ежемесячные платежи за хостинг и за продление домена будут равны сумме в 20$ -60$. Итого: 1020$ - 2260$

В целом расходы, которые необходимо внести в бизнес-план составят: 11060$ - 17370$.

Окупаемость в полной мере зависит от суммы, внесенной в бизнес-план интернет-магазина на открытие, а также очень сильно зависит от эффективности рекламы и популяризации интернет-магазина среди интернет-аудитории. Сейчас я произведу расчёт окупаемости интернет-магазина, но эти цифры могут не совпасть на практике, когда интернет-магазин уже будет функционировать.

Предполагается, что владелец бизнеса выберет упрощённую систему налогообложения, при которой он будет отдавать 15% от суммы валового дохода. После последних изменений в 2011 году упрощённая система стала доступна для организаций и индивидуальных предпринимателей-плательщиков на условии, что размер валовой выручки нарастающим итогом с начала года не будет превышать 3,4 млрд. бел. руб..

В среднем с каждого проданного товара в интернет-магазине доход будет приходить в количестве 15% (для ноутбуков, нетбуков, сумок и акустических систем) и 23% (для мышей и внешних жёстких дисков) от стоимости его продажи. Вот средняя стоимость всех товаров по категориям выраженная в долларах США: ноутбуки - 717$, нетбуки - 520$, мыши - 20$, сумки - 36$, внешние жёсткие диски - 113$, акустические системы - 44$. Ожидаемое число сделок по продаже одной единицы товара в месяц следующее: ноутбуки - 25, нетбуки - 10, мыши - 40, сумки - 20, внешние жёсткие диски - 10, акустические системы - 35. Теперь я подсчитаю чистый доход (с учётом уплаты налога) по реализации всей планируемой продукции: ноутбуки - 2689$, нетбуки - 780$, мыши - 184$, сумки - 108$, внешние жёсткие диски - 260$, акустические системы - 231$. Итого чистый месячный доход (с учётом налогов и погашения стоимости приобретения товара у поставщиков, но без учёта остальных издержек) составит 4252$. С учётом того, что ежемесячные издержки составляют 1020$ - 2260, при данных обстоятельствах и условиях ведения бизнеса можно утверждать, что он рентабелен и приносит ежемесячную прибыль в размере 1992$ - 3232$ (в зависимости от того, сколько ежемесячно денежных средств уходит на покрытие различных издержек).

Бизнес-план для интернет-магазина разработан. Остаётся подсчитать срок окупаемости данного коммерческого интернет-проекта, а также проверить, не будет ли превышать валовый доход от этого бизнеса сумму в 3,4 млрд. бел. руб.. Сумма годового валового дохода будет находиться в промежутке 159360$ - 258560$ (примерно 1,39 - 2,25 млрд. бел. руб. при курсе 1 USD = 8700 BYR), а это значит, что данный тип налогообложения является доступным для видения такого рода коммерческой деятельности. Средняя чистая прибыль за месяц будет составлять 2612$, а затраты на создание бизнеса были в пределах 11060$ - 17370$. Отсюда следует, что срок окупаемости проекта будет в пределах от 5 до 7 месяцев. Это очень хороший показатель, однако следует учитывать, что существенная экономия денежных средств была произведена на разработке сайта интернет-магазина и на покупке оргтехники, поэтому срок окупаемости мог бы быть больше на 1 месяц.


РАЗРАБОТКА МОДУЛЯ СРАВНЕНИЯ ТОВАРОВ ДЛЯ ИНТЕРНЕТ-МАГАЗИНА


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

Разработанный мною модуль работает следующим образом: у каждого товара в интернет-магазине ниже кнопки «Купить» появляется элемент checkbox, после которого следует надпись «Сравнить». При нажатии на checkbox в нём появляется галочка, а это означает, что данный товар обрабатывается модулем сравнения. Он появляется в области модуля сравнения товаров, которая была задана мною в позиции «left», ниже модулей навигации, выбора валюты, поиска товаров, корзины и авторизации. Под данным товаром в области модуля сравнения появятся две кнопки «Сравнить» и «Очистить», для которых я прописал соответствующие команды. Кнопка «Сравнить» при наличии лишь одного товара в модуле сравнения имеет светло-серый оттенок с белым шрифтом на фоне и команда сравнения не выполняется, так как сравнивать товар не с чем. Для кнопки «Очистить» была прописана команда, которая очищает из списка сравнения все товары, тем самым модуль становится неактивным и пустым, после этого в его памяти не находится ни одного товара.

Затем, после нажатия на элемент checkbox любого другого товара из той же категории, что и первый товар, он также переносится в область модуля сравнения, после чего шрифт надписи на кнопке «Сравнить» меняется с белого на чёрный. Это означает то, что теперь товары можно сравнивать. После нажатия на кнопку товары выведутся на новую страницу сайта, где будут представлены их названия, изображения, артикулы, описания и все свойства, которые были указаны ранее для всех товаров. Также среди всего перечисленного будут доступны кнопки «Удалить из сравнения» в виде красного перекрестия и «Купить», чтобы не искать этот товар на сайте заново в том случае, если после сравнения покупатель захочет его приобрести посредством помещения в корзину.

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

Вывод сравнения товаров можно представить в виде таблицы. Рассмотрим пример с тремя ноутбуками:


Таблца 4. Пример сравнения товаров.

НаименованиеНоутбук Acer Aspire 5738Z-452G25Mnbb (LX.PAQ0C.001) <#"justify" height="102" src="doc_zip1.jpg" /> <#"justify" height="98" src="doc_zip2.jpg" /> <#"justify" height="103" src="doc_zip3.jpg" /> <#"justify" height="35" src="doc_zip4.jpg" />Кнопка «Удалить из сравнения»АртикулAcer 04Acer 05Acer 01Описание15,6" (1366 x 768), 2,7 кг, Pentium T4500, Intel GMA 4500MHD, 2 Гб DDR3, 250 Гб (5400 RPM), DVD Multi (запись CD/DVD), батарея 6 ячеек, цвет корпуса: чёрный/синий15,6" (1366 x 768), 2,7 кг, Core i3 2330M, NVIDIA GeForce GT 555M, 4 Гб DDR3, 500 Гб, DVD Multi (запись CD/DVD), Bluetooth, батарея 6 ячеек, цвет корпуса: серебристый15,6" (1366 x 768), 2,38 кг, Pentium B950, Intel HD Graphics, 4 Гб DDR3, 750 Гб (5400 RPM), DVD Multi (запись CD/DVD), батарея 6 ячеек, цвет корпуса: чёрныйПроизводительAcerLenovoAcerВидеокартаIntelNVIDIA GeForceIntelДиагональ, 15,615,615,6Память, Гб2 44HDD, Гб250500750

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

Разработанный мною модуль состоит из 12 текстовых файлов с кодом, а также из 14 рисунков. Мой модуль можно устанавливать на CMS Joomla! двумя способами, простым копированием и изменением баз данных. Ниже приведена структура модуля:


Скриншот 1. Структура модуля сравнения товаров


Сейчас речь пойдёт о способах установки модуля на CMS Joomla!. Для начала необходимо скопировать папки «administrator», «components» и «images» в корневую папку сайта созданного интернет-магазина по пути «z:\home\localhost\www\im». При совпадении имён новых файлов с уже имеющимися в каталогах и подкаталогах необходимо заменить старые файлы на новые. Следуя одному из способов установки, далее требуется в адресной строке браузера прописать «localhost\Tools\phpmyadmin\», а затем выбрать из списка баз данных базу с названием «im». Далее из списка таблиц, которых в базе данных сайта интернет-магазина «Электрон» насчитывается 182, необходимо отыскать таблицу с названием «jos_vm_category» и выполнить запрос «ALTER TABLE `jos_vm_category` ADD `allow_compare` CHAR( 1 ) DEFAULT 'Y';». После проделанных операций нужно зайти в настройки Virtuemart, затем открыть список всех модулей, а далее перейти по ссылке «перечень функций» в строке с названием модуля «shop» и добавить три функции с указанными ниже параметрами:


Таблица 5. Функции, необходимые для работы модуля сравнения

Имя функцииИмя классаМетод классаПраваcomparisonAddps_comparisonaddnonecomparisonDeleteps_comparisondeletenonecomparisonClearps_comparisonclearnone

Следуя второму способу, после копирования и замены соответствующих файлов нужно установить архив, который я назвал «comparison.zip», из папки «Модуль сравнения товаров» таким же образом как и те готовые модули, которые использовались при создании сайта интернет-магазина: навигации, выбора валюты, поиска товаров, корзины и авторизации. Для этого нужно зайти в панель администратора CMS Joomla! и на вкладке «Расширения» выбрать пункт меню «Установить/Удалить», после чего найти этот архив и установить его.

Для того, чтобы сравнение работало нужно добавить товарам «тип товара», иначе не будет возможности их сравнивать: элемент checkbox «сравнить» не будет даже отображаться.

Сам модуль в виде архива «comparison.zip» содержит в себе файлы «mod_virtuemart_comparison.php», «mod_virtuemart_comparison.xml» и скрипт-файл «vm_comparison.js», находящийся в папке «vm_comparison».

Ниже находится код файла «mod_virtuemart_comparison.php», в котором я посредством вставки комментариев пояснял, за что отвечают самые основные команды.

<?php( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' );( !isset( $mosConfig_absolute_path ) ) {

$mosConfig_absolute_path = $GLOBALS['mosConfig_absolute_path'] = JPATH_SITE;

}$mosConfig_absolute_path;_once( $mosConfig_absolute_path.'/components/com_virtuemart/virtuemart_parser.php' );$auth, $VM_LANG, $sess, $mm_action_url, $ps_comparison;

$param['introtext'] = $params->get( 'introtext', '');

// Текст, описывающий работу с модулем

//$param['show_in_popup'] = $params->get( 'show_in_popup', 0);

// Данная команда позволяет выводить сравнение товаров интернет-магазина в отдельном окне

$param['show_introtext'] = $params->get( 'show_introtext', 0);

// Выводить текст всегда (еденица) или только когда товаров в сравнении нет (ноль)

//$param['style_inverted'] = $params->get( 'style_inverted', 0);

// Обратное расположение товаров и парамтеров

$param['style_scrolldiv'] = $params->get( 'style_scrolldiv', 0);

// Товары выводятся в элементе auto scroll

//$param['types'] = $params->get( 'types', '');

// команда обрабатывает только указанные типы

$param['snapshot'] = $params->get( 'snapshot', 1);

// Команда выводит к показу стандартный элемент snapshot

$param['show_price'] = $params->get( 'show_price', 1);

// Команда выводит цену товара

$param['show_title'] = $params->get( 'show_title', 1);

// Команда отвечает за показ заголовка. Она выполняется даже при отключенном отображении стандартного заголовка.

$param['title_text'] = $params->get( 'title_text', 'Сравнение товара');

$param['title_style'] = $params->get( 'title_style', 1);

//Стиль заголовока, который указан в шаблоне при загрузке модуля (mosLoadModules( $position='left', $style=0 ))

$param['show_addtocart'] = $params->get( 'show_addtocart', 1);

// Отвечает за вывод кнопки "Добавить в корзину"

$param['show_description'] = $params->get( 'show_description', 1);

// Показывает описание товара

$param['show_manufacturer'] = $params->get( 'show_manufacturer', 1);

// Выводит название бренда производителя

$param['show_linktoflypage'] = $params->get( 'show_linktoflypage', 1);

// Команда отвечает за вывод наименования товара вместе с ссылкой на его страницу

$param['show_thumb_image'] = $params->get( 'show_thumb_image', 1);

// Показывает наименование товара вместе с ссылкой на его страницу

$param['MaxProductToCompare'] = $params->get( 'MaxProductToCompare', 3);

// Максимальное количество товаров, которое можно добавить в модуль сравнения

$param['show_checkboxes'] = 1;

// если модуль отключен, то элементы сheckbox не будут отображаться возле товара и тем самым для товаров опция сравнения будет недоступна (после перезагрузки браузера)

$session =& JFactory::getSession();

$session->set('vmCompareParam', $param);

//$_SESSION['vmCompareParam'] = $param;

//if(mosGetParam($_REQUEST, 'option')=="com_virtuemart") {(JRequest::getVar('option')=="com_virtuemart") {

?>

<script type="text/javascript">MaxProductToCompare = <?php echo $param['MaxProductToCompare']; ?>;ProductsInCart = [];

//var CountTypesInCompare=0;CompareTypeID=-1;

<?php

//echo '<script type="text/javascript"> alert(11); </script>';

/*if(isset($_SESSION['compare'])) {"\r\tCountTypesInCompare = ".count($_SESSION['compare']).";\n";(isset($_SESSION['compare_type_id'])) {

$CompareTypeID = $_SESSION['compare_type_id'];"\tCompareTypeID = ".$CompareTypeID.";\n";(isset($_SESSION['compare'][$CompareTypeID]))($_SESSION['compare'][$CompareTypeID] as $ProdId){"\tProductsInCart.push(".$ProdId.");\n";

}

}echo "\tCompareTypeID = -1;\n";

}*/

//if(isset($session->get('compare')) {

$sess_compare=$session->get('compare');(isset($sess_compare)) {"\r\tCountTypesInCompare = ".count($sess_compare).";\n";

$CompareTypeID=$session->get('compare_type_id');(isset($CompareTypeID)) {"\tCompareTypeID = ".$CompareTypeID.";\n";(isset($sess_compare[$CompareTypeID]))($sess_compare[$CompareTypeID] as $ProdId){"\tProductsInCart.push(".$ProdId.");\n";

}

}echo "\tCompareTypeID = -1;\n";

}

?>

</script>

<script language="JavaScript" src="<?php echo $mosConfig_live_site; ?>/modules/mod_virtuemart_comparison/vm_comparison/vm_comparison.js" type="text/javascript"></script>

<!--

<form action="<?php echo $mm_action_url ?>index.php" method="post" name="frmProductCompare" id="frmProductCompare">

<input type="hidden" name="category_id" value="<?php //echo $param['category_id'] ?>" />

<input type="hidden" name="product_id" value="<?php //echo $product_id ?>" />

<input type="hidden" name="page" value="shop.compare" />

<input type="hidden" name="func" value="" />

<input type="hidden" name="compare_type" value="" />

<input type="hidden" name="Itemid" value="<?php //echo $sess->getShopItemid() ?>" />

<input type="hidden" name="option" value="com_virtuemart" />

</form>

->

<form action="index.php?option=com_virtuemart" name="frmProductCompare" id="frmProductCompare" method="POST">

<!--<input type="hidden" name="category_id" value="<?php //echo mosGetParam($_REQUEST, 'category_id')?>" />-->

<input type="hidden" name="category_id" value="<?php echo JRequest::getVar('category_id')?>" />

<input type="hidden" name="product_id" value="" />

<input type="hidden" name="page" value="shop.comparison_short" />

<input type="hidden" name="func" value="" />

<input type="hidden" name="compare_type" value="" />

<input type="hidden" name="Itemid" value="<?php echo $sess->getShopItemid() ?>" />

<input type="hidden" name="option" value="com_virtuemart" />

</form>

<?php'<div>

}

?>

А вот код файла «mod_virtuemart_comparison.xml» с пояснениями:

<?xml version="1.0" encoding="utf-8"?>

<install type="module" version="1.5.0">

<author>Borisenko A.S.</author>

<authorEmail>[email protected]</authorEmail>

<description>Shows products, that customer add to comparison. Если модуль отключен, то элементы checkbox не будут отображаться возле товара для добавления его в список сравнения (после перезагрузки браузера)</description>

<files>

<filename module="mod_virtuemart_comparison">mod_virtuemart_comparison.php</filename>

<filename>vm_comparison/vm_comparison.js</filename>

</files>

<params>

<param name="moduleclass_sfx" type="text" default="" label="Module Class Suffix" description="A suffix to be applied to the css class of the module (table.moduletable), this allows individual module styling" />

<param name="class_sfx" type="text" default="" label="Menu Class Suffix" description="A suffix to be applied to the css class of the menu items" />

<param name="show_title" type="radio" default="1" label="Команда выводит заголовок" description="Отвечает за показ заголовка модуля. Отображается только если товар добавлен в сравнение.">

<option value="1">Да</option>

<option value="0">Нет</option>

</param>

<param name="title_text" type="text" default="Сравнение товара" label="Текст выводимого заголовка" description=""/>

<param name="title_style" type="radio" default="1" label="Стиль выводимого заголовка" description="Метод отображения заголовка">

<option value="0">Табличный</option>

<option value="1">Заголовок H3</option>

<option value="2">DIV</option>

</param>

<param name="introtext" type="textarea" cols="20" rows="5" label="Текст" description="Текст, описывающий работу с модулем" />

<param name="show_introtext" type="radio" default="0" label="Выводить текст всегда" description="Команда выводит текст всегда или только когда товаров в сравнении нет">

<option value="1">Да</option>

<option value="0">Нет</option>

</param>

<param name="style_inverted" type="radio" default="0" label="Отвечает за расположение товаров" description="Команда выводит текст всегда или только тогда, когда товаров в сравнении нет">

<option value="1">В строках</option>

<option value="0">В колонках</option>

</param>

<param name="style_scrolldiv" type="radio" default="0" label="Товары в элементе auto scroll" description="Выводит товары в слое с прокруткой">

<option value="1">Да</option>

<option value="0">Нет</option>

</param>

<param name="MaxProductToCompare" type="text" default="3" label="Отображает количество товаров для сравнения" description="Отвечает за максимально количество товаров, которое можно добавить в сравнение"/> <param name="snapshot" type="radio" default="1" label="Стандартный snapshot" description="Определяет показывать стандартный snapshot (как в стандартных модулях CMS Joomla!) или свой собственный">

<option value="1">Да</option>

<option value="0">Нет</option>

</param>

<param name="show_thumb_image" type="radio" default="1" label="Выводит изображение товара" description="Команда отвечает за отображение мини-изображения товара. Работает лишь в том случае, если snapshot собственный, а не стандартный.">

<option value="1">Да</option>

<option value="0">Нет</option>

</param>

<param name="show_price" type="radio" default="1" label="Выводит цену товара" description="Показывает цену товара.">

<option value="1">Да</option>

<option value="0">Нет</option>

</param>

<param name="show_addtocart" type="radio" default="1" label="Выводить добавление в корзину" description="Показывает кнопку 'Добавить в корзину'.">

<option value="1">Да</option>

<option value="0">Нет</option>

</param>

<param name="show_description" type="radio" default="1" label="Команда выводит описание товара" description="Показывает описание товара. Только в том случае, если snapshot собственный.">

<option value="1">Да</option>

<option value="0">Нет</option>

</param>

<param name="show_manufacturer" type="radio" default="1" label="Выводить производителя" description="Команда отображает наименование производителя. Только тогда, когда активным является собственный snapshot.">

<option value="1">Да</option>

<option value="0">Нет</option>

</param>

<param name="show_linktoflypage" type="radio" default="1" label="Команда выводит ссылку на флаер" description="Показывает наименование товара ссылкой на его страницу, но только в том случае, если активен собственный snapshot.">

<option value="1">Да</option>

<option value="0">Нет</option>

</param>

</params>

</install>


. ОПТИМИЗАЦИЯ РАБОТЫ ИНТЕРНЕТ-МАГАЗИНА С БАЗАМИ ДАННЫХ


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

Было бы весьма удобно вводить значения для каждого товара в таблицы, к примеру в программе Microsoft Excel. Это, пожалуй, самый популярный табличный редактор и практически каждый человек сталкивался с ним хотя бы пару раз в жизни. Принимая во внимание, что с этой программой умеют работать многие люди, можно допустить, что складовщик на фирме может вести учёт товара, принимать новый товар и вводить данные по старым и новым товарам в таблицы Excel. И если осуществить интеграцию таблиц Excel с Joomla! 1.5 и Virtuemart 1.1.9, то это существенно облегчит выполнение многих практически ежедневных задач в жизни фирмы, которая реализует свои товары через интернет-магазин.

Опираясь на эту идею, я разработал компоненту, которая переносит данные, свойства и значения для всех товаров из таблиц Excel в компоненту Virtuemart интернет-магазина. В принципе таблица необязательно должна быть создана в Microsoft Excel, главное, чтобы форматом файла с таблицей был формат «*.CSV». При этом таблицу с таким форматом можно создать и в других редакторах. CSV (от англ. <#"justify">Название типа в VirtuemartЗначениеproduct_skuАртикул товараproduct_nameНаименование товараcategory_pathПуть к категорииproduct_priceЦена товараproduct_s_descКраткое описание товараproduct_descПолное описание товараproduct_thumb_imageМини-изображениеproduct_full_imageИзображение товараproduct_weightВес товараproduct_weight_uomЕдиницы измерения весаproduct_lengthДлина товараproduct_widthШирина товараproduct_heightВысота товараproduct_lwh_uomЕд.изм-ия длины, ширины, высотыproduct_in_stockКол-во товара на складеproduct_available_dateДата, с которой товар доступен в магазинеproduct_discount_idID скидкиНазвание типа в VirtuemartЗначениеproduct_discountФиксированный размер скидкиproduct_discount_date_startДата начала действия скидкиproduct_discount_date_endДата окончания действия скидкиmanufacturer_idID производителя товараmanufacturer_nameНаименование производителя товараproduct_tax_idID налоговой ставкиproduct_salesКоличество товара, которое было проданоproduct_parent_skuОпределения основного товара для дочерних товаровattributeОсновное свойствоcustom_attributeДополнительное свойствоattributesСвойства товараattribute_valuesЗначения свойствproduct_specialРекомендуемый товар

Ниже приведены некоторые товары из таблицы выгрузки для интернет-магазина «Электрон». Для товаров мне пришлось добавлять другие параметры, которых нету по умолчанию в Virtuemart. Для ноутбуков и нетбуков - proizvoditel и proizvoditeln (бренд производителя), videocard и videocardn (видеокарта), diagonal и diagonal (диагональ монитора), OZU и OZUn (оперативная память), HDD и HDDn (ёмкость жёсткого диска) соответственно. Для мышей - proizvoditelm и provod (наличие провода). Для сумок - proizvoditelb, diagonalb и typeb (тип: сумка, рюкзак, папка). Для внешних жёстких дисков - proizvoditelh, korpush (материал корпуса) и HDDh. Для акустических систем - proizvoditela, systema (система конфигурации колонок), PDUa (наличие пульта дистанционного управления) и moschnosta (мощность).


Таблица 7. Товары к импорту в Virtuemart из Microsoft Excel

Название типа в VirtuemartASUS LamborghiniTranscend StoreJetproduct_skuASUS 11Transcend 06hproduct_nameНоутбук ASUS Lamborghini VX7SX (90N92C224W3167VD23AY)Внешний жесткий диск Transcend StoreJet 25D3 640 Гб (TS640GSJ25D)category_pathНоутбуки/ASUSВнешние жёсткие диски/ Transcendproduct_price1480 $ 94,77 €product_s_desc15.6" (1920 x 1080), 3.82 кг, Core i7 2630QM, NVIDIA GeForce GTX 560M, 6 Гб DDR3, 750 Гб (7200 RPM), DVD Multi (запись CD/DVD), Bluetooth, батарея 8 ячеек, цвет корпуса: чёрный/оранжевый2.5", корпус: пластик, USB 3.0proizvoditelASUSTranscendvideocardNVIDIA GeForcediagonal15,6OZU6HDD750640korpushпластик

Для удобства я представил таблицу таким образом. Однако для последующего интегрирования таблицы с Virtuemart нужно сохранить файл со всеми товарами и его параметрами в «*.CSV» формате, а для этого необходимо составлять таблицу изначально в другом виде. Строки и столбцы нужно поменять местами, т.е. инвертировать таблицу, для того чтобы файл формата «*.CSV» был корректно сохранён и был пригоден для интеграции. При сохранении таблицы в данный формат обязательно нужно выбрать кодировку файла «UTF-8», потому что кодировка всех баз данных сайта интернет-магазина именно такая. Если же выбрать другую кодировку - символы на сайте будут отображаться неверно.

Далее нужно отредактировать шаблон импорта товара с которым будет вестись работа, оставив в нём лишь те поля и в том порядке, как и в таблице импорта. Затем во вкладке «Импорт» необходимо выбрать только что отредактированный шаблон и загрузить соответствующий файл формата «*.CSV». После этого появится превью, в котором будет показано как выведутся товары в интернет-магазин, но лишь в том случае, если при создании шаблона импорта товаров была поставлена галочка в соответствующем элементе checkbox. Остаётся нажать кнопку «Импорт» и все товары бывшие в таблице перенесутся в интернет-магазин со всеми своими параметрами и их значениями.

При любых изменениях, либо погрешностях достаточно изменить базовую таблицу, сохранить её в новый файл с форматом «*.CSV» и после этого загрузить этот файл через уже имеющийся шаблон импорта. Всё реализуется очень быстро, удобно и просто, а главное - экономит солидное количество времени при возникших изменениях в номенклатуре товара.

ЗАКЛЮЧЕНИЕ


В данной работе была изучена среда Joomla 1.5.x и её компонента Virtuemart 1.1.x. Были рассмотрены и проверены на практике многие их возможности, посредством использования которых удалось создать интернет-магазин «Электрон» по продаже компьютерной техники. В частности это установка и настройка шаблонов и модулей, создание меню, товаров, типов и категорий товаров, вариантов оплаты и доставки. После всего проделанного объёма работы магазин содержит в себе 130 товаров, меню навигации, поиска, регистрации и выбора валют.

Стоит отметить, что для создания интернет-магазина использовался уже готовый шаблон, однако путём различных изменений в кодировке файлов форматов «.php» и «.css» удалось видоизменить его, сделать нестандартным и более приятным на внешний вид. В процессе доработки внешнего вида сайта изменялись оба шаблона: шаблон Joomla «siteground-j15-18» и шаблон Virtuemart «vm_green».

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

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

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

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

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

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

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

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

интернет магазин база данные

  1. Хаген Граф, Создание веб-сайтов с помощью Joomla! 1.5, (2009).
  2. Д.Н. Колисниченко, Joomla 1.5. Руководство пользователя, (2009).
  3. Дэн Рамел, Самоучитель Joomla, (2008).
  4. Бэрри Норт, Joomla! Практическое руководство, (2008).
  5. Н.А. Мациевский, Е.В. Степанищев, Г.В. Кондратенко, Реактивные веб-сайты, (2010).
  6. Д.В. Котеров, PHP 5 в подлиннике, 2 издание, (2008).
  7. С.Г. Горнаков, Осваиваем популярные системы управления сайтом (CMS), (2009).
  8. Б. Хоган, HTML5 и CSS3. Веб-разработка по стандартам нового поколения, (2012).
  9. Кристофер Шмитт, CSS. Рецепты программирования, 3-е издание, (2011).
  10. Рейчел Эндрю, CSS. 100 и 1 совет, (2010).
  11. Бен Хеник, HTML и CSS Путь к совершенству, (2011).

12. <http://ktonanovenkogo.ru/joomla/virtuemart-joomla/> .

. <http://webkev.com/> .

. <http://www.oborot.ru/> .

. <http://www.web-analyst.ru/business_plan.html>


Содержание Введение . Общая схема интернет-магазина . Установка CMS Joomla, Virtuemart и Denwer на компьютер . Настройка внешнего вида и функцио

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ