Доброго времени суток уважаемый посетитель.
Бывает такое что вы просматриваете какой то товар у себя в магазине как обычный покупатель , и замечаете в нем ошибку, или же вам нужно просто сменить цену, или же описание, да что угодно суть не в этом....
А суть в том что когда вы хотите отредактировать товар то вам нужно перейти в админ панель , и найти сначала этот товар и только после вы сможете нажать кнопку изменить чтобы отредактировать сам товар.
А было бы неплохо добавить кнопку "изменить" прямо в карточку товара с витрины, кликнув по которой вы сразу же попадаете на страницу изменения данного товара.
Сегодня я покажу вам метод как такое сделать быстро и просто, всего несколькими строчками кода.
Пример того что у нас получится вы можете посмотреть здесь:
В итоге у нас получится так что администратор просматривая товар может сразу же нажать на кнопку изменить и отредактировать его, при том что кнопка будет показана только администратору, пользователю же эта кнопка не видна....
Ладно давайте уже приступим к решению поставленной задачи и сделаем возможным редактировать наш товар прямо из витрины opencart!
Изменения будем проводит на стандартном шаблоне.
И так нам нужно открыть файл: catalog/view/theme/default/template/product/product.tpl
И в нем в нужном вам месте добавить код:
1 2 3 4 5 6 7 |
<?php require_once(DIR_SYSTEM . 'library/user.php'); $this->registry->set('user', new User($this->registry)); if ($this->user->isLogged()) { $userLogged = true; } else { $userLogged = false;} if ($userLogged) { ?> <div class="edit-wiew"> <a target="_blank" href="/admin/index.php?route=catalog/product/update&token=<?php echo $this->session->data['token']; ?>&product_id=<?php echo $product_id; ?>"><?php echo $text_edit_wiew; ?></a> </div> <?php } ?> |
лично я добавил в данном примере сразу напротив модели после:
1 |
<div class="description"> |
Таким образом мы вывели нашу кнопку в карточку товара у она уже рабочая, и если заменить в коде строчку:
1 |
<?php echo $text_edit_wiew; ?> |
На свой текст то вы можете его уже использовать.
Но мы же хотим сделать кнопку редактирования красивой и что бы она работала на разных языках.
Добавляем поддержку локализации, открываем файл: catalog/controller/product/product.php
И где то после:
1 |
$this->data['text_qty'] = $this->language->get('text_qty'); |
Добавим:
1 |
$this->data['text_edit_wiew'] = $this->language->get('text_edit_wiew'); |
Далее открываем языковый файл: catalog/language/russian/product/product.php
и в нем где то вставляем:
1 |
$_['text_edit_wiew'] = 'Изменить товар'; |
Я вставил после:
1 |
$_['text_qty'] = 'Количество:'; |
Такие же действия делаем с другими языковыми файлами.
Вот и все теперь у вас кнопка может отображаться на разных языках.
Ну и последнее это несколько строчек стилей для нашей кнопки которые нужно поместить в файл стилей вашего шаблона:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
.product-info .description .edit-wiew { float: right; margin-top: 5px; color: #fff; text-decoration: none; user-select: none; background: rgb(212,75,56); padding: .7em 1.5em; outline: none; } .product-info .description .edit-wiew:hover { background: rgb(232,95,76); } .product-info .description .edit-wiew:active { background: rgb(152,15,0); } .product-info .description .edit-wiew a{ color: #fff; font-size: 16px; font-weight: 700; } |
Ну вот и все , такое простое и очень удобное решение которое даст возможность не тратить время на поиск редактируемого товара а сразу же отредактировать его!
Так что пробуйте и тестируйте.
Всех с прошедшим праздником пасхи!
Нет комментариев
Вы можете оставить комментарий первым.