Перейти к содержанию
Форум поддержки пользователей VamShop

Очень нравится компоновка в другом магазине, помучаем


Рекомендуемые сообщения

Очень нравятся некоторые решения в этом магазине, может помучаемся?

http://tnd.ru/for_home/list.php?id=478

Зарегистрировался там для экспериментов: логин: ivanov, пароль: ivanov

В Опере смотрится идеально, в IE расхлябано.

Отметил оригинальные решения циферками.

Считаю особенно нужным номер 3 - когда товар в корзине, то это видно покупателю.

Ну и остальные тоже пригодятся.

Кому интересно, давайте пообсуждаем.

Ссылка на сообщение
Поделиться на другие сайты

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

Открываешь файл /includes/classes/product.php

Ищешь:


return array ('PRODUCTS_NAME' => $array['products_name'],
[/code] Меняешь на:
[code]
return array ('PRODUCTS_NAME' => $array['products_name'],
'PRODUCTS_IN_CART'=>$_SESSION['cart']->in_cart($array['products_id']),
Теперь в шаблонах списка товаров в /templates/шаблон/module/product_listing можно использовать метку:

{$module_data.PRODUCTS_IN_CART}
[/code] Что б узнать, какой товар в корзине а какой нет, например в шаблон списка товаров вставляй такой код (должен находиться внутри foreach ... /foreach):
[code]
{if $module_data.PRODUCTS_IN_CART}
в корзине
{else}
не в корзине
{/if}
или просто:

{if $module_data.PRODUCTS_IN_CART}
в корзине
{/if}
[/code]

Естественно, вместо текста можно вставить картинку через img src ...

Ссылка на сообщение
Поделиться на другие сайты

По поводу 2 пункта.

Это тоже довольно просто можно сделать.

Есть очень простой в использовании скрипт закладок, можно лишь с помощью html делать закладки.

Вот я пример показывал - http://vamshop.ru/node/89

Ссылка на сообщение
Поделиться на другие сайты
  • 3 weeks later...

Еще раз по поводу третьего пункта - как узнать в корзине товар или нет, находясь не в списке, а в карточке товара?

Ссылка на сообщение
Поделиться на другие сайты

Добавляешь аналогичную метку, только в /includes/modules/product_info.php

Например после:


$info->assign('PRODUCTS_ID', $product->data['products_id']);

[/code] добавляешь:
[code]
$info->assign('PRODUCTS_IN_CART', $_SESSION['cart']->in_cart($product->data['products_id']));

Затем шаблон карточки товара правишь - /templates/шаблон/module/product_info/product_info_v1.html

Ссылка на сообщение
Поделиться на другие сайты

получилось!

$info->assign('ADD_QTY', vam_draw_input_field('products_qty', '1', 'size="3"').' '.vam_draw_hidden_field('products_id', $product->data['products_id']));
if ($_SESSION['cart']->in_cart($product->data['products_id']) == '1') {
   $info->assign('ADD_CART_BUTTON', vam_image_submit('button_already_in_cart.gif', IMAGE_BUTTON_IN_CART, 'onClick="this.src=\'templates/templ1/buttons/russian/button_already_in_cart.gif\'"'));
}else{
   $info->assign('ADD_CART_BUTTON', vam_image_submit('button_in_cart.gif', IMAGE_BUTTON_IN_CART, 'onClick="this.src=\'templates/templ1/buttons/russian/button_already_in_cart.gif\'"'));
}[/code]

плюс яваскрипт, который при нажатии меняет картинку на "уже в корзине" и вышло не хуже чем в пункте 3.

Ссылка на сообщение
Поделиться на другие сайты

а как в /includes/classes/product.php вот тут аналогично определить?

function getBuyNowButton($id, $name) {
global $PHP_SELF;
if (AJAX_CART == 'true') {
   return vam_draw_form('buyNow', '', 'post', 'id="cart_quantity"; onSubmit="doAddProduct(this); return false"', 'post').vam_draw_hidden_field('products_id', $id).vam_draw_input_field('products_qty', 1, 'size="1"').vam_image_submit('button_in_cart.gif', TEXT_BUY.$name.TEXT_NOW).'</form>';
} else {
   return '<a href="'.vam_href_link(basename($PHP_SELF), 'action=buy_now&BUYproducts_id='.$id.'&'.vam_get_all_get_params(array ('action')), 'NONSSL').'">'.vam_image_button('button_buy_now.gif', TEXT_BUY.$name.TEXT_NOW).'</a>';
}
}[/code]

перепробовал всё по аналогии, но не пашет.

Ссылка на сообщение
Поделиться на другие сайты

Нужно сюда вставить условие это?!

Попробуй как-то так:


function getBuyNowButton($id, $name) {
global $PHP_SELF;
if (AJAX_CART == 'true') {
  return vam_draw_form('buyNow', '', 'post', 'id="cart_quantity"; onSubmit="doAddProduct(this); return false"', 'post').vam_draw_hidden_field('products_id', $id).vam_draw_input_field('products_qty', 1, 'size="1"').vam_image_submit('button_in_cart.gif', TEXT_BUY.$name.TEXT_NOW).'</form>';
} else {
if ($_SESSION['cart']->in_cart($id) == '1') {
  return '<a href="'.vam_href_link(basename($PHP_SELF), 'action=buy_now&BUYproducts_id='.$id.'&'.vam_get_all_get_params(array ('action')), 'NONSSL').'">'.vam_image_button('button_buy_now.gif', TEXT_BUY.$name.TEXT_NOW).'</a>';
} else {
ещё какой-то код
}
}
}
[/code]

т.е. ты смотри какой параметр используется для вывода id товара в конкретном куске кода.

Не везде ведь используется $product->data['products_id']

Ссылка на сообщение
Поделиться на другие сайты
  • 2 years later...

Версия магазина 61.

Хочу использовать данное решение, но не нахожу в product.php и product_info.php функцию in_cart. Функция с таким названием  определена в shopping_cart.php. Если это она, то как её корректно подключить?

Спасибо.

Ссылка на сообщение
Поделиться на другие сайты

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

Выше ведь, по идее, как раз и приведён код, что и куда добавлять.

Ссылка на сообщение
Поделиться на другие сайты

Ответ найден.

На данный момент актуальной вместо строки

if ($_SESSION['cart']->in_cart($product->data['products_id']) == '1')
является строка
if ($_SESSION['cart']->in_cart($array['products_id']) == '1')

Это для примера с product.php, приведенного выше.

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...