Доброго часу доби шановний відвідувач.
Буває таке що ви переглядаєте якийсь товар у себе в магазині як звичайний покупець, і помічаєте в ньому помилку, або ж вам потрібно просто змінити ціну, або ж опис, та що завгодно суть не в цьому ....
А суть в тому що коли ви хочете відредагувати товар то вам потрібно перейти в адмін панель, і знайти спочатку цей товар і тільки після ви зможете натиснути кнопку змінити щоб відредагувати сам товар.
А було б непогано додати кнопку "змінити" прямо в картку товару з вітрини, клікнувши по якій ви відразу ж потрапляєте на сторінку зміни даного товару.
Сьогодні я покажу вам метод як таке зробити швидко і просто, всього кількома рядками коду.
Приклад того що у нас вийде ви можете подивитися тут:
В результаті у нас вийде так що адміністратор переглядаючи товар може відразу ж натиснути на кнопку змінити і відредагувати його, при тому що кнопка буде показана тільки адміністратору, користувачеві ж ця кнопка, не буде відображатися....
Гаразд давайте вже приступимо до вирішення поставленого завдання і зробимо можливим редагувати наш товар прямо з вітрини 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;
}
|
Ну ось і все, таке просте і дуже зручне рішення яке дасть можливість не витрачати час на пошук редагованого товару а відразу ж відредагувати його!
Так що пробуйте і тестуйте.
Всіх з минулим святом Пасхи
Немає коментарів
Ви можете залишити коментар першим.