Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Разработка мебельного интернет-магазина

Содержание:

Введение

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

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

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

Системы электронной коммерции помогут сэкономить на персонале и на аренде площадей для торговых залов.

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

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

Объектом исследования является мебельный магазин.

Предмет исследования – информационные процессы, циркулирующие на предприятии.

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

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

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

1. Цели и концепция Web-ресурса

1.1. Миссия компании

ООО «ЛюксМебельПлюс» занимается розничной торговлей мебелью.

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

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

Вся продукция компании сочетает две главные характеристики: приемлемую стоимость и высокое качество. Несомненным преимуществом является сотрудничество непосредственно с производителями. Будучи официальным представителем многих наиболее известных фирм, среди них такие компании-гиганты, как «Мебель-Неман» и «ЗОВ», компания гарантирует выполнение заказов в предельно короткий срок и по наиболее привлекательным ценам.

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

1.2. Обоснование необходимости создания Web-ресурса

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

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

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

В настоящее время использование Интернет-магазина является одним из наиболее достоверных способов увеличить продажи.

Интернет-магазин представляет собой своего рода Web-представительство организации в сети Интернет. [12, с.96]

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

Расходы на рекламу Интернет-магазина, при грамотном подходе, будут значительно меньше, чем реклама обычного магазина в других традиционных средствах массовой информации. Современные инструменты контекстной рекламы (такие, как Яндекс.Директ [15]) позволяют гибко управлять рекламной компанией, неся расходы только за реальный результат, позволяют настроить рекламу для заданного географического региона, и при необходимости, выбирать целевую аудиторию.

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

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

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

При всех неоспоримых плюсах, при использовании в качестве инструмента продаж Интернет-магазина существуют и некоторые проблемы. К примеру, у потенциального клиента нет возможности «пощупать товар руками», посмотреть своими глазами. Также следует отметить, что клиент не имеет 100% гарантии, что доставленный товар будет соответствовать ожидаемому качеству и нет уверенности в качестве сопровождения совершаемой покупки. Существует и некое недоверие к покупкам он-лайн, поскольку в Интернет-торговле покупатель менее защищен от недобросовестного продавца.

Таким образом, при открытии Интернет-магазина, мы решаем ряд следующих проблем (задач):

1) Предприятие принимает решение об открытии Интернет-магазина, чтобы значительно расширить территорию продаж и получает возможность сэкономить значительные средства на аренде за счет закрытия дополнительного офиса;

2) В связи с запуском в работу Интернет-магазина предприятие получает возможность автоматизировать некоторые моменты рутинной ручной работы (к примеру, оформление заказа на бумаге);

3) Предприятие закрывает дополнительный офис, чтобы высвободившиеся от аренды деньги направить на создание Интернет-магазина и его развитие;

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

1.3. Описание свойств Web-ресурса, требуемых для решения выбранной задачи

Интернет-магазин (английский вариант - online shop или e-shop) – веб-сайт, рекламирующий товар или услугу, принимающий заказы на покупку, предлагающий пользователю выбор варианта расчета, способа получения заказа и выписывающий счет на оплату. [16, с.59]

Основными целями создания и размещения Интернет-магазина являются следующие:

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

Необходимость создания магазина в Интернет совпадает с назначением его традиционного «коллеги». Интернет-магазин должен продавать товары компании через Интернет. Следует иметь в виду, что издержки на содержание магазина в Интернет могут быть меньше или даже сравниться с издержками на содержание обычного магазина, однако Интернет-магазин обладает рядом неоспоримых преимуществ. Кроме того, расходы на создание и поддержку работы Интернет-магазина ниже «традиционных».

Преимущества Интернет магазина:

  • не надо искать «доходное место» - для магазина в Интернете все «места» одинаковы;
  • магазин в Интернете будет работать даже во время ремонта;
  • Интернет-магазин открыт 24 часа в сутки и 365 дней в году;
  • не надо содержать большое количество торговых менеджеров-консультантов для работы в магазине;
  • можно презентовать товар, которого нет на складе;
  • магазин в Интернете более ориентирован на целевую аудиторию;
  • создание Интернет-магазина позволяет бесконечно расширять спектр товаров и услуг в одном «помещении».

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

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

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

1.4. Характеристика целевой аудитории

Целевая аудитория сайта – это преимущественно люди среднего и высокого достатка, как физические, так и юридические лица.

Возрастной диапазон колеблется от 16 до 65 лет, от студентов до пенсионеров, как мужчины, так и женщины. Географическое положение клиентов – Ногинск (65%), другие города – 35%.

1.5. Характеристика и анализ Web-ресурсов по аналогичной тематике

Рассмотрим мебельные интернет-магазины Москвы.

http://mebelisimo.ru/

Рис.1.1. Интернет-магазин Мебелисимо.ру

http://domson.ru/

Рис.1.2. Интернет-магазин ДомСон

http://www.mebelshop.com/

Рис.1.3. Интернет-магазин mebelshop

2. Параметры и внешний вид Web-ресурса

2.1. Обоснование выбора имени и названия Web-ресурса

Веб-ресурс желательно назвать так, чтобы название говорило о назначении сайта. Домен будем выбирать в зоне ru. Проверим на сайте http://www.nic.ru домен luxmebelplus.ru. Результаты поиска представлены на рис.2.1.

Рис.2.1. Проверка домена

Выбранный домен свободен, поэтому оставим luxmebelplus.ru.

2.2. Обоснование лингвистического обеспечения Web-ресурса

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

2.3. Обоснование выбора графического режима Web-ресурса

С популяризацией крупноформатных мониторов, многие веб-дизайнеры подняли планку «минимального разрешения экрана» с 1024х768 точек на 1280х1024 точек. Посмотрим статистику.

разрешения мониторов для веб-дизайна

Рис.2.2. Статистика использования расширений

По статистике самое распространенное расширение – 1280x1024.

2.4. Обоснование принятых решений по цветовой схеме Web-ресурса

Цветовая схема была выбрана зеленая/коричневая. Такой дизайн наиболее подходит для продажи мебели.

2.5. Обоснование принятых решений по размеру и виду шрифта

Для сайта был выбран шрифт 12, так как меньший шрифт будет трудно читаться, а больший может выглядеть не очень хорошо.

Хороший вариант использования шрифта – Verdana. Будет хорошо и удобно читаться, благодаря ширине букв и междубуквенном расстоянии.

2.6. Обоснование принятых решений по формированию фирменного стиля

Стиль электронного ресурса полностью соответствует фирменному стилю компании. Редизайн не проводился.

3. Обоснование выбора инструментария для создания Web-ресурса

3.1. Обоснование технологии получения и размещения информационного наполнения Web-ресурса

Источники информации на сайте – приказы, инструкции руководства компании, законодательные акты в сфере услуг.

Информация о компании не обновляется. Обновляется только информация о товарах. Цены обновляются в зависимости от курса доллара. Вакансии добавляются по мере их появления.

Информационные блоки для трансляции не покупаются.

3.2. Обоснование выбранных технологий для обеспечения совместимости Web-ресурса с различными браузерами

Рассмотрим версии браузеров, на которых Web-ресурс должен корректно отображаться и функционировать. Ниже приведена статистика наиболее используемых браузеров.

http://codda.ru/wp-content/uploads/2012/04/krossbrauzernost-sayta-web-design.png

Рис.3.1. Статистика используемых браузеров

Наиболее используемые браузеры – Opera, Chrome, Firefox. Именно на эти браузеры будет ориентирован веб-ресурс.

3.3. Обоснование выбора программного обеспечения для создания Web-ресурса

3.3.1. Обоснование выбора программных продуктов для создания графики

Одним из наиболее распространенных типов программ для работ с графикой являются графические редакторы. Графический редактор – компьютерная программа позволяющая ее пользователю создавать и редактировать изображения на экране компьютера и сохранять их во многих популярных форматах, например JPEG, PNG, GIF, TIFF. Некоторые графические редакторы специализируются на редактировании фотореалистических изображений, в то время как другие более «заточены» на создание и редактирование рисунков. 

Adobe Photoshop – графический редактор, разработанный и распространяемый фирмой Adobe Systems. Этот продукт является лидером рынка в области коммерческих средств редактирования растровых изображений, и наиболее известным продуктом фирмы Adobe. Часто эту программу называют просто Photoshop (Фотошоп).

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

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

Возможности программы Adobe Illustrator: трехмерные спецэффекты; искажение и деформация изображения; спецэффекты в режиме реального времени; эффект прозрачности; эффект Scribble (векторные обьекты будут выглядеть как наброски, нарисованные от руки); инструменты рисования, соответствующие отраслевым стандартам; стили символов и параграфов; пользовательский интерфейс в стандартном стиле Adobe; средства создания файлов Adobe PDF; интеграция с другими приложениями; повышенная производительность; расширенные возможности печати; улучшенные средства работы с текстом; поддержка слоев Adobe PDF; тесная интеграция с продуктами Microsoft Office; создание собственных шаблонов.

Photo! Editor – бесплатный редактор графических файлов. Инструменты в Photo! Editor могут работать как в автоматическом режиме, так и ручном.

Photo! Editor позволяет сменить формат фотографии — поддерживаются такие распространенные форматы, как.jpeg,. Bmp,. Png,. Gif и.tiff.

Некоторые возможности Photo! Editor: удаление эффекта красных глаз (автоматически и в ручном режиме); цветокоррекция для настройки цветового баланса, контраста, яркости и насыщенности; удаление световых и цветовых шумов на фотографии, сделанной при плохом освещении; новейшая технология настройки резкости изображения (даже для очень расплывчатой фотографий); набор инструментов деформации изображения для создания карикатур; полный набор инструментов для ретуширования портретных изображений; баланс освещения — для создания художественных световых эффектов и 3D рельефа; инструмент для выравнивания изображения; пакетная обработка изображений

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

Одной из уникальных возможностей программы PhotoFiltre является работа с выделенными фрагментами изображений. Есть возможность применять к выделенным фрагментам собственные эффекты и сохранять их в отдельные файлы.

Некоторые возможности PhotoFiltre: расширение программы плагинами (более 30); более 100 различных фильтров; модуль автоматизации для применения базовых функций (конвертация, изменение размеров, рисование рамок) к группам изображений; создание иконок из GIF-изображений; расширенные текстовые эффекты (вращение, тени , выпуклость); различные типы контуров и текстур; наложение и комбинация изображений.

Для создания графики был выбран Photoshop, так как она наиболее функциональная и распространенная.

3.3.2. Обоснование выбора программных продуктов для создания анимации

Рассмотрим программные продукты для создания анимации.

Программа Easy GIF Animator предназначена для создания анимированных изображений формата GIF, дополняя их при этом разного рода спецэффектами.

Easy GIF Animator имеет много настроек, при помощи которых можно изменять практически все характеристики GIF-файла. В том числе цветовую гамму ролика и его продолжительность. Кроме того, программа позволяет добавлять тексты непосредственно на изображение, осуществлять предварительный просмотр проекта в браузере и преобразовывать GIF-анимацию в AVI-файлы. Также можно добавлять в создаваемую анимацию звуковое сопровождение и сохранять результат в формате SWF

Adobe Flash CS5 Professional – это одна из самых мощных и популярных программ, которая предназначена для профессиональной разработки интерактивных флэш-роликов или интерактивного содержимого веб-страничек, а также для создания видео-флешроликов.

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

Anime Studio - программа для создания двумерной анимации. Anime Studio включает в себя набор мощных инструментов по созданию векторной графики, работе с растровыми изображениями. Имеется встроенный мастер создания персонажей, есть обучающий режим, поддерживается трассировка растровых картинок. Программа позволяет импортировать в проект звуковые файлы или записать собственные, синхронизировав речь персонажа с воспроизводимым звуком. Библиотека программы включает в себя множество готовых сцен, персонажей, аудио- и видеоклипов, кистей для рисования и т.д. Использование встроенной системы "костей" позволяет с лёгкостью анимировать движения частей тела персонажа. Есть возможность публикации проекта на YouTube и Facebook. Созданные мультяшки можно экспортировать в форматы MOV, AVI и SWF.

Active GIF Creator - это программа для создания анимированных изображений в графическом формате GIF.

С помощью программы Active GIF Creator вы сможете создавать превосходные анимации для веб-страничек. Кроме того, используя картинки или графику, созданную в любой программе редактирования изображений, например, такой как Windows Paint, Adobe Photoshop и дюжине других подобных программ можно легко и быстро создавать даже фильмы.

Active GIF Creator является очень полезной утилитой для создания анимированных изображений в формате GIF.

На сайте будет использована анимация на главной странице – машина на карте будет двигаться. Для этого была выбрана программа Adobe Flash CS5 Professional, так как автор работы не владеет другими программами.

3.3.3. Обоснование выбора СУБД

Рассмотрим наиболее популярные СУБД.

Oracle

На основе СУБД Oracle функционирует множество информационных систем. Современный сервер базы данных Oracle 9i R2 включает в себя виртуальную машину Java (в дополнение к PL/SQL), процессор XML, контейнер EJB, средства работы с медиа- и пространственными данными. Начиная с Oracle 8i начали поддерживаться объектные средства.

Oracle уделяет большое внимание надежности продукта. Версия 9i дает возможность производить резервное копирование (и получать непротиворечивые снимки) на работающей СУБД. Возможна онлайн-репликация рабочей БД, содержащей актуальную копию данных.

Oracle применяется для организации больших баз данных (хотя существует и Oracle Personal Edition), эффективно поддерживает кластеры и многопроцессорные машины. Для поддержки хранилищ данных был создан модуль Oracle Data Mining, позволяющий классифицировать, предсказывать поведение и выявлять взаимосвязи больших объемов данных.

Oracle работает на основных коммерческих UNIX, при этом ведущей платформой разработки является SUN Solaris. Для компьютеров на процессорах Intel выпускаются версии для Windows NT и Linux.

Стоимость лицензии на Oracle 9i зависит от количества пользователей, либо же от мощности cервера, на который СУБД будет устанавливаться. Cуществуют три разные редакции продукта. Oracle 9i Database Enterprise Edition - самый полный вариант СУБД, Standard Edition может быть установлена на компьютеры, содержащие не более четырех процессоров, и, наконец, версия Personal Edition предназначена для использования на рабочей станции пользователя. Кластерная технология от Oracle называется Oracle Real Application Clusters и лицензируется отдельно.

My SQL

Платформа данных SQL включает следующие инструменты:

Реляционная база данных: безопасное, надёжное, масштабируемое, высокодоступное ядро с улучшенной производительностью и поддержкой структурированных и неструктурированных (XML) данных.

Replication Services: репликация данных для распределённых и мобильных приложений обработки данных, высокая доступность систем, масштабируемый параллелизм со вторичными хранилищами данных для отчётных решений предприятия и интеграция с разнородными системами, включая существующие базы данных Oracle.

Notification Services: развитые возможности уведомлений для разработки и внедрения масштабируемых приложений, способных доставлять персонализированные, своевременные обновления информации множеству соединённых и мобильных устройств.

Integration Services: возможности извлечения, преобразования и загрузки для хранилищ данных и интеграции данных в масштабе предприятия.

Analysis Services: аналитическая обработка в реальном времени (OLAP) для быстрого, сложного анализа больших и смешанных наборов данных, использующая многомерное хранение.

6. Reporting Services: возможность создания, управления и доставки как традиционных бумажных отчетов, так и интерактивных, основанных на технологии WWW отчётов.

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

Microsoft Access

Система Microsoft Access является одним из компонентов Microsoft Office и предназначена для работы с реляционными базами данных. Особенность данной СУБД: вся информация базы данных хранится в одном файле (*.mdb). Кроме информации таблиц, в этом же файле сохраняются компоненты приложения для работы с базой данных - экранные формы, отчеты, запросы, программные модули.

Для работы с базой данных система использует Microsoft Jet database engine - систему управления базами данных, извлекающую и сохраняющую данные в пользовательских и системных задачах. Ядро базы данных Microsoft Jet можно рассматривать как компонент диспетчера данных, с помощью которого строятся остальные системы доступа к данным, такие как Microsoft Access и Microsoft Visual Basic.

Язык написания программных модулей для работы с базой данных - Microsoft Visual Basic for Applications (VBA).

MS Access обеспечивает два способа защиты базы данных:

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

Одно из основных преимуществ MS Access - это тесная интеграция с MS Office и MS SQL Server 2000. Благодаря последнему, настольную БД на MS Access довольно легко превратить в клиент-серверное приложение, в котором MS Access будет играть роль клиента.

FireBird

Firebird (FirebirdSQL) — очень компактная, кроссплатформенная, свободно распространяемая (бесплатная) СУБД с открытым кодом, работающая на платформах: GNU/Linux, Microsoft Windows и разнообразных Unix.

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

Основные характеристики:

  • соответствие требованиям ACID: Firebird сделан специально, чтобы удовлетворять требованиям «атомарности, целостности, изоляции и надежности» транзакций;
  • версионная архитектура: основная особенность Firebird – версионная архитектура, позволяющая серверу обрабатывать различные версии одной и той же записи в любое время таким образом, что каждая транзакция видит свою версию данных, не мешая соседним. Это позволяет использовать одновременно OLTP и OLAP запросы;
  • хранимые процедуры: используя язык PSQL Firebird, возможно создавать сложные хранимые процедуры для обработки данных полностью на стороне сервера. Для генерации отчётов особенно удобны хранимые процедуры с возможностью выборки, возвращающие данные в виде набора записей. Такие процедуры можно использовать в запросах точно так же как и обычные таблицы;
  • события: хранимые процедуры и триггеры могут генерировать события, на которые может подписаться клиент. После успешного завершения транзакции (COMMIT) он будет извещён о произошедших событиях и их количестве;
  • генераторы: Идея генераторов (последовательностей) делает возможной простую реализацию автоинкрементных полей, и не только их. Генераторы являются 64-битными хранимыми в базе данных счётчиками, работающими независимо от транзакций. Они могут быть использованы для различных целей, таких как генерация первичных ключей, управление длительными запросами в соседних транзакциях, и т. д.;
  • базы данных только для чтения: позволяют распространять базы данных, к примеру, на CD-ROM. Особенно упрощает распространение данных их использование в комбинации с встраиваемой версией сервера Firebird (Firebird Embedded);
  • полный контроль за транзакциями: Одно клиентское приложение может выполнять множество одновременных транзакций. В разных транзакциях могут быть использованы разные уровни изоляции. Протокол двухфазного подтверждения транзакций обеспечивает гарантированную устойчивость при работе с несколькими базами данных. Так же доступны оптимистическое блокирование данных и точки сохранения транзакций;
  • резервное копирование на лету: Для резервного копирования нет надобности останавливать сервер. Процесс резервного копирования сохраняет состояние базы данных на момент своего старта, не мешая при этом работе с базой. Кроме того, существует возможность производить инкрементальное резервное копирование БД;
  • триггеры: Для каждой таблицы возможно назначение нескольких триггеров, срабатывающих до или после вставки, обновления или удаления записей. Для триггеров используется язык PSQL, позволяя вносить начальные значения, проверять целостность данных, вызывать исключения, и т. д. В Firebird 1.5 появились «универсальные» триггеры, позволяющие в одном триггере обрабатывать вставки, обновления и удаления записей таблицы;
  • внешние функции: библиотеки с UDF (User Defined Function) могут быть написаны на любом языке и легко подключены к серверу в виде DLL/SO, позволяя расширять возможности сервера «изнутри»;
  • декларативное описание ссылочной целостности: Обеспечивает непротиворечивость и целостность многоуровневых отношений «master-detail» между таблицами;
  • наборы символов: Firebird поддерживает множество международных наборов символов (включая Unicode) с множеством вариантов сортировки.

Более наглядное представление характеристик СУБД представлено в таблице 2.

Таблица 2

Сравнительный анализ характеристик СУБД

Характеристики

MySQL

Oracle

Microsoft Access

FireBird

1

2

3

4

5

Стоимость

Бесплатная

от $800

от $ 250

Бесплатная

Тип СУБД

Реляционная СУБД

Объектно-реляционная СУБД

Реляционная СУБД

Реляционная СУБД

Работа под управлением различных ОС

Приемлемо

Хорошо

Приемлемо

Отлично

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

Хорошо

Отлично

Очень хорошо

Хорошо

Графические инструменты

Отлично

Хорошо

Отлично

Хорошо

Простота обслуживания

Хорошо

Отлично

Отлично

Хорошо

Механизм данных

Хорошо

Отлично

Хорошо

Хорошо

Работа с несколькими ЦП

Приемлемо

Отлично

Приемлемо

Хорошо

Функция соединения и выбор индексов

Отлично

Отлично

Хорошо

Хорошо

Одновременный доступ нескольких пользователей

Хорошо

Отлично

Хорошо

Хорошо

Обработка мультимедиа-данных

Плохо

Отлично

Плохо

Плохо

Обработка аудио, видео, изображений

Плохо

Отлично

Плохо

Плохо

Поиск по всему тексту

Хорошо

Отлично

Очень хорошо

Хорошо

Функциональная совместимость

Хорошо

Приемлемо

Хорошо

Хорошо

Сопряжение с другими БД

Хорошо

Плохо

Хорошо

Хорошо

Возможности программирования

Приемлемо

Отлично

Хорошо

Хорошо

Хранимые процедуры и триггеры

Хорошо

Отлично

Хорошо

Хорошо

Внутренний язык программирования

Плохо

Отлично

Хорошо

Хорошо

Построение баз данных

Хорошо

Отлично

Хорошо

Отлично

Язык SQL

Отлично

Отлично

Очень хорошо

Очень хорошо

Объектно-ориентированные системы

Плохо

Отлично

Плохо

Отлично

Обработка транзакций

Отлично

Отлично

Отлично

Хорошо

Организация хранилищ данных и подготовка отчетов

Отлично

Хорошо

Отлично

Хорошо

Средства загрузки

Отлично

Отлично

Хорошо

Хорошо

Средства анализа

Отлично

Хорошо

Хорошо

Хорошо

Защита данных

Отлично

Отлично

Хорошо

Хорошо

Подключение к Web

Плохо

Отлично

Хорошо

Хорошо

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

Технические возможности СУБД MySQL: ПО MySQL является системой клиент-сервер, которая содержит многопоточный SQL-сервер, обеспечивающий поддержку различных вычислительных машин баз данных, а также несколько различных клиентских программ и библиотек, средства администрирования и широкий спектр программных интерфейсов (API).

Выбранная система управления контентом Joomla разработана с помощью технологии PHP (в связке с MySQL позволяет более гибко организовывать принцип мультплатформенности).

3.3.4. Обоснование выбора программных продуктов для создания программного кода

Для разработки Интернет-магазина будет использована свободно распространяемая система управления контентом сайта «Joomla!». Преимущества этой системы – открытый код, доступный для внесения необходимых изменений, огромное количество платных и бесплатных дополнений, позволяющих эффективно решать любые поставленные перед Интернет-проектом задачи.

Joomla! — система редактирования и управления содержимым Web-сайта, написанная на языках PHP и JavaScript, использующая в качестве хранилища базу данных MySQL. Joomla! является гибкой настраиваемой системой, с помощью которой можно решать широкий круг задач в сфере создания и администрирования Web-сайта. Является свободным программным обеспечением, распространяемым под лицензией GNU GPL.

При выборе системы управления контентом основными критериями выбора были:

  • бесплатная лицензия;
  • открытый код;
  • наличие модуля для создания Интернет-магазина.

Под эти критерии подошли только 2 CMS: Joomla! и Drupal.

Отметим, что Joomla предпочтительнее для корпоративных сайтов и классических порталов. Базовая поставка богата функциональностью. Многие компоненты продаются, что положительно сказывается на их качестве. А CMS Drupal же более приспособлен под комьюнити-сайты. Есть встроенный форум, комментарии, блоги, модуль для публикации книг. Поэтому для разрабатываемого Интернет-магазина была выбрана CMS Joomla!.

Название «Joomla!» фонетически идентично слову «Jumla», которое в переводе с языка суахили означает «все вместе» или «единое целое», что отражает подход разработчиков и сообщества к развитию системы.

CMS Joomla! включает в себя различные инструменты для изготовления Web-сайта. Важной особенностью системы является минимальный набор инструментов при начальной установке, который дополняется по мере необходимости. Это снижает загромождение административной панели ненужными элементами, а также снижает нагрузку на сервер и экономит место на хостинге.

Joomla! позволяет отображать интерфейс фронтальной и административной части на любом языке. Каталог расширений содержит множество языковых пакетов, которые устанавливаются штатными средствами администрирования. Доступны пакеты русского, украинского и ещё ряд некоторых языков стран СНГ.

Основные возможности:

  • Функциональность можно расширять с помощью дополнительных модулей (расширений, плагинов);
  • Модуль безопасности для многоуровневой аутентификации пользователей и администраторов;
  • Система шаблонов позволяет легко изменять внешний вид сайта;
  • Настраиваемые схемы расположения модулей, включая, левый, правый и центральный блоки меню.

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

Возможности администрирования:

  • Для каждой динамической страницы можно создать своё описание и ключевые слова в целях повышения рейтинга в поисковых системах;
  • Начало и окончание публикации любых материалов можно запрограммировать по календарю;
  • Возможность ограничить доступ к определённым разделам сайта только для зарегистрированных пользователей;
  • Настраиваемые схемы расположения элементов по областям шаблона
  • Различные модули (последние новости, счётчик посещений, подробная статистика посещений, гостевая книга, форум и другие);
  • Возможность создания не одной, а нескольких форм обратной связи для каждого контакта;
  • Модуль приёма от удалённых авторов новостей, статей и ссылок;
  • Иерархия объектов;
  • Менеджер рассылки новостей. Поддержка более чем 360 служб рассылки новостей по всему миру;
  • Встроенный визуальный редактор TinyMCE;
  • ЧПУ — «человекопонятный URL»;
  • Около 4000 готовых модулей и компонентов.

VirtueMart это бесплатное расширение для Joomla, которое позволяет относительно легко создать качественный интернет-магазин на этой CMS. Официальный сайт проекта (на английском) virtuemart.net. На нем можно скачать последнюю версию компонента, локализацию, а также дополнительные модули и плагины к VirtueMart. Русскоязычный сайт, посвященным данному компоненту - virtuemart.ru. На нем можно найти русифицированную версию компонента VirtueMart RE.

Главным недостатком VirtueMart, является практически полное отсутствие документации на русском языке. А так как компонент довольно сложный, то его освоение может занять длительное время.

Возможности VirtueMart:

  • управление неограниченным количеством товаров и категорий;
  • компонент может быть использован как магазин, или просто как каталог (вы можете даже отключить показ цен), // VirtueMart, действительно, подходит для создания каталога чего угодно, например, городов, музыки и.т.д. При этом даже в роли компонента каталога VirtueMart является одним из лучших;
  • продажа загруженных товаров;
  • мощная панель управления;
  • импорт и экспорт товаров через CSV-файлы.//Работа через MS Excel также не составляет особого труда, поскольку в нем есть возможность сохранения файла в CSV;
  • добавление к товарам изображений и файлов;
  • добавление атрибутов (например, размер или цвет) к товару;
  • управление вашими клиентами в группах покупателей;
  • назначение нескольких цен для одного товара в зависимости от группы покупателей;
  • показ цены с учетом, либо без учета налогов (настраивается для каждой группы покупателей);
  • статистика магазина, включающая новых покупателей, новые заказы и.т.д.;
  • управление запасами товаров;
  • уведомление покупателей о появлении товара в наличии;
  • расчет для различных налогов зон (город/область и страна/регион);
  • управление вашими перевозчиками и способами доставки;
  • использование API InterShipp, UPS или Canada Post Shipping. //Также имеется возможность использования Почты России;
  • полное управление заказами включающее историю заказа, редактирование заказа, а также уведомление заказчика;
  • основные функции отчетности: проданные товары, месячные и годовые доходы;
  • управление статусами заказа;
  • покупатели могут добавлять собственные адреса доставки;
  • ваши клиенты без труда найдут продукцию через форму поиска;
  • ваши клиенты смогут узнать, что товар вновь доступен;
  • покупатели могут видеть, в какое время обычно отгружают товар на странице деталей (с изображениями);
  • покупатели могут управлять своими учетными записями (требуется регистрация);
  • покупатель может просматривать все свои заказы (и детали заказа);
  • подтверждение заказа высылается по электронной почте покупателю и владельцу магазина (настраиваемый параметр);
  • управление различными валютами, странами и областями;
  • использования SSL-шифрования (128 бит);
  • быстрая обработка кредитных карт;
  • использование платежных систем uthorize.net® [46], eWay, Worldpay, PayMateand NoChex.... // Наши традиционные Webmoney и Яндекс.Деньги также присутствуют;
  • использование PayPal.

3.4. Обоснование выбора способа размещения Web-ресурса в Интернет

Ест два варианта размещения: либо на локальном сервере, либо воспользоваться услугами хостинга. Но для того, чтобы разместить на своем компьютере, требуется круглосуточная бесперебойная работа такого компьютера, и дорогостоящий высокоскоростной доступ к интернету с выделенным IP-адресов и большим количеством одновременных входящих подключений. Воспользуемся услугами хостинга и разместим сайт на московском хостинге 1GB, через аккаунт (ametist-expo.ru, ortho-lain.ru, rusworldpress.com и др.)

. Хостинг предусматривает ежедневное резервное копирование информации, при необходимости - возможность переключения на другой тип сервера, при повышенной процессорной нагрузке - за дополнительную плату подключение VDS. Количество и объем почтовых ящиков, связанных с доменом, практически не лимитируется. Доступный объем дискового пространства на сервере - до 4Гб, по согласованию может быть увеличен.

4. Структура  и содержание сайта

4.1.Разделы сайта и система навигации

На рис. 4.1 представлена главная страница сайта.

Рис.4.1. Главная страница сайта

Осуществим процесс покупки какого-либо товара, например, мебели для детской. Для этого нужно выбрать в верхнем меню вкладку «Магазин». Категории товара приведены справа. Выберем, например, мебель «НЕМАН», категорию – детская мебель. Получили 4 результата (рис.4.2).

Рис.4.2. Результаты поиска

Выберем мебель «Детская Комби-3» (рис.4.3).

Рис.4.4. Выбор товара

На странице товара можно ознакомиться с ним подробнее (размер, описание и т.д.). Далее выбираем «Добавить в корзину». После этого открываем корзину заказов (рис.4.5).

Рис.4.5. Корзина заказов

При нажатии кнопки «Оформить заказ» открывается страница, где можно уточнить детали оплаты и доставки заказа (рис.4.6).

Рис.4.6. Детали оплаты

После уточнения деталей выбираем кнопку «Заказать». Процесс оформления заказа на этом завершается.

4.2.Функциональные и технические требования

На предприятии имеется 2 компьютера (по одному в каждом офисе). Компьютеры имеют одинаковую конфигурацию, и собраны на базе процессора Intel Core. Более подробная конфигурация компьютерного оборудования предприятия приведена в таблице 3.

Таблица 3

Конфигурация компьютерного оборудования предприятия

Процессор

Intel Core i3/i5/i7/ /1024/ 1000МГц 478-PGA

Материнская плата

PC CHIPS M963GV ver 5.0

ОЗУ

16 Гб

Жесткий диск

Seagate, 750 Гб

Привод

DVD/CD-RW Sony NEC Optiarc

Дисковод

+

LCD монитор

19 дюймов Samsung SM 940T

Принтер

Лазерный, HP LaserJet 1020

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

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

Кроме рабочей станции, для функционирования Интернет-магазина необходим сервер, где будет располагаться сайт. Теоретически Веб-сайт можно разместить и на своем компьютере, но для этого требуется круглосуточная бесперебойная работа такого компьютера, и дорогостоящий высокоскоростной доступ к интернету с выделенным IP-адресов и большим количеством одновременных входящих подключений. Значительно эффективнее воспользоваться услугами хостинга в специализированной организации, например, http://1gb.ru, давно зарекомендовавший себя как надежный хостинг. Для Интернет-магазина должен подойти тарифный план «Основной+», включающий в себя поддержку баз данных MySQL и обеспечивающий выполнение программ PHP – это главные условия для функционирования будущего сайта Интернет-магазина. Стоимость такого тарифного плана – порядка 150 рублей в месяц. [10]

Кроме того, потребуется регистрация адреса в Интернете для магазина, это стоит около 600 рублей в месяц в зоне .ru, и потребует ежегодного платного продления (порядка 500 рублей в год).

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

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

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

4.3. Эскиз сайта

Разработанный сайт имеет файловую структуру, позволяющую удачно выполнять все необходимые функции. Структурно магазин состоит из набора папок, в которых находятся php-скрипты, js-скрипты, а также файлы изображений и шаблонов. Схема файловой структуры сайта представлена на рисунке 20. [13]

Рис.4.7. Файловая структура Интернет-магазина

Таблица 4

Описание файловой структуры Интернет-магазина

№ п/п

Наименование

Описание

1.

configuration.php

Модуль конфигурации магазина

2.

shop_image

Модуль, содержащий используемые изображения

3.

includes

Модуль скриптов пользовательской части

4.

language

Языковой модуль

5.

libraries

Модуль библиотек

6.

Templates

Модуль шаблонов оформления

7.

Index.php

Основной модуль

8.

administrator

Модуль администрирования системы

9.

gb_doors

База данных

4.4. Описание процедуры тестирования созданного Web-ресурса

Тестирование сайта обычно используют перед запуском проекта, чтобы получить гарантии правильной работоспособности или уже на существующем проекте, чтобы повысить его эффективность. Чем сложнее сайт, тем в более серьезном тестировании он нуждается. Многие разработчики и заказчики упускают этап тестирования сайта, в результате это может привести к серьёзным финансовым потерям, дополнительным трудозатратам и недовольству пользователей. По утверждениям ведущих специалистов одно только usability-тестирование сайта и следование рекомендациям по его улучшению может повысить экономические показатели на 135% и выше!

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

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

При проверке через различные браузеры видно, что везде шрифты отображаются верно.

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

Свойства страниц, мета-тэги можно проверить, открыв исходный код сайта:

Рис.4.8. Проверка мета-тэгов

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

5. Разработка рекламной кампании по продвижению Web-ресурса в Интернет

5.1. Формирование массива ключевых слов для поиска Web-ресурса в поисковых системах

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

Зарегистрируем сайт в поисковых системах, например, в Yandex. Для этого открываем сайт http://webmaster.yandex.ru/.

Рис. 5.1. Добавление сайта в поисковые системы

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

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

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

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

Ключевые слова вносятся в теги следующим образом:

meta name="keywords" content="мебель" />

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

5.2. Описание структуры медиа-плана

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

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

Отдельная и очень существенная статья расходов, которая будет значительно влиять как на общую сумму расходов, так и на эффективность внедрения информационной системы – это реклама ресурса в сети Интернет.

Интернет-представительство представляет собой основу для проведения эффективных рекламных компаний. На его основе строится весь комплекс рекламных мероприятий в среде Интернет.

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

Основными методами рекламирования в Internet являются:

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

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

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

Для выяснения степени влияния рекламы от создания Интернет-магазина на рост товарооборота анализируются оперативные и бухгалтерские данные. От изменения этого показателя зависят изменения в стратегии менеджмента предприятия, подвержены воздействию этого параметра также системы маркетинга и финансового анализа.

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

Таблица 4

Способы рекламы Интернет-магазина и их предполагаемые результаты

№ п/п

Наименование

Результат

Продвижение в поисковых системах (SEO) и контекстная реклама

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

Баннерная и текстово-графическая реклама

Приток на сайт аудитории, заинтересованной в определенной услуге или товаре компании, с тематических площадок

Пресс-релизы, интервью и тематические статьи

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

Наиболее быстрый эффект дает контекстная реклама, например такую услугу предоставляет сервис http://direct.yandex.ru [15]. Яндекс составляет 56% поискового трафика Рунета. Аудитория Яндекса сопоставима по размеру с аудиторией радиостанций и телеканалов, при этом контекстная реклама показывается не всем пользователям, а только тем, которые проявили свой интерес к тематике рекламируемых товаров или услуг. Это существенно повышает эффективность вложенных в рекламу средств.

Система Google AdWords занимает порядка 37% поисковых запросов по всему Рунету, без учета рекламной сети системы. [17] Кроме этого система имеет одну из лучших, но и наиболее сложных, систем таргетирования (настройки) кампаний контекстной рекламы сайта. Существует возможность настройки рекламных объявлений как на поисковых фразы, так и на категории показов.

«Бегун» - это система размещения контекстной рекламы на сайтах-партнерах. Контекстной называется реклама, востребованная поведением пользователя. На сегодняшний день это один из наиболее эффективных и выгодных рекламных инструментов в интернете. В систему "Бегун" входит поисковая система "Рамблер". [18]

В таблице 5 приведено планируемое количество переходов для каждой из рассмотренных систем и общая стоимость контекстной рекламы.

Таблица 5

Планируемые затраты на контекстную рекламу

Наименование

Стоимость за переход, руб.

Количество переходов

Общая сумма, руб.

Яндекс.Директ

0,3

5000

1500

Google AdWords

1,534

4000

6136

«Бегун»

0,1

2000

200

Итого, руб.:

7836

Написание тематических статей (копирайтинг) является эффективным размещением и информации о ресурсе как на собственном сайте, так и на сайтах –партнерах. Стоимость таких услуг колеблется от 300 рублей за 1000 печатных знаков. Предлагается заказать 6 тематических статей по 2000 знаков каждая, в этом случае общие затраты составят 3600 рублей.

Итого для проведения рекламной кампании необходимы средства в размере:

- контекстная реклама -7836 рублей;

- тематические статьи – 3600 рублей.

- итого – 11436 рублей.

Оценить точную сумму, которая будет необходима на такую рекламу, заранее невозможно. Реклама продается по принципу аукциона ключевых слов. И если заранее оценить расходы по рекламе, они наверняка окажутся в разы меньше реальных, т.к. стоит добиться, чтобы рекламное объявление отображалось как можно чаще – и тут же конкуренты могут повысить предлагаемую цену за рекламу, и расходы придется пересчитывать.

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

Заключение

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

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

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

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

- дальнейшее развитие и усложнение программного обеспечения;

- увеличение количества пользователей Интернет;

- увеличение скорости доступа во всемирную сеть.

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

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

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

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

1. Реклама Интернет-магазинов должна осуществляться не только в сети, но и в оффлайне.

2. Наиболее эффективным будет объединять элементы электронной коммерции с оффлайновым бизнесом.

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

4. Очевидно также, что необходимо будет использовать все возможные виды оплаты.

5. Товар в магазине должен быть оригинальным, не повторяющимся в других магазинах – это справедливо в большей мере для малых и средних магазинов.

6. Увеличение скорости и качества доставки также станет необходимым элементом.

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

8. Кроме того, возможно также и развитие по пути расширения каталога, увеличению количества товарных позиций и так далее.

Список литературы

  1. Алексунин В.А., Родигина В.В. Электронная коммерция и маркетинг в Интернет.- Учебное пособие. - М.: «Дашков и К0», 2005.
  2. Быков В.А. Электронный бизнес и безопасность /.-М.:Радио и связь,2000.-200 с.:ил.
  3. Завалеев В. Курс ЦИТ «Internet-технологии в проектах с пластиковыми карточками», Центр Информационных Технологий ,2007.
  4. Информатика: Учебник для вузов (Гриф МО РФ) / Острейковский В.А., М: Высшая школа, 2010.- 511 с.
  5. Информатика: Учебник для вузов / Козырев А.А.- СПб: издательство Михайлова В.А., 2010.- 511 с.
  6. Кавторева Я. Интернет магазин. Организация, налогообложение, учет. – Фактор, 2009 – 119 с.
  7. Киселев Ю.Н. Электронная коммерция: практическое руководство.- СПб: ООО «ДиаСофтЮП», 2010.
  8. Маршавин Р.А., Ляпунов С.И. Глобальный бизнес и информационные технологии, Учебное пособие. М.:2009 г.
  9. Орлов Л. Как создать электронный магазин в Интернет, 2_е изд., М.: Бук.пресс, 2009. - 384 с.
  10. Эффективная работа с СУБД А. Рубен, А. Горев, С. Макшарипов СПб.: Питер, 2009. – 822 с.
  11. Алексеев А. Будущее электронной коммерции //Инфобизнес,2009. № 48
  12. Ашманов И. С. Национальные особенности поисковых систем // Журнал «Компьютер в школе», № 01, 2009 год // Издательство «Открытые системы»
  13. Ездаков А. Российские электронные витрины // Сети. 2008. № 9
  14. Малевский П., Чернышев А., Дубина А. Системы электронной коммерции для операторов связи // ПаРаДис. 2009. № 1
  15. Создание и поддержка Интернет-магазина на базе WWWB Сервера Журнал «Главбух», 2009. №4
  16. Ивашов А. Электронные магазины: от сельпо до супермаркета - http:// archives. maillist.ru/ 72200/ 181108. html
  17. Малышева Н. Виртуальные покупки Электронная версия еженедельника «Аргументы и факты» - http://www.aif.ru
  18. Методика создания Интернет-магазина - http://www.delna.ru/ page/ shop. html
  19. Сайт Fodex - Этапы разработки Интернет-магазина - http://www.fodex.ru

Приложение

<?php

if( ! defined( '_VALID_MOS' ) && ! defined( '_JEXEC' ) )

die( 'Direct Access to ' . basename( __FILE__ ) . ' is not allowed.' ) ;

/**

*

* @version $Id: ps_product_attribute.php 1879 2009-09-11 08:20:46Z soeren_nb $

* @package VirtueMart

* @subpackage classes

* @copyright Copyright (C) 2004-2009 soeren - All rights reserved.

* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php

* VirtueMart is free software. This version may have been modified pursuant

* to the GNU General Public License, and as distributed it includes or

* is derivative of works licensed under the GNU General Public License or

* other free or open source software licenses.

* See /administrator/components/com_virtuemart/COPYRIGHT.php for copyright notices and details.

*

* http://virtuemart.net

*/

/**

* The class is is used to manage the product attributes.

*

*/

class vm_ps_product_attribute {

/**

* Validates that all variables for adding, updating an attribute

* are correct

*

* @param array $d

* @return boolean True when successful, false when not

*/

function validate( &$d ) {

global $vm

Logger, $VM_LANG;

$valid = true ;

if( $d["attribute_name"] == "" ) {

$vmLogger->err( $VM_LANG->_( 'VM_PRODUCT_ATTRIBUTE_ERR_ATTRNAME' ) ) ;

$valid = false ;

} elseif( $d["old_attribute_name"] != $d["attribute_name"] ) {

$db = new ps_DB( ) ;

$q = "SELECT attribute_name FROM #__{vm}_product_attribute_sku " ;

$q .= "WHERE attribute_name = '" . $db->getEscaped( $d["attribute_name"] ) . "'" ;

$q .= "AND product_id = '" . (int)$d["product_id"] . "'" ;

$db->query( $q ) ;

if( $db->next_record() ) {

$vmLogger->err( $VM_LANG->_( 'VM_PRODUCT_ATTRIBUTE_ERR_ATTRUNIQ' ) ) ;

$valid = false ;

}

}

return $valid ;

}

/**

* Validates all variables for deleting an attribute

*

* @param array $d

* @return boolean True when successful, false when not

*/

function validate_delete( &$d ) {

global $vmLogger, $VM_LANG ;

require_once (CLASSPATH . 'ps_product.php') ;

$ps_product = new ps_product( ) ;

$db = new ps_DB( ) ;

$q = 'SELECT product_id FROM #__{vm}_product_attribute_sku WHERE product_id = ' . (int)$d["product_id"] ;

$db->query( $q ) ;

if( $db->num_rows() == 1 && $ps_product->parent_has_children( $d["product_id"] ) ) {

$vmLogger->err( $VM_LANG->_( 'VM_PRODUCT_ATTRIBUTE_ERR_DELITEMS' ) ) ;

return false ;

}

return true ;

}

/**

* Adds an attribute record

*

* @param array $d

* @return boolean True when successful, false when not

*/

function add( &$d ) {

global $VM_LANG ;

if( ! $this->validate( $d ) ) {

return false ;

}

$db = new ps_DB( ) ;

$fields = array( 'product_id' => $d["product_id"] , 'attribute_name' => $d["attribute_name"] , 'attribute_list' => $d["attribute_list"] ) ;

$db->buildQuery( 'INSERT', '#__{vm}_product_attribute_sku', $fields ) ;

if( $db->query() === false ) {

$GLOBALS['vmLogger']->err( $VM_LANG->_( 'VM_PRODUCT_ATTRIBUTE_ERR_SAVING' ) ) ;

return false ;

}

/** Insert new Attribute Name into child table **/

$ps_product = new ps_product( ) ;

$child_pid = $ps_product->get_child_product_ids( $d["product_id"] ) ;

for( $i = 0 ; $i < count( $child_pid ) ; $i ++ ) {

$fields = array( 'product_id' => $child_pid[$i] , 'attribute_name' => $d["attribute_name"] ) ;

$db->buildQuery( 'INSERT', '#__{vm}_product_attribute', $fields ) ;

$db->query() ;

}

$GLOBALS['vmLogger']->info( $VM_LANG->_( 'VM_PRODUCT_ATTRIBUTE_SAVED' ) ) ;

return true ;

}

/**

* Updates an attribute record

*

* @param array $d

* @return boolean True when successful, false when not

*/

function update( &$d ) {

global $VM_LANG ;

if( ! $this->validate( $d ) ) {

return false ;

}

$db = new ps_DB( ) ;

$fields = array( 'attribute_name' => $d["attribute_name"] , 'attribute_list' => $d["attribute_list"] ) ;

$db->buildQuery( 'UPDATE', '#__{vm}_product_attribute_sku', $fields, "WHERE product_id='" . (int)$d["product_id"] . "' AND attribute_name='" . $db->getEscaped( $d["old_attribute_name"] ) . "'" ) ;

if( $db->query() === false ) {

$GLOBALS['vmLogger']->err( $VM_LANG->_( 'VM_PRODUCT_ATTRIBUTE_ERR_UPDATING' ) ) ;

return false ;

}

if( $d["old_attribute_name"] != $d["attribute_name"] ) {

$ps_product = new ps_product( ) ;

$child_pid = $ps_product->get_child_product_ids( $d["product_id"] ) ;

for( $i = 0 ; $i < count( $child_pid ) ; $i ++ ) {

$fields = array( 'attribute_name' => $d["attribute_name"] ) ;

$db->buildQuery( 'UPDATE', '#__{vm}_product_attribute', $fields, "WHERE product_id='" . $child_pid[$i] . "' AND attribute_name='" . $db->getEscaped( $d["old_attribute_name"] ) . "' " ) ;

$db->query() ;

}

}

$GLOBALS['vmLogger']->info( $VM_LANG->_( 'VM_PRODUCT_ATTRIBUTE_UPDATED' ) ) ;

return true ;

}

/**

* Controller for Deleting Records.

*/

function delete( &$d ) {

$record_id = $d["attribute_name"] ;

if( is_array( $record_id ) ) {

foreach( $record_id as $record ) {

if( ! $this->delete_record( $record, $d ) )

return false ;

}

return true ;

} else {

return $this->delete_record( $record_id, $d ) ;

}

}

/**

* Deletes one Record.

*/

function delete_record( $record_id, &$d ) {

global $db ;

if( ! $this->validate_delete( $d ) ) {

return false ;

}

$q = "DELETE FROM #__{vm}_product_attribute_sku " ;

$q .= 'WHERE product_id = ' . (int)$d["product_id"] . ' ' ;

$q .= "AND attribute_name = '" . $db->getEscaped( $record_id ) . "'" ;

$db->query( $q ) ;

$ps_product = new ps_product( ) ;

$child_pid = $ps_product->get_child_product_ids( $d["product_id"] ) ;

for( $i = 0 ; $i < count( $child_pid ) ; $i ++ ) {

$q = "DELETE FROM #__{vm}_product_attribute " ;

$q .= "WHERE product_id = '$child_pid[$i]' " ;

$q .= "AND attribute_name = '" . $db->getEscaped( $record_id ) . "'" ;

$db->query( $q ) ;

}

return True ;

}

/**

* Lists all child/sister

products of the given product

*

* @param int $product_id

* @return string HTML code with Items, attributes & price

*/

function list_attribute( $product_id, $extra_ids = null ) {

// The default listing method

$product_list = "N" ;

$display_use_parent = 'N';

$child_options = ps_product::get_child_options( $product_id ) ;

if( ! empty( $child_options ) ) {

extract( $child_options ) ;

}

$quantity_options = ps_product::get_quantity_options( $product_id ) ;

if( ! empty( $quantity_options['quantity_box'] ) ) {

$display_type = $quantity_options['quantity_box'] ;

}

$child_option_ids = ps_product::get_field( $product_id, 'child_option_ids' ) ;

if( $child_option_ids != '' && $product_list == "N" ) {

$product_list = "Y" ;

}

if( $extra_ids ) {

$child_option_ids .= $child_option_ids ? "," . $extra_ids : $extra_ids ;

}

if( empty( $class_suffix ) ) {

$class_suffix = "" ;

}

switch( $product_list) {

case "Y" :

return $this->list_attribute_list( $product_id, $display_use_parent, $product_list_child, $display_type, $class_suffix, $child_option_ids, $dw, $aw, $display_header, $product_list_type, $product_list ) ;

break ;

case "YM" :

return $this->list_attribute_list( $product_id, $display_use_parent, $product_list_child, $display_type, $class_suffix, $child_option_ids, $dw, $aw, $display_header, $product_list_type, $product_list ) ;

break ;

case "N" :

default :

return $this->list_attribute_drop( $product_id, $class_suffix ) ;

break ;

}

}

/**

* Lists all child/sister products of the given product

*

* @param int $product_id

* @return string HTML code with Items, attributes & price

*/

function list_attribute_drop( $product_id, $cls_suffix ) {

global $VM_LANG, $CURRENCY_DISPLAY, $mm_action_url, $sess ;

$db = new ps_DB( ) ;

$cur_product_id = $_REQUEST['product_id'];

// $q="select product_id from #__{vm}_product where product_parent_id=$cur_product_id";

$q = "SELECT p.product_id,p.product_name FROM #__{vm}_product p

INNER JOIN #__{vm}_product_type_1 p1 on p1.product_id=p.product_id

WHERE p.product_parent_id='$cur_product_id' AND p.product_publish='Y'";

// AND p1.door_type!='$cur_door_type'

// and p1.door_color='$cur_door_color'

// " ;

$db->setQuery($q);

$db->query();

$db->next_record();

$new_id = $db->f( "product_id" );

if($new_id){

$product_parent_id=$cur_product_id;

$product_id=$new_id;

$_REQUEST['product_id']=$new_id;

$cur_product_id=$new_id;

}else{ // parent все же лучше уже здесь узнать:

$q="select product_parent_id from #__{vm}_product where product_id=$cur_product_id";

$db->setQuery($q);

$db->query();

$db->next_record();

$product_parent_id = $db->f( "product_parent_id" );

}

// echo">>>>>>>>>>>>>>>>>>>>>$cur_product_id - $new_id";

//if($product_id ==19)$product_id =23;

require_once (CLASSPATH . 'ps_product.php') ;

$ps_product = new ps_product( ) ;

$Itemid = $sess->getShopItemid() ;

$category_id = vmGet( $_REQUEST, 'category_id', "" ) ;

$db_sku = new ps_DB( ) ;

$db_item = new ps_DB( ) ;

$tpl = new $GLOBALS['VM_THEMECLASS']( ) ;

$tpl->set( "cls_suffix", $cls_suffix ) ;

$tpl->set( "product_id", $product_id ) ;

// Set Advanced Attributes

$tpl->set( "advanced_attribute", $this->list_advanced_attribute( $product_id, $db->f( "product_id" ) ) ) ;

$tpl->set( "custom_attribute", $this->list_custom_attribute( $product_id, $db->f( "product_id" ) ) ) ;

// Get list of children

$q1 = "";

if( CHECK_STOCK && PSHOP_SHOW_OUT_OF_STOCK_PRODUCTS != "1") {

$q1 = " AND product_in_stock > 0 ";

}

// $q = "SELECT product_id,product_name FROM #__{vm}_product WHERE product_parent_id='$product_id' AND product_publish='Y'" ;

//tra

veller:

$q="select door_color, door_type from #__{vm}_product_type_1 where product_id=$cur_product_id";

$db->setQuery($q);

$db->query();

$db->next_record();

$cur_door_type = $db->f( "door_type" );

$cur_door_color = $db->f( "door_color" );

//echo">>>>>>>>>>>>>>>>>> $product_parent_id - >>>$cur_product_id - $cur_door_type - $cur_door_color";

$q = "SELECT p.product_id,p.product_name FROM #__{vm}_product p

INNER JOIN #__{vm}_product_type_1 p1 on p1.product_id=p.product_id

WHERE p.product_parent_id='$product_parent_id' AND p.product_publish='Y'

AND p1.door_type!='$cur_door_type'

and p1.door_color='$cur_door_color'

" ;

$db->setQuery($q);

$db->query();

$db->next_record();

$alt_id=$d

}

}

$addhtml.="";

$q = "SELECT p.product_id,p.product_name FROM #__{vm}_product p

INNER JOIN #__{vm}_product_type_1 p1 on p1.product_id=p.product_id

WHERE p.product_parent_id='$product_parent_id' AND p.product_publish='Y'

AND p1.door_type='$cur_door_type'" ;

$db->query($q.$q1);

if( $db->num_rows() < 1 ) {

// Must be a child then

$child_id = $product_id;

// Try to Get list of sisters & brothers

$product_parent_id = $ps_product->get_field( $product_id, 'product_parent_id' ) ;

if( $product_parent_id != "0" ) {

$product_id = $product_parent_id;

// $q = "SELECT product_id,product_name FROM #__{vm}_product WHERE product_parent_id=$product_id AND product_parent_id<>0 AND product_publish='Y'" ;

//traveller:

$q = "SELECT p.product_id,p.product_name FROM #__{vm}_product p WHERE p.product_parent_id='$product

// Start row for this child

$html .= "<option value=\"" . $db->f( "product_id" ) . "\" $selected>" ;

///$html .= $db->f( "product_name" ) ." - " ;

$q="select door_color, door_type from #__{vm}_product_type_1 where product_id=".$db->f( "product_id" );

$db_sku->setQuery($q);

$db_sku->query();

$db_sku->next_record();

$html .=$db_sku->f( "door_color" ).", ".$db_sku->f( "door_type" );

/*

// For each child get attribute values by looping through attribute list

$q = "SELECT product_id, attribute_name FROM #__{vm}_product_attribute_sku " ;

$q .= "WHERE product_id='$product_id' ORDER BY attribute_list ASC" ;

$db_sku->setQuery( $q ) ;

$db_sku->query() ;

while( $db_sku->next_record() ) {

$q = "SELECT attribute_name, attribute_value, product_id " ;

$q .= "FROM #__{vm}_product_attribute WHERE " ;

$q .= "product_id='" . $db->f( "product_id" ) . "' AND " ;

$q .= "attribute_name='" . $db_sku->f( "attribute_name" ) . "'" ;

$db_item->setQuery( $q ) ;

$db_item->query() ;

while( $db_item->next_record() ) {

//$html .= $db_item->f( "attribute_name" ) . " " ;

$html .= $db_item->f( "attribute_value" ) ;

if( ! $db_sku->is_last_record() )

$html .= '; ' ;

}

}

*/

///////$html.="--".$db->f( "product_id" );

// Attributes for this item are done.

// Now get item price

if( $_SESSION['auth']['show_prices'] && _SHOW_PRICES ) {

$price = $ps_product->get_adjusted_attribute_price( $db->f( "product_id" ) ) ;

$price["product_price"] = $GLOBALS['CURRENCY']->convert( $price["product_price"], $price["product_currency"] ) ;

if( $_SESSION["auth"]["

show_price_including_tax"] == 1 ) {

$tax_rate = 1 + $ps_product->get_product_taxrate( $db->f( "product_id" ) ) ;

$price['product_price'] *= $tax_rate ;

}

$html .= ' - ' . $CURRENCY_DISPLAY->getFullValue( $price["product_price"] ) ;

}

$html .= "</option>\n" ;

}

$html .= "</select>\n" ;

$tpl->set( "drop_down", $html ) ;

} else {

$html = "<input type=\"hidden\" name=\"product_id\" value=\"$product_id\" />\n" ;

$html .= "<input type=\"hidden\" name=\"prod_id[]\" value=\"$product_id\" />\n" ;

$tpl->set( "drop_down", $html ) ;

}

$html = $tpl->fetch( 'product_details/includes/addtocart_drop.tpl.php' ) ;

return array( $html , "drop" ) ;

}

/**

* Lists all child/sister products of the given product

*

* @param int $product_id

* @return string HTML code with Items, attributes & price

*/

function list_attribute_drop_multi( $product_id, $cls_suffix ) {

global $VM_LANG, $CURRENCY_DISPLAY, $mm

_action_url, $sess ;

require_once (CLASSPATH . 'ps_product.php') ;

$ps_product = new ps_product( ) ;

$Itemid = $sess->getShopItemid() ;

$category_id = vmGet( $_REQUEST, 'category_id', "" ) ;

$db = new ps_DB( ) ;

$db_sku = new ps_DB( ) ;

$db_item = new ps_DB( ) ;

$tpl = new $GLOBALS['VM_THEMECLASS']( ) ;

$tpl->set( "cls_suffix", $cls_suffix ) ;

$tpl->set( "product_id", $product_id ) ;

// Set Advanced Attributes

$tpl->set( "advanced_attribute", $this->list_advanced_attribute( $product_id, $db->f( "product_id" ) ) ) ;

$tpl->set( "custom_attribute", $this->list_custom_attribute( $product_id, $db->f( "product_id" ) ) ) ;

// Get list of children

$q = "SELECT product_id,product_name FROM #__{vm}_product WHERE product_parent_id='$product_id' AND product_publish='Y'" ;

$db->setQuery( $q ) ;

$db->query() ;

if( $db->num_rows() < 1 ) {

// Try to Get list of sisters & brothers

$q = "SELECT product_parent_id FROM #__{vm}_product WHERE product_id='$product_id'" ;

$db->setQuery( $q )