Drag and drop корзина tpl — различия между версиями
Материал из Umicms
Deez (обсуждение | вклад) |
Whoa (обсуждение | вклад) |
||
(не показано 7 промежуточных версий 2 участников) | |||
Строка 1: | Строка 1: | ||
+ | '''Актуально для версии 2.9''' | ||
+ | |||
В этом примере мы будем делать так, чтобы пользователи могли просто перетаскивать товары в корзину.<br> | В этом примере мы будем делать так, чтобы пользователи могли просто перетаскивать товары в корзину.<br> | ||
− | Для начала необходимо убедиться, что у вас в шаблоне используются | + | Для начала необходимо убедиться, что у вас в шаблоне используются макрос |
<source lang="php"> | <source lang="php"> | ||
− | + | <xsl:value-of select="document('udata://system/includeQuickEditJs')/udata" disable-output-escaping="yes" /> | |
− | |||
</source> | </source> | ||
А затем в шапку шаблона добавляем следующий код: | А затем в шапку шаблона добавляем следующий код: | ||
− | <source lang=" | + | <source lang="html4strict"> |
<script type="text/javascript" src="http://www.jeasyui.com/easyui/jquery.easyui.min.js"></script> | <script type="text/javascript" src="http://www.jeasyui.com/easyui/jquery.easyui.min.js"></script> | ||
</source> | </source> | ||
Строка 63: | Строка 64: | ||
</style> | </style> | ||
</source> | </source> | ||
− | <source lang=" | + | <source lang="javascript"> |
<script> | <script> | ||
var data = {"total":0,"rows":[]}; | var data = {"total":0,"rows":[]}; | ||
var totalCost = 0; | var totalCost = 0; | ||
− | + | ||
$(function(){ | $(function(){ | ||
$('#cartcontent').datagrid({ | $('#cartcontent').datagrid({ | ||
Строка 91: | Строка 92: | ||
}, | }, | ||
onDrop:function(e,source){ | onDrop:function(e,source){ | ||
− | alert(' | + | id = %element_id%; |
+ | alert('Товар добавлен в корзину'); | ||
+ | jQuery.post("/emarket/basket/put/element/"+id+"/"); | ||
+ | location.reload(); | ||
} | } | ||
}); | }); | ||
}); | }); | ||
− | + | ||
function addProduct(name,price){ | function addProduct(name,price){ | ||
function add(){ | function add(){ | ||
Строка 108: | Строка 112: | ||
</source> | </source> | ||
− | Примечание: все товары которые вы желаете перетаскивать в корзину должны иметь класс "object". | + | На это всё, drag and drop перетаскивание в корзину должно заработать.<br> |
+ | |||
+ | Примечание: все товары которые вы желаете перетаскивать в корзину должны иметь класс "object", а сама корзина класс "basket_info".<br> | ||
Внимание: функционирование описанного выше примера гарантируется только в версии 2.8.6<br> | Внимание: функционирование описанного выше примера гарантируется только в версии 2.8.6<br> | ||
Инструкция для xslt шаблона [[Drag and drop корзина xslt]] | Инструкция для xslt шаблона [[Drag and drop корзина xslt]] | ||
− | [[Категория:Модуль Интернет магазин]] [[Категория:TPL | + | [[Категория:Модуль Интернет магазин]][[Категория:Верстка в TPL]] |
Текущая версия на 08:53, 16 августа 2018
Актуально для версии 2.9
В этом примере мы будем делать так, чтобы пользователи могли просто перетаскивать товары в корзину.
Для начала необходимо убедиться, что у вас в шаблоне используются макрос
<xsl:value-of select="document('udata://system/includeQuickEditJs')/udata" disable-output-escaping="yes" />
А затем в шапку шаблона добавляем следующий код:
<script type="text/javascript" src="http://www.jeasyui.com/easyui/jquery.easyui.min.js"></script>
<style type="text/css">
.products{
list-style:none;
margin-right:300px;
padding:0px;
height:100%;
}
.products li{
display:inline;
float:left;
margin:10px;
}
.object{
display:block;
text-decoration:none;
}
.object img{
border:1px solid #333;
}
.object p{
margin:0;
font-weight:bold;
text-align:center;
color:#c3c3c3;
}
.basket_info{
position:fixed;
right:0;
top:0;
width:300px;
height:100%;
background:#ccc;
padding:0px 10px;
}
h1{
text-align:center;
color:#555;
}
h2{
position:absolute;
font-size:16px;
left:10px;
bottom:20px;
color:#555;
}
.total{
margin:0;
text-align:right;
padding-right:20px;
}
</style>
<script>
var data = {"total":0,"rows":[]};
var totalCost = 0;
$(function(){
$('#cartcontent').datagrid({
singleSelect:true
});
$('.object').draggable({
revert:true,
proxy:'clone',
onStartDrag:function(){
$(this).draggable('options').cursor = 'not-allowed';
$(this).draggable('proxy').css('z-index',10);
},
onStopDrag:function(){
$(this).draggable('options').cursor='move';
}
});
$('.basket_info').droppable({
onDragEnter:function(e,source){
$(source).draggable('options').cursor='auto';
},
onDragLeave:function(e,source){
$(source).draggable('options').cursor='not-allowed';
},
onDrop:function(e,source){
id = %element_id%;
alert('Товар добавлен в корзину');
jQuery.post("/emarket/basket/put/element/"+id+"/");
location.reload();
}
});
});
function addProduct(name,price){
function add(){
alert('Bas');
}
add();
totalCost += price;
$('#cartcontent').datagrid('loadData', data);
$('div.basket_info .total').html('Total: $'+totalCost);
}
</script>
На это всё, drag and drop перетаскивание в корзину должно заработать.
Примечание: все товары которые вы желаете перетаскивать в корзину должны иметь класс "object", а сама корзина класс "basket_info".
Внимание: функционирование описанного выше примера гарантируется только в версии 2.8.6
Инструкция для xslt шаблона Drag and drop корзина xslt