Prestashop: показать количество продуктов в заголовке меню списка пожеланий

Prestashop: показать количество продуктов в заголовке меню списка пожеланий

19.08.2014 03:25:20 Просмотров 51 Источник

Как я могу показать количество продуктов из меню заголовка списка пожеланий? Вот как я хочу выглядеть вот так:

Я пробовал что-то вроде этого:

<a href="/index.php?fc=module&module=blockwishlist&controller=mywishlist" 
title="{l s='My wishlists' mod='blockwishlist'}" 
rel="nofollow">{l s='Wishlist' mod='blockwishlist'} ({'wishlist'|count})
</a>

Но, похоже, он считает мои списки пожеланий, а не мои продукты из списка пожеланий.

У вопроса есть решение - Посмотреть?

https://stackoverflow.com/questions/25382197/prestashop-show-the-number-of-products-on-my-wishlist-header-menu-item#comment39584219_25382197
Почему мой вопрос был отклонен?

Ответы - Prestashop: показать количество продуктов в заголовке меню списка пожеланий / Prestashop: Show the number of products on my wishlist header menu item

Является ответом!
Daniel Patilea

19.08.2014 03:39:09

Вот быстрое решение этой проблемы. Это не 100% эффективно, но это будет делать трюк.

  1. Перейдите в раздел \modules\blockuserinfo и отредактируйте blockuserinfo.РНР
  2. Обновите функцию hookTop() до этого (это позволит подсчитать продукты из активного списка пожеланий зарегистрированного пользователя и присвоить значение переменной $count_products) :

    публичная функция hookTop($params) { если (!$этот актив) вернуть;

    $current_user = (int)$this->context->cookie->id_customer;
    
    $id_wishlist = Db::getInstance()->getValue("SELECT id_wishlist FROM `"._DB_PREFIX_."wishlist` WHERE id_customer = '$current_user'");
    $count_products = Db::getInstance()->getValue("SELECT COUNT(id_wishlist_product) FROM `"._DB_PREFIX_."wishlist_product` WHERE id_wishlist = '$id_wishlist'");
    
    
    $this->smarty->assign(array(
        'current_user' => $count_products,
        'cart' => $this->context->cart,
        'cart_qties' => $this->context->cart->nbProducts(),
        'logged' => $this->context->customer->isLogged(),
        'customerName' => ($this->context->customer->logged ? $this->context->customer->firstname.' '.$this->context->customer->lastname : false),
        'firstName' => ($this->context->customer->logged ? $this->context->customer->firstname : false),
        'lastName' => ($this->context->customer->logged ? $this->context->customer->lastname : false),
        'order_process' => Configuration::get('PS_ORDER_PROCESS_TYPE') ? 'order-opc' : 'order'
    ));
    return $this->display(__FILE__, 'blockuserinfo.tpl');
    

    }

  3. Теперь мы должны отобразить его в меню. Редактировать blockuserinfo.ТПЛ что он находится в том же каталоге и добавьте это:

    {blockwishlist л ы='хотелки' мод=''} ({$count_products})

  4. Сохраните все файлы. Он должен отображать в интерфейсе количество продуктов

* Примечание: если пользователь имеет несколько списков пожеланий, трюк будет работать только для списка пожеланий

Oscar

23.07.2015 11:03:57

Он работает нормально, но в "blockuserinfo.ТПЛ" переменная не $count_products, вы должны использовать $функция current_user. Итак, хорошая строка для добавления-это:

{l s='Wishlist' mod='blockwishlist'} ({$current_user})
Закрыть X