Форум русской поддержки Joomla!® CMS
08.12.2016, 13:58:14 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

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

 (Прочитано 83 раз)
0 Пользователей и 1 Гость смотрят эту тему.
aleksandrozz
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Сообщений: 43


« : 11.11.2016, 20:48:23 »

Здравствуйте!

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

Заранее спасибо!
Записан
nevigen
Moderator
*****

Репутация: +734/-16
Offline Offline

Пол: Мужской
Сообщений: 8808


http://n*****n.com


« Ответ #1 : 11.11.2016, 21:32:38 »

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

П.С. а хотя в модуле не вроде списка... Ну значит на странице вишлиста подсмотрите.
Записан
aleksandrozz
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Сообщений: 43


« Ответ #2 : 12.11.2016, 13:10:18 »

Спасибо за ответ!

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

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. Модуль товаров.

Делается точно также как и в списке товаров.
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet