Активная кнопка "В список пожеланий"?

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

aleksandrozz

  • Осваиваюсь на форуме
  • ***
  • 51
  • 2
Здравствуйте!

Подскажите пожалуйста, каким образом можно сделать активной кнопку "В список пожеланий", если товар находится в списке пожеланий?

Заранее спасибо!

*

nevigen

  • Moderator
  • *****
  • 8832
  • 754
  • http://n*****n.com
посмотрите как проверяется и выводится список в модуле вишлиста.
и сделайте плагин или вставьте в шаблоны необходимую обработку.

П.С. а хотя в модуле не вроде списка... Ну значит на странице вишлиста подсмотрите.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !

*

aleksandrozz

  • Осваиваюсь на форуме
  • ***
  • 51
  • 2
Спасибо за ответ!

Поделюсь решением, может кому-то пригодится.

1. Для списка товаров.

Открываем файл "components/com_jshopping/templates/[ваш шаблон]/list_products/list_products.php"

В самом верху, после "defined('_JEXEC') or die('Restricted access');" вставляем

Код
$wishlist = JModelLegacy::getInstance('cart', 'jshop');

$wishlist->load('wishlist');

foreach ($wishlist->products as $key => $product) {
  $wishlistIds[$product['product_id']] = $key;
}

Дальше открываем файл в этой же директории "product.php"

В самом верху, после "defined('_JEXEC') or die('Restricted access');" вставляем

Код
$wishlistClass = '';

if(is_array($wishlistIds) && array_key_exists($product->product_id, $wishlistIds)) {
  $wishlistClass = ' active';
}

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

Код
<a class="btn button_wishlist<?php print $wishlistClass; ?>" href="<?php echo SEFLink('index.php?option=com_jshopping&controller=cart&task=add&to=wishlist&category_id='. $product->category_id .'&product_id='. $product->product_id, 1); ?>"><?php print _JSHOP_ADD_TO_WISHLIST; ?></a>

Собственно код "<?php echo $wishlistClass; ?>" добавит класс "active", если товар находится в "Списке пожеланий".

Идем дальше...

2. Для карточки товара

Собственно тут все аналогично, почти...

Открываем файл "components/com_jshopping/templates/[ваш шаблон]/product/product_default.php"

В самом верху, после "defined('_JEXEC') or die('Restricted access');" вставляем

Код
$wishlist = JModelLegacy::getInstance('cart', 'jshop');

$wishlist->load('wishlist');

foreach ($wishlist->products as $key => $product) {
  $wishlistIds[$product['product_id']] = $key;
}

$wishlistClass = '';

if(is_array($wishlistIds) && array_key_exists($this->product->product_id, $wishlistIds)) {
  $wishlistClass = ' active';
}

Ищем

Код
<?php if ($this->enable_wishlist){?>
<input type="submit" class="btn button" value="<?php print _JSHOP_ADD_TO_WISHLIST?>" onclick="jQuery('#to').val('wishlist');" />
<?php }?>

Меняем

Код
<?php if ($this->enable_wishlist){?>
  <input type="submit" class="btn button<?php echo $wishlistClass; ?>" value="<?php print _JSHOP_ADD_TO_WISHLIST?>" onclick="jQuery('#to').val('wishlist');" />
<?php }?>

Добавляем стили для активной кнопки в CSS.

3. Модуль товаров.

Делается точно также как и в списке товаров.