Ruslan Brest, rb.labtodo.com
Backend web-developer: CodeIgniter, PHP, MySQL, OpenCart, PrestaShop, MaxSite CMS

Opencart 1.5.x -- 1.5.1.2 (admin): редактирование заказов

Просмотров: 17742 RSS 16
Howto » OpenCart
Не рекомендуется применять! В 1.5.1.1 / 1.5.1.2 вроде бы работает, но отсутствия проблем никто не обещал.
Добавляем команду редактирования заказа в админке. Изменения для 1.5.1.2 и 1.5.1.3 идентичны. Но в 1.5.1.3 форма редактирования переделывается и на данный момент не работает полностью. То есть удалить товар может и получится, а вот добавить - вряд ли. Поэтому пользователям OpenCart 1.5.1.3 лучше подождать обновлений или следующей версии.

Впрочем, всем остальным -- тоже.

На свой страх и риск. Авторы OpenCart не закончили модификацию редактирования заказов и поэтому функция спрятана в версии 1.5

diff --git a/public_html/admin/controller/common/home.php b/public_html/admin/controller/common/home.php
index 8d96fac..daa59b9 100644
--- a/public_html/admin/controller/common/home.php
+++ b/public_html/admin/controller/common/home.php
@@ -174,10 +174,14 @@ class ControllerCommonHome extends Controller {
 			 
 			$action[] = array(
 				'text' => $this->language->get('text_view'),
 				'href' => $this->url->link('sale/order/info', 'token=' . $this->session->data['token'] . '&order_id=' . $result['order_id'], 'SSL')
 			);
+			$action[] = array(
+				'text' => $this->language->get('text_edit'),
+				'href' => $this->url->link('sale/order/update', 'token=' . $this->session->data['token'] . '&order_id=' . $result['order_id'], 'SSL')
+			);
 					
 			$this->data['orders'][] = array(
 				'order_id'   => $result['order_id'],
 				'customer'   => $result['customer'],
 				'status'     => $result['status'],
diff --git a/public_html/admin/view/stylesheet/stylesheet.css b/public_html/admin/view/stylesheet/stylesheet.css
index cde1569..556b225 100644
--- a/public_html/admin/view/stylesheet/stylesheet.css
+++ b/public_html/admin/view/stylesheet/stylesheet.css
@@ -31,10 +31,13 @@ a, a:visited {
 	cursor: pointer;
 }
 a img {
 	border: 0;
 }
+a.action {
+	padding-left: 5px;
+}
 form {
 	margin: 0;
 	padding: 0;
 }
 label {
diff --git a/public_html/admin/view/template/common/home.tpl b/public_html/admin/view/template/common/home.tpl
index dd0d996..83a57f7 100644
--- a/public_html/admin/view/template/common/home.tpl
+++ b/public_html/admin/view/template/common/home.tpl
@@ -103,11 +103,11 @@
                 <td class="left"><?php echo $order['customer']; ?></td>
                 <td class="left"><?php echo $order['status']; ?></td>
                 <td class="left"><?php echo $order['date_added']; ?></td>
                 <td class="right"><?php echo $order['total']; ?></td>
                 <td class="right"><?php foreach ($order['action'] as $action) { ?>
-                  [ <a href="<?php echo $action['href']; ?>"><?php echo $action['text']; ?></a> ]
+                  <a href="<?php echo $action['href']; ?>" class="action"><?php echo $action['text']; ?></a>
                   <?php } ?></td>
               </tr>
               <?php } ?>
               <?php } else { ?>
               <tr>

Не пользуйтесь этим для версии 1.5.1.3! Авторы OpenCart не закончили её модификацию и поэтому она спрятана в версии 1.5

diff --git a/upload/admin/controller/common/home.php b/upload/admin/controller/common/home.php
index b3eb55a..e41a285 100644
--- a/upload/admin/controller/common/home.php
+++ b/upload/admin/controller/common/home.php
@@ -174,10 +174,14 @@ class ControllerCommonHome extends Controller {
 			 
 			$action[] = array(
 				'text' => $this->language->get('text_view'),
 				'href' => $this->url->link('sale/order/info', 'token=' . $this->session->data['token'] . '&order_id=' . $result['order_id'], 'SSL')
 			);
+			$action[] = array(
+				'text' => $this->language->get('text_edit'),
+				'href' => $this->url->link('sale/order/update', 'token=' . $this->session->data['token'] . '&order_id=' . $result['order_id'], 'SSL')
+			);
 					
 			$this->data['orders'][] = array(
 				'order_id'   => $result['order_id'],
 				'customer'   => $result['customer'],
 				'status'     => $result['status'],
diff --git a/upload/admin/view/stylesheet/stylesheet.css b/upload/admin/view/stylesheet/stylesheet.css
index d80516b..bb9e451 100644
--- a/upload/admin/view/stylesheet/stylesheet.css
+++ b/upload/admin/view/stylesheet/stylesheet.css
@@ -29,10 +29,13 @@ a, a:visited {
 	cursor: pointer;
 }
 a img {
 	border: 0;
 }
+a.action {
+	padding-left: 5px;
+}
 form {
 	margin: 0;
 	padding: 0;
 }
 label {
diff --git a/upload/admin/view/template/common/home.tpl b/upload/admin/view/template/common/home.tpl
index dd0d996..83a57f7 100644
--- a/upload/admin/view/template/common/home.tpl
+++ b/upload/admin/view/template/common/home.tpl
@@ -103,11 +103,11 @@
                 <td class="left"><?php echo $order['customer']; ?></td>
                 <td class="left"><?php echo $order['status']; ?></td>
                 <td class="left"><?php echo $order['date_added']; ?></td>
                 <td class="right"><?php echo $order['total']; ?></td>
                 <td class="right"><?php foreach ($order['action'] as $action) { ?>
-                  [ <a href="<?php echo $action['href']; ?>"><?php echo $action['text']; ?></a> ]
+                  <a href="<?php echo $action['href']; ?>" class="action"><?php echo $action['text']; ?></a>
                   <?php } ?></td>
               </tr>
               <?php } ?>
               <?php } else { ?>
               <tr>

twitter.com facebook.com vkontakte.ru odnoklassniki.ru mail.ru ya.ru digg.com friendfeed.com liveinternet.ru livejournal.ru yandex.ru del.icio.us
Комментариев: 16
  1. Вы случайно не оказываете услуг по OpenCart?

  2. 2011-10-20 в 06:31:50 | Ruslan Brest

    Бывает. Но сейчас занят сильно и если за что браться, то за небольшие изменения и с большими оговорками про время и сроки.

    На этой неделе точно никаких заказов брать не буду.

  3. Интересует мелкая правка шаблона или консультация по работе с шаблонами на данной CMS. В английском не силен, а рунете мало инфы по работе с шаблонами. Может посоветуете что и где почитать? Понравился скрипт, сейчас поднимаю магазин и сталкиваюсь с мелкими проблемами.

  4. 2011-10-20 в 07:27:00 | Ruslan Brest

    Я не спец в вёрстке, но тут надо смотреть конкретно, что Вас интересует. Исходя из этой информации пока ничего конкретного сказать нельзя. Что-то может подскажу. Оперативно - не всегда. Но по мелочам обычно стараюсь помочь, если соображу с ответом.

    Если информация не для публичных комментариев - воспользуйтесь формой на странице "Контакт".

  5. Добрый вечер, очень хороший и нужный у вас сайт - спасибо! Есть такой вопрос: сложно ли будет сделать в списке заказов индикацию в виде заполнения определенным цветом строки обработанного заказа при изменении статуса? Например, ставим статус "выполнено" в "истории заказа" и в списке заказов вся строка выделяется зеленым цветом, а при изменении статуса на "отказ" - красным ну и так далее.

  6. 2011-12-07 в 05:57:03 | Ruslan Brest

    Спасибо! У меня так и сделано: http://rb.labtodo.com/uploads/opencart15/oc151-admin-color-order-status.png

    В общем списке они выглядят точно так же, разукрашенными.

    Всю строку перекрашивать не получится (или это будет связано с доп. изменениями). Так, как у меня, сделать несложно. Но описывать это я сейчас не готов - времени нет. Да и там ещё не доделано: HTML теги из статусов надо вырезать при отправке писем.

    Могу только кратко подсказать: в базе надо удлинить это поле (оно слишком короткое) и сразу там же вписать названия с HTML тегами. При желании редактировать статусы через админку надо код переделывать, там HTML не предусматривался и кажется не пройдёт валидацию при проверке. Если так на коленке устроит - этого достаточно. Но в письмах лишний мусор уходит, не очень красиво. Я это пока не исправлял.

  7. Спасибо, за подсказку - буду пробовать.

  8. diff сложно выложить? мне руками эти строчки вставлять?

  9. 2012-01-13 в 08:02:51 | Ruslan Brest

    Не то чтобы сложно, но мне неудобно их дублировать, закачивать, линковать. При том, что 99% посетителей не понимают, что такое дифф и тем более в виде файла - им надо наглядно и руками копировать. Поэтому я понадеялся на то, что тем, кто понимает, несложно сделать copy/paste.

    И кстати -- именно этот дифф как раз даром никому не нужен и вреден. Не работает нормально эта функция почти во всех случаях. Активно дорабатывается автором уже долгое время. Поэтому не зря её убрали из 1.5.

  10. а цену и сумму в заказе можно поправить?

  11. 2012-02-16 в 04:31:08 | Ruslan Brest

    Уже близится выход релиза Опенкарт 1.5.2 - автор это редактирование заказов уже с полгода делает и, судя по комментариям, конец близок. Редактирование там есть, поэтому лучше дождаться релиза и уже там использовать эту функцию.

  12. 2012-05-01 в 06:47:45 | Максим

    1.5.2 времени совсем нет ждать. Может всё же есть выход из ситуации с отсутствием редактирования заказов в oc 1.5.1.3?

  13. 2012-05-01 в 08:48:51 | Ruslan Brest

    В каком смысле ждать? 1.5.2 давно доступна.

  14. http://opencartforum.ru/topic/9291-редактирование-заказов-1513/#entry60617

  15. Есть ли решение вопроса с редактированием заказа сейчас. А то стоит OcStore 1.5.1.3, а обновляться на новую версию не рискую, много изменений было.

  16. 2012-11-13 в 14:16:27 | Ruslan Brest

    http://www.opencart.com/index.php?route=extension/extension/info&extension_id=5003

Оставьте комментарий!

Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.

Имя и сайт используются только при регистрации

Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email. При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д., а также подписку на новые комментарии.

Авторизация  Facebook. MaxSiteAuth. Loginza

(обязательно)