Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
По поводу модуля "Страница в PDF"

Автор pandusРаздел Настройка системы и модулей

Ответов: 6
Просмотров: 252
Последний ответ 25 Января 2017, 18:03:01
от pandus
Работа модуля Обратная связь (вставка форм в контент сайта) при XSLT

Автор ariusgroupРаздел Шаблоны XSLT

Ответов: 8
Просмотров: 3072
Последний ответ 17 Октября 2012, 15:29:17
от admin
Вывод названия и иконки модуля в панели избранных модулей

Автор SeweryssРаздел Разработка модулей

Ответов: 5
Просмотров: 2342
Последний ответ 21 Февраля 2014, 19:46:41
от e.ioffe
форма создания новой темы для модуля форум

Автор izen29Раздел Шаблоны XSLT

Ответов: 4
Просмотров: 1746
Последний ответ 13 Февраля 2013, 22:49:13
от Rodogor
Вопрос по выводу дочерних страниц модуля структура

Автор shotoРаздел Шаблоны XSLT

Ответов: 5
Просмотров: 1940
Последний ответ 07 Марта 2014, 17:34:18
от e.ioffe

0 Пользователей и 1 Гость просматривают эту тему.

*

evin

  • *
  • 18
  • +0/-0
    • Просмотр профиля
Здравствуйте!
Есть сайт на umi 2.7.4 Модуля интернет-магазина там нет, в шаблонах  папка ehop лежит (сайт на tpl  шаблонах).  Нужна корзина заказов, выводимая рядом с товаром из каталога, корзина элементарная с отправкой на мейл количества и названия товара, никакой другой функциональности. Вопрос: можно ли это реализовать без покупки модуля "интернет-магазин", откуда начать?) Я смотрела корзину jcart, там приблизительно то, что нужно - ничего лишнего, как бы ее прикрутить к umi?

*

admin

  • *****
  • 2416
  • +171/-1
    • Просмотр профиля
Re:Корзина заказов без модуля интернет-магазина
« Ответ #1 : 26 Сентября 2011, 14:53:02 »
можно интегрировать все что угодно, вопрос в том, насколько это будет удобно, и насколько оправданна такая интеграция...
в моем лично случае, проще прикрутить форму обратной связи (я так понимаю она у вас есть в umi). Чтобы в нее автоматом добавлялись (в какое-нибудь поле, пусть даже текстовое)  товары, которые пользователь "кладет себе в корзину". При "оформлении заказа", форма отправляется с указанными товарами.

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

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

*

evin

  • *
  • 18
  • +0/-0
    • Просмотр профиля
Re:Корзина заказов без модуля интернет-магазина
« Ответ #2 : 27 Сентября 2011, 10:41:25 »
Второй вариант как раз существует и работает, а сейчас поставили задачу по первому, указанному вами:) Смысл в том, что человек ходит по сайту, тычет в разные товары, складывая их в корзину, а потом все это идет менеджеру, поскольку товары специфические, и так просто как в обычном магазине их не продашь все равно. Если бы вы мне подсказали, как к форме обратной связи присоединить добавление в нее товаров, была бы очень признательна)

*

admin

  • *****
  • 2416
  • +171/-1
    • Просмотр профиля
Re:Корзина заказов без модуля интернет-магазина
« Ответ #3 : 27 Сентября 2011, 15:29:02 »
у вас покупатели зарегистрированные? или гости сайта тоже могут покупать? какая у вас версия umi и какой шаблонизатор?

*

evin

  • *
  • 18
  • +0/-0
    • Просмотр профиля
Re:Корзина заказов без модуля интернет-магазина
« Ответ #4 : 27 Сентября 2011, 16:05:24 »
umi 2.7.4, tpl шаблоны. Желательно, чтобы могли и гости и зарегистрированные пользователи покупки делать.

*

admin

  • *****
  • 2416
  • +171/-1
    • Просмотр профиля
Re:Корзина заказов без модуля интернет-магазина
« Ответ #5 : 27 Сентября 2011, 20:09:22 »
насчет незарегистрированных пользователей не подскажу, там надо с сессией работать, под рукой нет никаких наработок, а насчет зарегистрированных:

Добавляем новое поле в типе данных пользователь.
Название поля: товары пользователя.
Название на аглийском: fav.
Тип данных: ссылка на дерево

пишем скрипт для добавления товара в этот список и для удаления его из корзины
public function makeFavourite($elementId=NULL) {

if(!$elementId) $elementId = getRequest('param0');
$perm = permissionsCollection::getInstance();

$fav=array();
$user_id=$perm -> getUserId();
if($user_id){
$user = umiObjectsCollection::getInstance()->getObject($user_id);
if($user){
$fav=$user->getValue('fav');
foreach($fav as $item){
if($item->id==$elementId){return;}
}
$fav[]=$elementId;
$user->setValue('fav',$fav);
$user->commit();
}
}
return true;
}

public function delFavourite($elementId=NULL) {

if(!$elementId) $elementId = getRequest('param0');
$perm = permissionsCollection::getInstance();

$fav=array();
$fav_new=array();
$user_id=$perm -> getUserId();
if($user_id){
$user = umiObjectsCollection::getInstance()->getObject($user_id);
if($user){
$fav=$user->getValue('fav');
foreach($fav as $item){
if($item->id!=$elementId){$fav_new[]=$item->id;}
}
$user->setValue('fav',$fav_new);
$user->commit();
}
}
return '';
}
добавляем права на эти макросы в файл /classes/modules/catalog/permissions.custom.php:
<?php
$permissions = Array(
'view' => Array('makeFavourite','delFavourite')
);
?>
добавляем кнопку под товар типа <a href="#" onclick="makeFavourite(%id%);return false;">Добавить товар</a>
которая при нажатии обращается к функции js для добавления товара в список товаров пользователя (незабываем что jQuery должен быть подлючен)

function makeFavourite(id){
$.ajax({
  url: "/catalog/makeFavourite/"+id+"/",
  success: function(){
alert('товар добавлен');
  }
});
return false;
}

function delFavourite(id){
$.ajax({
  url: "/catalog/delFavourite/"+id+"/",
  success: function(){
jQuery('#id_'+id).remove();
  }
});
return false;
}

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

ну и переписать макрос отправки формы, чтобы при отправке формы она очищала поле fav, так как заказ фактически ушел и корзину надо очистить

*

evin

  • *
  • 18
  • +0/-0
    • Просмотр профиля
Re:Корзина заказов без модуля интернет-магазина
« Ответ #6 : 28 Сентября 2011, 14:05:41 »
Первый скрипт должен  в каком файле находиться? Последний, я так понимаю, кладем в func.js?  Проблема моя в том, что знание js у меня минимальные, в процессе пополнения:)

*

admin

  • *****
  • 2416
  • +171/-1
    • Просмотр профиля
Re:Корзина заказов без модуля интернет-магазина
« Ответ #7 : 28 Сентября 2011, 14:37:22 »
первый скрипт кладем в /classes/modules/catalog/__custom.php

насчет js функций, подключите их внутри тега <head> , но после строчки подключения jQuery (если он у вас еще не подключается, то подключите его например так
<script type="text/javascript"  src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
)

насчет скриптом могут быть и проблемы,  если у вас js библиотека prototype подключается (на версиях 2.7 обычно так и было), тогда можете выкинуть весь js и ссылки к добавлению товара сделать такими
<a href="/catalog/makeFavourite/%id%/" >Добавить товар</a>

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

*

evin

  • *
  • 18
  • +0/-0
    • Просмотр профиля
Re:Корзина заказов без модуля интернет-магазина
« Ответ #8 : 29 Сентября 2011, 11:11:37 »
почему то у меня при записи первого скрипта в _custom.php страница каталога "сбивается", сверху выводится всякая "техническая" информация. Встречный вопрос - можно ли эти скрипты положить в другой файл и подключить отдельно для поддомена? дело в том, что у меня несколько поддоменов, а корзина нужна на одном. Тогда как манипуляции с данными файлами затрагивают все поддомены.

*

admin

  • *****
  • 2416
  • +171/-1
    • Просмотр профиля
подключить файл только для одного поддомена? не пробовал.

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

*

evin

  • *
  • 18
  • +0/-0
    • Просмотр профиля
Re:Корзина заказов без модуля интернет-магазина
« Ответ #10 : 05 Октября 2011, 12:42:16 »
Вообщем, в результате все-таки пришли к необходимости делать полноценный магазин, но, тем не менее, вопрос для меня остается интересным. Если что-то в результате на моем поддомене у меня получится - напишу). Спасибо ADMIN'у за потраченное на ответы время, буду изучать Юми глубже, чем планировала изначально:)