Danneo CMS - это относительно молодая, но очень перспективная отечественная система управления сайтом(КМС), основным достоинством которой является неприхотливость и низкий порог вхождения. Это значит, что чтобы понять, как она устроена не надо изучать API и штудировать документацию. Каждый модуль, блок или класс сам по себе документирован, благодаря обилию комментариев в коде. В системе не используются сложные технологии типа xslt или MVC(привет UMI). Достаточно пол часика пробежаться по коду и понять откуда растут ноги, и вот Вы уже пишите свой блок или модуль.

Из недостатков данной CMS, пожалуй самым ощутимым, является малое количество готовых модулей. По дефолту вместе с системой ставятся модули Статьи, Новости, Загрузки, Карта сайта, Галерея и т.д. Модули сходны по структуре, и фактически при разработке сайта можно смело отбросить 70% из них и их возможностей.

Однако, есть категории сайтов: интернет магазины и доски объявлений. Готовых модулей для них в системе нет.   Надо исправлять данную проблему.

В этой статье я расскажу про модуль Интернет Магазина, с неброским названием shop. Увы, пока выбор не так велик, называть модуль как-то по особому смысла нет.

  1. Установка на 0.5.3
  2. Установка на 0.5.4
  3. Обзор возможностей

 

 Сам модуль платный, стоит что-то около 1000 рублей. Я не буду столь суровым и выложу бесплатно текущую версию, но все же призываю Вас зайти на оффсайт и заплатить за честно написанный модуль. Быть может он уже будет более новой версии чем та, что выложил я.

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

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

Итак мы уже скачали архив. Распакуем его во временную папку. Теперь, посмотрим, что мы имеем.

Папки

  • apanel
  • block
  • js
  • mod
  • modules
  • temp
  • up
  • для mod home

И два файла

  • shop.sql
  • Инструкция.txt

Все папки кроме temp можете смело копировать в корневую директорию сайта. Они ничего не затирают. 

Теперь откроем папку temp/Темплейт и копируем оттуда папку mod в папку с шаблоном Вашего сайта( к примеру Begin). В папке есть еще файл top.tpl. Кго копировать не надо, иначе затрете свою верстку. Все, что Вам из него понадобится эти несколько строчек

  <script type="text/javascript" src="js/api.js"></script> 
  <script type="text/javascript" src="js/shop/ajax.js"></script>
  <script type="text/javascript" src="js/shop/fly-to-basket.js"></script>
  <script src="js/highslide/highslide.js" type="text/javascript"></SCRIPT>
  <script type="text/javascript"> hs.graphicsDir = 'js/highslide/graphics/'; hs.captionId = 'the-caption'; hs.outlineType = 'rounded-white';</script>
  <style type="text/css" media="all">@import "js/highslide/styl.css";</style>

Скопируйте их в любое место (лучше всего во внутрь <head>) файла Begin/top.tpl.

Посмотрим, что написано в файле инструкции:

Раскладываем все файлы согласно папкам, затем производим следующие действия:
1. в файле js/shop/
в строках
var url_addProductToBasket = 'http://ВАШ_ДОМЕН/index.php?dn=shop&re=tovar&to=add';
var url_removeProductFromBasket = 'http://ВАШ_ДОМЕН/index.php?dn=shop&re=tovar&to=del';
заменить ВАШ_ДОМЕН на ваш урл

2. В файле /apanel/amanage.php
После строки
elseif($name == "platform") $mname = $lang['re_platform'];
Добавить строку
elseif($name == "shop") $mname = 'Магазин';

3.В файле shop.sql заменяем {pref} на свой преффикс в базе данных и импортируем скрипт.
4. В админке добавляем и включаем модуль. Настраиваем вывод блоков.

5. ВАЖНО! первую валюту в настройках удалять нельзя - она ключевая - на нее происходит перерасчет.
Для необходимости ее можно переименовать или задать другой курс! 

Я не стал заморачиваться с заменой  ВАШ_ДОМЕН на свой урл, так как сайт нужно тестировать и на локалке и на сервере. Поэтому куда проще заменить 

var url_addProductToBasket = 'http://ВАШ_ДОМЕН/index.php?dn=shop&re=tovar&to=add';
var url_removeProductFromBasket = 'http://ВАШ_ДОМЕН/index.php?dn=shop&re=tovar&to=del';

на

var url_addProductToBasket = 'http://'+location.hostname+'/index.php?dn=shop&re=tovar&to=add';
var url_removeProductFromBasket = 'http://'+location.hostname+'/index.php?dn=shop&re=tovar&to=del';

Экономим кучу времени.

2-ой пункт делаем по инструкции.

3-ий пункт вызвал небольшую проблему, так как в дампе таблиц не указывается их кодировка. И она ставится по умолчанию. Поэтом во избежании проблем с кодировкой, замените в файле TYPE = MYISAM на ENGINE=MyISAM DEFAULT CHARSET=cp1251; Далее все по инструкции.

Вот и все система установлена и готова к работе.

Осталось поправить несколько косяков.

При включенном ВПУ - Валидные Поисковые УРЛ, Danneo CMS категорически не переваривает ссылки с to=<значение не равное art,cat...>

Т.е. рабочая ссылка вида http://sitename.ru/index.php?dn=shop&to=orderconf будет преобразована в не совсем рабочую http://sitename.ru/shop/&to=orderconf

Чтобы это исправить нужно внести поправки в файл danneo.initapi.php, находим в нем строчку 

"'(?<!/)index.php\?dn=([a-zA-Z]*)'",

и сразу после нее вставляем

"'/([a-zA-Z]+)/&(amp;)?to=([a-zA-Z0-9_-]*)'" ,

затем ниже, находим строчку

"index.php?dn=user",

и сразу за ней добавляем

"/index.php?dn=\\1&to=\\3"

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

Далее не забываем добавить название модуля в строчку $LIST_MOD в файле apanel/base/danneo.permission.php. У меня эта строка выглядит так:

$LIST_MOD = 'article|base|down|filebrowser|link|news|options|platform|poll|photos|stat|user|shop';

Установка модуля на Danneo версии 0.5.4 не сильно отличается от 0.5.3. Но есть ряд нюансов.

Качаем архив с пропатченными файлами. Распаковываем его во временную папку. Названия папок и структура apanel немного изменились.

Папки

  • apanel
  • base
  • block
  • javascript
  • mod
  • modules
  • temp
  • up
  • для mod home

И два файла

  • shop.sql
  • Инструкция 0.5.4.txt

копируем  все кроме apanel, temp и base, в корень Вашего сайта. Содержимое папки apanel так же можно скопировать, за исключением файла apanel/init.php

Из него, (как и из call.php для 0.5.3) Вам понадобятся всего две строчки

require_once(ADMINDIR."/system/yandex.php");
require_once(ADMINDIR."/system/excel/excelparser.php");

 вставьте их сразу за строчкой

require_once(ADMINDIR.'/system/apanel.session.php');

Из папки base с файлом danneo.initapi.php нужно проделать те же манипуляции, как для версии 0.5.3. Это следует делать если Вы используете ВПУ.

Из папки temp/Clear смело скопируйте папку mod в аналогичную папку Вашего шаблона. От файла temp/Clear/top.tpl нам потребуется то же самое, что и для версии 0.5.3

Копируем

 <script type="text/javascript" src="{site_url}/javascript/shop/ajax.js"></script>
 <script type="text/javascript" src="{site_url}/javascript/shop/fly-to-basket.js"></script>
 <script scr="{site_url}/javascript/highslide/highslide.js" TYPE="text/javascript"></SCRIPT>
 <script type="text/javascript"> hs.graphicsDir = '{site_url}/javascript/highslide/graphics/'; hs.captionId = 'the-caption'; hs.outlineType = 'rounded-white';</script>
 <style type="text/css" media="all">@import "{site_url}/javascript/highslide/styl.css";</style>

в top.tpl Вашего шаблона. Как вы можете видеть единственное отличие в том, что теперь в Danneo 0.5.4 не используется тег <base>, и все пути нужно прописывать полностью. 

Далее не забываем добавить название модуля в строчку $LIST_MOD в файле apanel/system/apanel.permission.php. У меня эта строка выглядит так:

$LIST_MOD = 'news|article|down|link|poll|photos|info|katalog|user|banner|comment|subscribe|faq|options|seo|amanage|lang|base|stat|filebrowser|platform';

Приступим к просмотру возможностей модуля

После установки в панели администрирования в меню появляется вкладка Интернет Магазин. В его настройках можно поменять кошельки(WebMoney,PayPal, YM), ИНН, БИК и КПП. А также множество служебной информации, такой как адрес организации и ее телефон.

Модуль  позволяет выводить цену в различных валютах, исходя из установленного соотношения

Установка альтернативных валют в модуле shop Danneo

Прайс можно подгрузить из excel файла. xls файл должен быть в верном формате.

Загрузка прайслиста из Excel файла в модуль shop Danneo

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

Дополнительные поля в модуле Danneo shop

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

Заказ товара в модуле Интернет Магазин Danneo CMS

После заполнения данной формы пользователю предлагается выписать квитанцию. Доступны 3 способа:

Способы расчета в Интернет Магазине Danneo CMS

Далее товар поступает на обработку.

С модулем устанавливаются 3 блока: Корзина, Поиск и Меню.

Корзина интерактивная, и товар в нее добавляется по ajax. 

Блок корзина Интернет магазина для Danneo CMS

Просьба всем кто поставит версию для danneo 0.5.4 сообщать о найденных багах.

Для тех, кто пропустил дублирую ссылки для скачки

Скачать версию для Dannoe 0.5.3

Скачать версию для Dannoe 0.5.4 

Оффсайт

 

 

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

 

В следующей статье расскажу про модуль Доски Объявлений. Желаю Удачи =)

Оставлять комментарии могут только зарегистрированные пользователи

Комментарии  

Dmitry
# Dmitry 11.08.2011 23:46
Поставил магазин на 0.5.4 - все замечательно только вот почему то не правильно генерируется ссылка на картинку выставляемого для продажи предмета. К примеру получается формата http://www.ssssss.ua/shop/up/shop/article/thumb_kol0001_b.png - а правильная http://www.ssssss.ua/up/shop/article/thumb_kol0001_b.png - shop/ лишние - подскажите где смотреть и корректировать
Pavel
# Pavel 04.10.2011 00:24
Привет отключи ВПУ ЧПУ и будет счастье
Роман
# Роман 07.09.2011 17:09
Поставил на 0.5.4 - при добавлении товара название отображается ????? ??? - проблема с кодировками видимо. Как победить - не знаю.
Pavel
# Pavel 04.10.2011 00:18
Здрасти Поставил на 0.5.4 вопрос следущий,После того как в init.php прописоваешь

вот это(require_once(ADMINDIR.'/system/yandex.php');) то когда находищься в апанел и запускаешь (Файл браузер) то рисунки не отоброжаються,и еще когда в настройках включаешь

Включить ВПУ

- Валидные поисковые URL да



Включить ЧПУ

- Человеко-понятные URL :да



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

Все зделал как вы написали.



И еще хотелосьбы чтобы рисунки просматривались так как в статьях.
Evgenyi
# Evgenyi 15.12.2011 00:10
Скажите, как именно изменить префикс в базе данных-shop.sql ??? _Спасибо.
Pavel
# Pavel 16.12.2011 00:59
Привет народ непартесь следущия версия даннео будет с магазино (ходят слухи)
Валера
# Валера 17.12.2011 21:22
И когда же она выйдет?
Руслан
# Руслан 16.01.2012 13:47
всем привет, у меня за место русского языка сохраняется так

Выписка счетов и квитанций ??????????:

Наименование организации ???????????????:

Директор организации ???????.?.?: (Петров П.П.)

Главбух организации ????????.?,?: (Иванов В.В.)

Наименование банка организации ??????????:

Инн 5456564685456:

Кпп 564894151:

Счет фирмы 534534864:

Корреспондентский счет :35468453486468

БИК : 5468746846854153

Адрес организации : ??? ??????????



Как исправить
Ольга
# Ольга 06.02.2012 13:48
У меня манипуляции с файлом danneo.initapi.php не подлежать выполнению ... просто строчки [php]"'(?
Ольга
# Ольга 06.02.2012 13:52
Ну и в корзину ничего не положишь соотвественно.

ЧПУ, ВПУ использую
Максим
# Максим 18.07.2012 20:29
А оплата через WM или ЯД должна работать или есть какие-то нюансы по настройке, кроме включения нужно в админке?
Петр
# Петр 13.09.2012 02:15
Скажите, как именно изменить префикс в базе данных-shop.sql ??? _Спасибо.
Leroy
# Leroy 13.09.2012 11:58
ctrl+h notepad++
Андрей
# Андрей 20.11.2012 15:30
В товарах есть поле производитель.... но где его менять и как его выводить в tpl?
Андрей
# Андрей 20.11.2012 17:54
нашёл... в менюхе просто нету перехода на производителей /shop.php?dn=shopmfact&ops

ну вроде разобрался даж как вывести {prois}... но замечен баг при кликанье на производителя выдаёт ошибки

Notice: Undefined variable: cating in /pub/home/vodaspb5/new4/www/mod/shop/index.php on line 651

Notice: Undefined variable: catcpu in /pub/home/vodaspb5/new4/www/mod/shop/index.php on line 651



вот это надо исправлять
Leroy
# Leroy 20.11.2012 17:56
я к сожалению не слежу больше за проектом. Буду рад помочь вам в ваших изменениях. Свяжтесь со мной, могу на вашем сервере посмотреть что не так. Если конечно потом выложивсе это в общий доступ
Андрей
# Андрей 20.11.2012 21:19
отправил на почту информацию
chepelvn
# chepelvn 30.04.2014 21:59
А под danneo 0.5.5 сможете адаптировать?
Виталий Смерека
# Виталий Смерека 27.01.2016 13:08
Этот мод не стоит ставить на рабочий сайт, потому что он не доделанный и трудиться над ним ещё, и трудиться.
Leroy
# Leroy 28.01.2016 07:30
Неужели с момента написания статьи не появилось нормальных альтернатив?