Вопрос про атрибуты.
Знаю,что уже обсуждалась такая тема, уже 2 недели бьюсь над результатом. Прошу помощи.
Добавил изменение XLS шаблон МагазинТовар от пользователя denisov999.
Добавил скрипт в хеад, но его присутствие ничего не меняет.
После правки ссылки на
, товар перестал добавляться в корзину. Вернул дефолтную.
Изменил настройки корзины, как говорила Наталья на
Теперь добавляются модификацию в корзину, но не реагирует на выбор радиогрупп, т.е. какой размер я бы не выбрал, ничего не меняется. Добавляется первая из списка модификации. Мне думается, что нужно изменить ссылку на добавление товара в корзину.
Помогите пожалуйста.
Добавил изменение XLS шаблон МагазинТовар от пользователя denisov999.
<!-- Шаблон для размеров -->
<xsl:template match="modifications/item">
<xsl:choose><xsl:when test="position() = 1">
<input name="size999" size="20" type="radio" value="{@id}" checked=""/><xsl:value-of select="property[@xml_name='razm_odez']/value"/> 
</xsl:when><xsl:otherwise>
<input name="size999" size="20" type="radio" value="{@id}"/><xsl:value-of select="property[@xml_name='razm_odez']/value"/> 
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="modifications/item">
<xsl:choose><xsl:when test="position() = 1">
<input name="size999" size="20" type="radio" value="{@id}" checked=""/><xsl:value-of select="property[@xml_name='razm_odez']/value"/> 
</xsl:when><xsl:otherwise>
<input name="size999" size="20" type="radio" value="{@id}"/><xsl:value-of select="property[@xml_name='razm_odez']/value"/> 
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- Все доступные размеры одежды -->
<xsl:if test="count(modifications/item) > 0">
<form name='theForm'><xsl:apply-templates select="modifications/item"/></form>
</xsl:if>
<xsl:if test="count(modifications/item) > 0">
<form name='theForm'><xsl:apply-templates select="modifications/item"/></form>
</xsl:if>
Добавил скрипт в хеад, но его присутствие ничего не меняет.
<script language="javascript">
function checkIt() {
theGroup = document.theForm.size999;
for (i=0; i< theGroup.length; i++) {
if (theGroup[i].checked) {
document.location.href = "/shop/cart/?action=add&item_id=" + theGroup[i].value;
break;
}
}
}</script>
function checkIt() {
theGroup = document.theForm.size999;
for (i=0; i< theGroup.length; i++) {
if (theGroup[i].checked) {
document.location.href = "/shop/cart/?action=add&item_id=" + theGroup[i].value;
break;
}
}
}</script>
После правки ссылки на
<a href="#" onclick="checkIt();">
, товар перестал добавляться в корзину. Вернул дефолтную.
Изменил настройки корзины, как говорила Наталья на
/* AJAX добавление товара в корзину */
if (isset ($_GET['ajax_add_item_id']))
{
$property_array = array ();
$key_property_array = array ();
if (isset ($_GET) && count($_GET))
{
foreach ($_GET as $key => $val)
{
if (preg_match("'^property([\d]*?)$'si", $key, $preg))
{
$property_array[$preg[1]] = $val;
}
}
}
$param = array ();
$param['shop_id'] = $shop_id;
$param['item_id'] = to_int($_GET['ajax_add_item_id']);
$param['user_id'] = $site_users_id;
// Все модификации товара
$all_modifications = $shop->GetAllModificationItems($param['item_id'], array('shop_items_catalog_is_active' => 1));
if ($all_modifications)
{
foreach ($all_modifications as $key => $value)
{
$item_propertys_value = array ();
// Получаем значения всех доп.свойств
foreach ($property_array as $id => $v)
{
$list_property_value = $shop->GetValueItemProperty(to_int($value['shop_items_catalog_item_id']), $id);
// Получаем значение элемента списка
$item_propertys_value[$id] = to_int($list_property_value['shop_properties_items_value']);
}
// Если у модификации совпали все переданные свойства, возвращаем идентификатор модификации
$array_diff = array_diff_assoc($property_array, $item_propertys_value);
if (!count($array_diff))
{
$param['item_id'] = $value['shop_items_catalog_item_id'];
break;
}
}
}
// Число товаров передаем, если посетитеь кладет в корзину больше одного товара
if (to_int($_GET['count']) > 0)
{
$param['count'] = to_int($_GET['count']);
}
// Добавляем товар в корзину
$shop->AddIntoCart($param);
// Отображаем корзину
$JsHttpRequest = new JsHttpRequest(SITE_CODING);
ob_start();
$shop->ShowCart($shop_id, $site_users_id, to_str($GLOBALS['LA']['xsl_little_cart']));
$little_cart_html = ob_get_clean();
$GLOBALS['_RESULT'] = array (
'cart' => $little_cart_html
);
echo $JsHttpRequest->LOADER;
exit ();
}
if (isset ($_GET['ajax_add_item_id']))
{
$property_array = array ();
$key_property_array = array ();
if (isset ($_GET) && count($_GET))
{
foreach ($_GET as $key => $val)
{
if (preg_match("'^property([\d]*?)$'si", $key, $preg))
{
$property_array[$preg[1]] = $val;
}
}
}
$param = array ();
$param['shop_id'] = $shop_id;
$param['item_id'] = to_int($_GET['ajax_add_item_id']);
$param['user_id'] = $site_users_id;
// Все модификации товара
$all_modifications = $shop->GetAllModificationItems($param['item_id'], array('shop_items_catalog_is_active' => 1));
if ($all_modifications)
{
foreach ($all_modifications as $key => $value)
{
$item_propertys_value = array ();
// Получаем значения всех доп.свойств
foreach ($property_array as $id => $v)
{
$list_property_value = $shop->GetValueItemProperty(to_int($value['shop_items_catalog_item_id']), $id);
// Получаем значение элемента списка
$item_propertys_value[$id] = to_int($list_property_value['shop_properties_items_value']);
}
// Если у модификации совпали все переданные свойства, возвращаем идентификатор модификации
$array_diff = array_diff_assoc($property_array, $item_propertys_value);
if (!count($array_diff))
{
$param['item_id'] = $value['shop_items_catalog_item_id'];
break;
}
}
}
// Число товаров передаем, если посетитеь кладет в корзину больше одного товара
if (to_int($_GET['count']) > 0)
{
$param['count'] = to_int($_GET['count']);
}
// Добавляем товар в корзину
$shop->AddIntoCart($param);
// Отображаем корзину
$JsHttpRequest = new JsHttpRequest(SITE_CODING);
ob_start();
$shop->ShowCart($shop_id, $site_users_id, to_str($GLOBALS['LA']['xsl_little_cart']));
$little_cart_html = ob_get_clean();
$GLOBALS['_RESULT'] = array (
'cart' => $little_cart_html
);
echo $JsHttpRequest->LOADER;
exit ();
}
Теперь добавляются модификацию в корзину, но не реагирует на выбор радиогрупп, т.е. какой размер я бы не выбрал, ничего не меняется. Добавляется первая из списка модификации. Мне думается, что нужно изменить ссылку на добавление товара в корзину.
<a href="{/shop/path}cart/?action=add&item_id={@id}" onclick="return AddIntoCart('{/shop/path}', {@id}, document.getElementById('count_{@id}').value)"><img alt="В корзину" title="В корзину" src="/hostcmsfiles/images/cart.gif" style="margin: 0px 0px -4px 10px" />В корзину</a>
Помогите пожалуйста.
Авторизация