Opencart 1.5.1.3 (admin): пара мелких улучшений Admin Dashboard
Сегодня пара мелких, но полезных визуальных улучшений админки:
Вспомните, как вы пропускали новые комментарии и ожидающих активации партнеров, а также с трудом пытались сориентироваться на большом экране, какой же модуль разрешён, а какой запрещён...
Вспомнили? Тогда информация будет вам полезна:
commit f9c192a6c30b7b8db5a5621b391680451c1c6d7d
Author: Ruslan Brest <rb@labtodo.com>
Date: Fri Dec 30 20:37:51 2011 +0200
[+] admin UI: Выделение цветом разрешенных элементов в списках расширений; Dashboard - выделение красным пунктов, ожидающих модерации
diff --git a/upload/admin/controller/common/home.php b/upload/admin/controller/common/home.php
index 06b5567..c2b1a7e 100644
--- a/upload/admin/controller/common/home.php
+++ b/upload/admin/controller/common/home.php
@@ -147,16 +147,22 @@ class ControllerCommonHome extends Controller {
$this->data['total_customer'] = $this->model_sale_customer->getTotalCustomers();
$this->data['total_customer_approval'] = $this->model_sale_customer->getTotalCustomersAwaitingApproval();
+ if( $this->data['total_customer_approval'] > 0 )
+ $this->data['total_customer_approval'] = sprintf('<span class="attn">%s</span>', $this->data['total_customer_approval']);
$this->load->model('catalog/review');
$this->data['total_review'] = $this->model_catalog_review->getTotalReviews();
$this->data['total_review_approval'] = $this->model_catalog_review->getTotalReviewsAwaitingApproval();
+ if( $this->data['total_review_approval'] > 0 )
+ $this->data['total_review_approval'] = sprintf('<span class="attn">%s</span>', $this->data['total_review_approval']);
$this->load->model('sale/affiliate');
$this->data['total_affiliate'] = $this->model_sale_affiliate->getTotalAffiliates();
$this->data['total_affiliate_approval'] = $this->model_sale_affiliate->getTotalAffiliatesAwaitingApproval();
+ if( $this->data['total_affiliate_approval'] > 0 )
+ $this->data['total_affiliate_approval'] = sprintf('<span class="attn">%s</span>', $this->data['total_affiliate_approval']);
$this->data['orders'] = array();
diff --git a/upload/admin/controller/extension/feed.php b/upload/admin/controller/extension/feed.php
index 6d8cf42..8ba93ff 100644
--- a/upload/admin/controller/extension/feed.php
+++ b/upload/admin/controller/extension/feed.php
@@ -87,7 +87,7 @@ class ControllerExtensionFeed extends Controller {
$this->data['extensions'][] = array(
'name' => $this->language->get('heading_title'),
- 'status' => $this->config->get($extension . '_status') ? $this->language->get('text_enabled') : $this->language->get('text_disabled'),
+ 'status' => $this->config->get($extension . '_status') ? '<span class="enabled">'.$this->language->get('text_enabled').'</span>' : $this->language->get('text_disabled'),
'action' => $action
);
}
diff --git a/upload/admin/controller/extension/payment.php b/upload/admin/controller/extension/payment.php
index 50502c3..fc49d39 100644
--- a/upload/admin/controller/extension/payment.php
+++ b/upload/admin/controller/extension/payment.php
@@ -97,7 +97,7 @@ class ControllerExtensionPayment extends Controller {
$this->data['extensions'][] = array(
'name' => $this->language->get('heading_title'),
'link' => $link,
- 'status' => $this->config->get($extension . '_status') ? $this->language->get('text_enabled') : $this->language->get('text_disabled'),
+ 'status' => $this->config->get($extension . '_status') ? '<span class="enabled">'.$this->language->get('text_enabled').'</span>' : $this->language->get('text_disabled'),
'sort_order' => $this->config->get($extension . '_sort_order'),
'action' => $action
);
diff --git a/upload/admin/controller/extension/shipping.php b/upload/admin/controller/extension/shipping.php
index e801811..e5c6b4c 100644
--- a/upload/admin/controller/extension/shipping.php
+++ b/upload/admin/controller/extension/shipping.php
@@ -88,7 +88,7 @@ class ControllerExtensionShipping extends Controller {
$this->data['extensions'][] = array(
'name' => $this->language->get('heading_title'),
- 'status' => $this->config->get($extension . '_status') ? $this->language->get('text_enabled') : $this->language->get('text_disabled'),
+ 'status' => $this->config->get($extension . '_status') ? '<span class="enabled">'.$this->language->get('text_enabled').'</span>' : $this->language->get('text_disabled'),
'sort_order' => $this->config->get($extension . '_sort_order'),
'action' => $action
);
diff --git a/upload/admin/controller/extension/total.php b/upload/admin/controller/extension/total.php
index acbb06f..ebde251 100644
--- a/upload/admin/controller/extension/total.php
+++ b/upload/admin/controller/extension/total.php
@@ -88,7 +88,7 @@ class ControllerExtensionTotal extends Controller {
$this->data['extensions'][] = array(
'name' => $this->language->get('heading_title'),
- 'status' => $this->config->get($extension . '_status') ? $this->language->get('text_enabled') : $this->language->get('text_disabled'),
+ 'status' => $this->config->get($extension . '_status') ? '<span class="enabled">'.$this->language->get('text_enabled').'</span>' : $this->language->get('text_disabled'),
'sort_order' => $this->config->get($extension . '_sort_order'),
'action' => $action
);
diff --git a/upload/admin/view/stylesheet/stylesheet.css b/upload/admin/view/stylesheet/stylesheet.css
index fe82124..53f488f 100644
--- a/upload/admin/view/stylesheet/stylesheet.css
+++ b/upload/admin/view/stylesheet/stylesheet.css
@@ -517,3 +517,12 @@ table.form > tbody > tr > td {
padding: 10px;
min-height: 180px;
}
+
+/**** UI improvement ****/
+.enabled {color: green;}
+.attn {
+ padding: 3px;
+ background: #FFD1D1 10px center no-repeat;
+ border: 1px solid #F8ACAC;
+ color: #555555;
+}
\ No newline at end of file
commit f825c12b92afe6f20137b38814a7b72f3381e729
Author: Ruslan Brest <rb@labtodo.com>
Date: Fri Dec 30 20:04:14 2011 +0200
[+] admin UI: подсветка строки под курсором в таблицах (hover)
diff --git a/upload/admin/view/stylesheet/stylesheet.css b/upload/admin/view/stylesheet/stylesheet.css
index bb9e451..fe82124 100644
--- a/upload/admin/view/stylesheet/stylesheet.css
+++ b/upload/admin/view/stylesheet/stylesheet.css
@@ -304,6 +304,10 @@ a.button, .list a.button {
padding: 0px 5px;
background: #FFFFFF;
}
+.list tbody tr:hover td {
+ background: #e6f1ff;
+ /*background: #ffe9a3;*/
+}
.list .left {
text-align: left;
padding: 7px;
Еще записи по теме
- Opencart 1.5.x: (catalog) Как добавить сортировку по производителю в каталоге товаров
- Что такое diff
- Opencart 1.5.1: возможность регулировать точность и количество десятичных знаков при выводе веса и размеров
- Убираем ограничение 999.99 на вес и размеры в Opencart
- Opencart 1.5.1.3 (backend): улучшение поиска в фильтрах - не только с начала строки или по полному совпадению (имя, email, IP, опции, атрибуты)
- Opencart: чем отличаются купоны и подарочные сертификаты?
- Opencart 1.5.x (catalog): как в каталоге добавить вывод атрибута к описанию товара




Комментариев: 7
Добрый день!
Не знаю куда написать Вам, поэтому решил закомментить крайний пост. Вопрос такой - начал наполнять ИМ товаром и столкнулся с серьезной SEO проблемой - дубли страниц товаров. Один и тот же товар (читайте один и тот же контент)идет в разных путях. У вас на сайте та же проблема:
http://a4u.com.ua/bomann/Bomann-CM-2221
http://a4u.com.ua/food/toster/Bomann-CM-2221
Думаете ли с этим что-то решать? Или можете подсказать как решить. На форумах находил модули, но под последнюю версию opencart 1.5.1.3 решения пока не нашел.
Спасибо за внимание.
С уважением,
MikleMi
Да, я знаю. Но не считаю это однозначно серьезной проблемой. Это считает проблемой Яндекс (и то не проблемой в смысле ошибки, а предупреждением в смысле "а хорошо бы вам указать, что тут основное"). Но у нас 600 с чем-то товаров. В индексе Яндекса - около 700 страниц (ага, вот: в поиске 660, загружено роботом 4284). Исключено по причине "не является каноническим" 1867 (по подсказке Опенкарта - у этих товаров указана ссылка на канонический документ). То есть технически я не вижу какой-то острой проблемы. Задача в списке есть, но я не считаю её критической и займусь тогда, когда время будет.
В приведенном примере нет никаких дублей: в товаре http://a4u.com.ua/food/toster/Bomann-CM-2221 есть указание, дублем чего является эта страница:
{link href="http://a4u.com.ua/Bomann-CM-2221" rel="canonical"}
То, что это неочевидно и неудобно покупателю (не производится редирект) - да, это неудобно. И это меня больше мотивирует заняться этим вопросом. Но раз здесь речь про SEO проблемы - SEO проблемы здесь нет.
Ещё момент. В Украине Яндексом пользуется 15% людей. К нам на сайт через Яндекс приходит около 20% трафика, 80 - с Гугла. Поэтому я не думаю, что что-то сильно изменится, если мы начнем ублажать Яндекс.
Решение есть, называется Seo Pro. Автор - Yesvik на форуме opencartforum.ru. Раньше было доступно в виде модуля, сейчас он его включил в сборку ocStore, а в виде модуля отдельно не поддерживает. Поэтому надо либо оттуда выковыривать, либо ставить сборку ocStore, если этот вопрос критичен и хочется иметь решение "из коробки". Будут ли доп. ошибки в этой сбрке по сравнению с оригинальным Opencart 1.5.1.3 - не знаю, скорее всего да, судя по сообщениями на форуме за последние полгода. Насколько они там большие/мелкие/критичные - не знаю, я плотно не эксплуатирую эту сборку. Но авторы живые и русскоязычные. И их больше одного. По крайней мере Yesvik на багрепорты по своей части (SeoPro в частности) реагирует оперативно.
Спасибо за внимание!
Да, в Украине Гугл рулит (а мы с Яшей мучаемся).
А разве canonical передает вес как 301 редирект? Ведь люди которые будут ссылаться на ваш сайт будут ставить разные ссылки на один и тот же товар, а это тоже к разряду SEO.
Файл от Yesvik я находил, но он под ocStore. Буду надеется, что под Opencart 1.5.1.3 что-то будет =))
Я не спец в SEO вопросах. Все поисковики твердят - делайте контент для людей. Вот это я считаю самым ценным советом :) SEO-шники пытаются технически подстроиться под поисковики, а поисковики борятся с их изысками. Только планету зря греют. Пользователям от этого сплошная головная боль и протащенный за волосы контент - как универсамы вместо уютных магазинчиков и кафе. Я массой вопросов их этой области просто не заморачиваюсь. Поэтому понятия не имею, что там и как перераспределяется. Я вижу результаты ежедневно: человечески сделанный контент сам продвигается и посещаемость растет без плясок вокруг этих вопросов.
Так что я за здравый смысл и карму, а не SEO-заморочки для роботов. Будет время - займусь причесыванием и помоганием поисковикам более точно разобраться в контенте.
Гугл тоже говорит о пользе rel=canonical. Но машины и без моего вмешательства пока распознают дубли. И гугл, и яндекс. Так что пока моя помощь им не требуется, я занимаюсь более творческими задачами, которые они делать не умеют.
Да и я за продвижение хорошим контентом, хорошими фотками и качественным обслуживанием клиентов=)
И 301 редирект принес бы дополнительную пользу людям, которые, за счет небольшого количества SEO, смогут попасть на качественный ресурс ;)
Проблема заключается в том, что если сеошник накупил уйму ссылок на одну страницу и хотел вывести ее в топ-1 по ряду запросов, а поисковик в свою очередь из ряда дублей оставил в индексе совсем другую страницу, то получается что он потратил свое время и деньги впустую.
Разберитесь с тем, зачем нужен {link href="..." rel="canonical"}