Позволю себе немного "позанудствовать". Всегда для себя любимого стараешься выбрать все самое лучшее, тщательно и кропотливо изучая варианты.
До сих пор сидел на ocStore 1.5, все нравилось. Но пришла пора не просто обновляться, а переходить на более высокий уровень. Решил переходить на ocStore 2.3 либо OpenCart.pro.
И приступил я значит к сравнению. И три дня и три ночи скакал Иван Царевич сравнивал я движки...
По понятным причинам не буду говорить о плюсах OpenCart.pro - они и так всем понятны, интересно было найти плюсы или преимущества именно со стороны ocStore.
И вот какие заметки я себе составил. У ocStore:
Есть github, где правки вносятся членами сообщества и за этим удобно следить
CKEditor из коробки (+ возможность переключения)
UniSender из коробки
Интегрированные популярные платежные системы
Русский язык в Google reCaptcha (\catalog\view\theme\default\template\extension\captcha\google_captcha.tpl)
Русский язык в jquery datetimepicker
Всякие плюшки в header.tpl (og:title, og:site_name, og:image и тд)
Вывод описания для методов оплаты и доставки (\catalog\view\theme\default\template\checkout\payment_method.tpl , shipping_method.tpl)
Отправка SMS администратору
Какие-то там плюшки с трекингом и LiveInform (мне вроде не нужно, глубоко не копал)
(?) Менеджер карт оплаты в личном кабинете (найдено тут - \catalog\language\ru-ru\account\account.php но назначение пока не ясно)
Скрытие upc ean jan isbn mpn (админка)
Настройка скрытия/отображения дополнений в разрезе пользователей (админка)
Не знаю нужно ли, но указывается IP запросившего новый пароль
Заменен geoiptool.com на ipgeobase.ru
Переведен \admin\language\ru-ru\report\customer_search.php
Типа оптимизации с одноразовым вызовом $this->cart->getSubTotal(); и $this->cart->getProducts(); там где Дэниэль это вызывает по несколько раз подряд (/catalog/model/extension/total/)
Еще из разряда оптимизаций:
ocStore
public function countProducts() {
$query = $this->db->query("SELECT SUM(quantity) as total FROM " . DB_PREFIX . "cart WHERE api_id = '" . (isset($this->session->data['api_id']) ? (int)$this->session->data['api_id'] : 0) . "' AND customer_id = '" . (int)$this->customer->getId() . "' AND session_id = '" . $this->db->escape($this->session->getId()) . "'");
return $query->row['total'];
}
OpenCart.pro
public function countProducts() {
$product_total = 0;
$products = $this->getProducts();
foreach ($products as $product) {
$product_total += $product['quantity'];
}
return $product_total;
}
Так же, в ocStore исправлены некоторые недочеты в:
\admin\model\tool\image.php
\admin\model\localisation\language.php (banner_image)
\admin\language\ru-ru\user\user.php (email)
\admin\controller\extension\theme\theme_default.php (? не понял фишка это или багфикс)
\admin\controller\extension\payment\amazon_login_pay.php
\admin\controller\catalog\category.php (? возможно ошибаюсь, и ситуация обратная)
И более проработано:
\catalog\controller\extension\payment\liqpay.php
\admin\controller\extension\payment\liqpay.php
\admin\controller\extension\extension\shipping.php
\admin\controller\extension\extension\payment.php
\admin\controller\extension\extension\module.php
\admin\controller\common\filemanager.php
\robots.txt
Из отличий (не плюс и не минус):
Перевод отличается в некоторых местах (в большинстве случаев OpenCart.pro побеждает), но при этом в ocStore используется более идеологически верное решение span class="text-danger" нежели span style="color: #FF0000;
Вопрос: все ли модули работающие на ocStore, нормально работают на OpenCart.pro? Не придется ли столкнуться с такой ситуацией, что например в базе pro есть поля отличные от ocStore или отличия в ядре и злокубленные модули, которые хрен поправишь, пошлют нах?