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

erectus

Постоялец
Регистрация
1 Мар 2016
Сообщения
60
Решения
1
Реакции
28
Всем привет!
Это крик души. Программисты, накиньте, пожалуйста, кодик для 2х вышеназванных ссылок, чтобы в админке, в карточке товара, например, в левом столбце (или хоть попап, без разницы) "следующий товар" и "предыдущий товар". Они волшебные были бы, поверьте. Преста 1.6.
 
Последнее редактирование:
В теме Warehouse есть модуль Productsnavpn, который на странице Product Page листает продукты. В файле breadcrumb.tpl прописан хук для него. Надеюсь этот модуль подойдёт...

PS не заметил что вы писали что надо для Админки
 
На крайний случай можно листать продукты в админке подставляя в адресной строке ID продукта
 
Я так и делаю, но это жесть жестокая тоже. Думал при помощи браузерного плагина скриптом подставлять в строку ID следующего товара но тоже мало прошарен в этом направлении.
 
Решил поднять тему, неужели сие улучшение никому не нужное?
 
Решил поднять тему, неужели сие улучшение никому не нужное?

да - так и сделали в 1.7, что не нужны стрелочки в админке, так как непонятно, куда они должны вести, особенно при выбранном фильтре по товарам

т.е. больше вреда чем пользы, особенно для низкоквалифицированных контент-менеджеров
 
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->id, null, null, 0, false);                
                $key = array_search($this->object->id, array_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', null, null, false),
                        'href' => $this->context->link->getAdminLink('AdminProducts').'&id_product='.(int)$keyPrev.'&updateproduct',
                        'desc' => $this->l('Prev. Product', null, null, false),
                        'icon' => 'process-icon-back'
                    );

                if (!empty($keyNext))
                    $this->page_header_toolbar_btn['next'] = array(
                        'short' => $this->l('Next', null, null, false),
                        'href' => $this->context->link->getAdminLink('AdminProducts').'&id_product='.(int)$keyNext.'&updateproduct',
                        'desc' => $this->l('Next Product', null, null, false),
                    );
            }
        }
    }
}

решении " в лоб " для версии 1.6, работает и для фильтров и выборки по таблице Products, но скорее всего будет тормозить при очень уж больших количествах товаров
сохранить в файл /override/controllers/admin/AdminProductsController.php
стереть /cache/class_index.php перед использованием

2019-01-11_15-34-03.png
 
Преста 1.6.1.6 тема дефолт, если фильтра по категории в списке товаров не включать, то при нажатии вперед или назад перематывает рандомно на разные айди было, скажем 172, нажал прев. стало 111. Если выбрать категорию и зайти в карточку товара, то уже перематывает внутри этой выбранной категории корректно. Файл удалял, кеш чистил.
 
Последнее редактирование:
Так, вроде работает, видать старый добрый кеш браузера мозги парил, Дюк, спасибо, дружище, связываюсь с тобой по поводу дальнейшего сотрудничества.
 
Преста 1.6.1.6 тема дефолт, при нажатии вперед или назад перематывает рандомно на разные айди было, скажем 172, нажал прев. стало 111, кидает так рандомно по списку айдишников в списке товаров неотсортированном по категориям. Если выбрать категорию, то уже перематывает по ней корректно.

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