Помощь Кнопка след\предыд. товар в карточке товара

Тема в разделе "PrestaShop", создана пользователем erectus, 30 сен 2018.

Информация :
Приветствую гость, обрати внимание! Темы которые закреплены в разделах, в скором времени будут откреплены. Правила раздела PrestaShop

(Не актуальные темы) Каталоги:Модули PrestaShop 1.7Модули PrestaShop 1.5 - 1.6Шаблоны PrestaShop 1.7Шаблоны PrestaShop 1.5 - 1.6
(Не актуальные темы) Поиск / Запросы:Модули PrestaShop 1.7Модули PrestaShop 1.5 - 1.6Шаблоны PrestaShop 1.7Шаблоны PrestaShop 1.5 - 1.6
Полезная информация:Поддержка и помощь c PrestaShopУбираем ПрестаТраст, стучалки и прочую рекламуСовместные покупки модулей и шаблоновПеревод Prestashop и модулей
Модераторы: trace
  1. erectus

    erectus Постоялец

    Регистр.:
    1 мар 2016
    Сообщения:
    51
    Симпатии:
    23
    Всем привет!
    Это крик души. Программисты, накиньте, пожалуйста, кодик для 2х вышеназванных ссылок, чтобы в админке, в карточке товара, например, в левом столбце (или хоть попап, без разницы) "следующий товар" и "предыдущий товар". Они волшебные были бы, поверьте. Преста 1.6.
     
    Последнее редактирование: 30 сен 2018
  2. apskiper

    apskiper Создатель

    Регистр.:
    23 окт 2017
    Сообщения:
    44
    Симпатии:
    10
    В теме Warehouse есть модуль Productsnavpn, который на странице Product Page листает продукты. В файле breadcrumb.tpl прописан хук для него. Надеюсь этот модуль подойдёт...

    PS не заметил что вы писали что надо для Админки
     
  3. apskiper

    apskiper Создатель

    Регистр.:
    23 окт 2017
    Сообщения:
    44
    Симпатии:
    10
    На крайний случай можно листать продукты в админке подставляя в адресной строке ID продукта
     
  4. erectus

    erectus Постоялец

    Регистр.:
    1 мар 2016
    Сообщения:
    51
    Симпатии:
    23
    Я так и делаю, но это жесть жестокая тоже. Думал при помощи браузерного плагина скриптом подставлять в строку ID следующего товара но тоже мало прошарен в этом направлении.
     
  5. erectus

    erectus Постоялец

    Регистр.:
    1 мар 2016
    Сообщения:
    51
    Симпатии:
    23
    Решил поднять тему, неужели сие улучшение никому не нужное?
     
  6. _sashok

    _sashok PrestaShop Expert

    Регистр.:
    15 июл 2011
    Сообщения:
    1.882
    Симпатии:
    3.004
    да - так и сделали в 1.7, что не нужны стрелочки в админке, так как непонятно, куда они должны вести, особенно при выбранном фильтре по товарам

    т.е. больше вреда чем пользы, особенно для низкоквалифицированных контент-менеджеров
     
  7. duke1999

    duke1999

    Регистр.:
    11 сен 2012
    Сообщения:
    205
    Симпатии:
    94
    PHP:
    <?php
    /*
    *  @author WAGOOD <wagood@yandex.ru>
    */
    class AdminProductsController extends AdminProductsControllerCore
    {
        public function 
    initPageHeaderToolbar()
        {
            
    parent::initPageHeaderToolbar();
            if (
    $this->display == 'edit') {
                if ((
    $product $this->loadObject(true)) && $product->isAssociatedToShop()) {
                    
    $this->getList($this->context->language->idnullnull0false);                
                    
    $key array_search($this->object->idarray_column($this->_list'id_product'));                
                    
    $keyPrev = isset($this->_list[$key-1])?$this->_list[$key-1]['id_product']:null;
                    
    $keyNext = isset($this->_list[$key+1])?$this->_list[$key+1]['id_product']:null;               
                    if (!empty(
    $keyPrev))
                        
    $this->page_header_toolbar_btn['previous'] = array(
                            
    'short' => $this->l('previous'nullnullfalse),
                            
    'href' => $this->context->link->getAdminLink('AdminProducts').'&id_product='.(int)$keyPrev.'&updateproduct',
                            
    'desc' => $this->l('Prev. Product'nullnullfalse),
                            
    'icon' => 'process-icon-back'
                        
    );

                    if (!empty(
    $keyNext))
                        
    $this->page_header_toolbar_btn['next'] = array(
                            
    'short' => $this->l('Next'nullnullfalse),
                            
    'href' => $this->context->link->getAdminLink('AdminProducts').'&id_product='.(int)$keyNext.'&updateproduct',
                            
    'desc' => $this->l('Next Product'nullnullfalse),
                        );
                }
            }
        }
    }
    решении " в лоб " для версии 1.6, работает и для фильтров и выборки по таблице Products, но скорее всего будет тормозить при очень уж больших количествах товаров
    сохранить в файл /override/controllers/admin/AdminProductsController.php
    стереть /cache/class_index.php перед использованием

    2019-01-11_15-34-03.png
     
    erectus нравится это.
  8. erectus

    erectus Постоялец

    Регистр.:
    1 мар 2016
    Сообщения:
    51
    Симпатии:
    23
    Преста 1.6.1.6 тема дефолт, если фильтра по категории в списке товаров не включать, то при нажатии вперед или назад перематывает рандомно на разные айди было, скажем 172, нажал прев. стало 111. Если выбрать категорию и зайти в карточку товара, то уже перематывает внутри этой выбранной категории корректно. Файл удалял, кеш чистил.
     
    Последнее редактирование: 11 янв 2019 в 21:54
  9. erectus

    erectus Постоялец

    Регистр.:
    1 мар 2016
    Сообщения:
    51
    Симпатии:
    23
    Так, вроде работает, видать старый добрый кеш браузера мозги парил, Дюк, спасибо, дружище, связываюсь с тобой по поводу дальнейшего сотрудничества.
     
  10. duke1999

    duke1999

    Регистр.:
    11 сен 2012
    Сообщения:
    205
    Симпатии:
    94
    Решение не претендует на универсальность, импровизация.
    Сейчас не посмотреть, скорее если нет и не было никогда сортировки в каталоге выбрано, то сортирует на экране по id_product, но на самом деле в базе идёт сортировка по position, и тут путаница в результатах возникает. Нажать просто в таблице сортировку по id, чтобы в админке это запомнилось и дальше уже должно соответствовать.