Русская сборка OpenCart 3.0.2.0 - Релиз

Тема в разделе "Новости и объявления", создана пользователем Romans, 20 июл 2017.

  1. Chukcha

    Chukcha Специалист

    Сообщения:
    3.013
    Симпатии:
    687
    есть /engine/load

    а класс config имеет свой метод load
     
    Сергей13 нравится это.
  2. Сергей13

    Сергей13 Новичок

    Сообщения:
    3
    Симпатии:
    0
    спасибо похоже это то что надо!!!
     
  3. optimlab

    optimlab Продвинутый пользователь

    Сообщения:
    926
    Симпатии:
    241
    Хочу обновление сборки!)))

    Перепрошил часть seo_url:
    Убрал подмену роутера и задвоение запроса к БД. Так как из-за подмены возникали ошибки, так как движок не знал в каком контроллере продолжать работать.
    PHP:
             // Redirect 301   
           
    } elseif (isset($this->request->get['route']) && empty($this->request->post) && !isset($this->request->get['token']) && $this->config->get('config_seo_url')) {
               
    $arg '';
               
    $cat_path false;
                
    $route '';
               
               if (
    $this->request->get['route'] == 'product/product' && isset($this->request->get['product_id'])) {
                   
    $route 'product_id=' . (int)$this->request->get['product_id'];
               } elseif (
    $this->request->get['route'] == 'product/category' && isset($this->request->get['path'])) {
                   
    $categorys_id explode('_'$this->request->get['path']);
                   
    $cat_path '';
                   foreach (
    $categorys_id as $category_id) {
                       
    $query $this->db->query("SELECT * FROM `" DB_PREFIX "seo_url` WHERE `query` = 'category_id=" . (int)$category_id "' AND `store_id` = '" . (int)$this->config->get('config_store_id') . "' AND `language_id` = '" . (int)$this->config->get('config_language_id') . "'");   
                       if (
    $query->num_rows && $query->row['keyword'/**/ ) {
                           
    $cat_path .= '/' $query->row['keyword'];
                       } else {
                           
    $cat_path false;
                           break;
                       }
                   }
                   
    $arg trim($cat_path'/');
                   if (isset(
    $this->request->get['page'])) $arg $arg '?page=' . (int)$this->request->get['page'];
               } elseif (
    $this->request->get['route'] == 'product/manufacturer/info' && isset($this->request->get['manufacturer_id'])) {
                   
    $route 'manufacturer_id=' . (int)$this->request->get['manufacturer_id'];
                   if (isset(
    $this->request->get['page'])) $arg $arg '?page=' . (int)$this->request->get['page'];
               } elseif (
    $this->request->get['route'] == 'information/information' && isset($this->request->get['information_id'])) {
                   
    $route 'information_id=' . (int)$this->request->get['information_id'];
               } elseif (
    sizeof($this->request->get) > 1) {
                   
    $args '?' str_replace("route=" $this->request->get['route'].'&'""$this->request->server['QUERY_STRING']);
                   
    $arg str_replace('&''&'$args);
               }

               if (
    $route) {
                   
    $query $this->db->query("SELECT * FROM `" DB_PREFIX "seo_url` WHERE `query` = '" $this->db->escape($route) . "' AND `store_id` = '" . (int)$this->config->get('config_store_id') . "' AND `language_id` = '" . (int)$this->config->get('config_language_id') . "'");
               }
               
               if (!empty(
    $query->num_rows) && !empty($query->row['keyword']) && $route/**/ {
                   
    $this->response->redirect($query->row['keyword'] . $arg301);
               } elseif (
    $cat_path) {
                   
    $this->response->redirect($arg301);
               } elseif (
    $this->request->get['route'] == 'common/home') {
                   
    $this->response->redirect(HTTP_SERVER $arg301);
               }
           }

    Тут баги тянущиеся из прошлых версий:

    1. PHP:
      <html dir="ltr" lang="en">
      вот такую ерунду нужно заменить на
      PHP:
      <html dir="' . $this->language->get('direction') . '" lang="' . $this->language->get('ru') . '">
      - в каких файлах, я сейчас и не вспомню. Можно найти по поиску текста в файлах..
    2. Отображение glyphicon в админке.
    3. .....
    Собрал 6 старых багов, но забыл((( Может к концу дня вспомню, напишу.

    Ставим лайки, подписываемся...)))
     
    Последнее редактирование: 1 июн 2018
    KIVIn и Ravilr нравится это.
  4. Chukcha

    Chukcha Специалист

    Сообщения:
    3.013
    Симпатии:
    687
    :)
    $this->config->get('config_language')???

    $this->language->get('code') - см языковый файл
     
  5. optimlab

    optimlab Продвинутый пользователь

    Сообщения:
    926
    Симпатии:
    241
    :D очепятался, но разрабы поймут, не дураки..

    Кстати, неправильный перевод в корневом админском:
    PHP:
    $_['code']                          = 'ru-RU';
     
    Последнее редактирование: 25 май 2018
  6. karpov

    karpov Продвинутый пользователь

    Сообщения:
    1.535
    Симпатии:
    246
    ага и теперь пофиг есть у товара сеоурль или нет. Там же условие как раз для этого.. проверяет наличие и если есть то присваивает. Что то не очень подправили мне кажется.. нужно тестировать что и как в разных вариантах, а уже потом в сборку..
     
  7. optimlab

    optimlab Продвинутый пользователь

    Сообщения:
    926
    Симпатии:
    241
    Вам виднее ;)

    Этот баг был и в ранних версиях. Как раз из-за верхнего запроса все товары отрабатывались без ошибок, а нижняя копия запроса отрабатывала 2 раза у product_id, и только потом редирект шел. А вот мануфактуры и статьи при включенном ЧПУ и отсутствии СЕО-УРЛ у них, выбрасывали 404, так как подмена роутера мешала направлять на нужный контроллер.

    Просто на моих сайтах не было страниц без сео-урл, и я не особо обращал на этот баг внимания, так как его не было. Но сейчас для моего модуля понадобилось переделать немного, но логика полностю сохранена...
     
  8. Andreyka

    Andreyka Новичок

    Сообщения:
    1
    Симпатии:
    0
    Установил данный релиз - но не все получается
    1) На сайте почему после оформления в КАТАЛОГе - не появляется товар(Админка-КАТАЛОГ)
    2)Не устанавливается цена - то есть в Админке цену назначаешь - а на сайте ее нет
    Как решить?
    Права 777 к нужным файлам дал
     
  9. Vlad

    Vlad Эксперт

    Сообщения:
    4.161
    Симпатии:
    1.013
    Бросайте демо доступы. 100% или не договариваете или кривой хостинг с БД.
     
  10. Валерик

    Валерик Пользователь

    Сообщения:
    101
    Симпатии:
    7
    Когда редактируете цену или оформляете товар попробуйте нажать на синий значёк дискетки в правом верхнем углу экрана.
    Не забудьте обновить кеш браузера.
    Пробуете релиз на хостинге или на локалке ?
     
  11. optimlab

    optimlab Продвинутый пользователь

    Сообщения:
    926
    Симпатии:
    241
    Обновил seo_url в посте выше.
    Обновлена строка :
    PHP:
    if (!empty($query->num_rows) && !empty($query->row['keyword']) && $route/**/ {
     
    Ravilr нравится это.
  12. Romans

    Romans Administrator Команда форума

    Сообщения:
    1.474
    Симпатии:
    826
    Обновление сборки. Изменений не много, но все же.

    Последняя версия сборки Version 3.0.2.0 (rs.4)
    Дата исправлений 14.06.2018

    Подробности, как всегда в первом сообщении.
     
    Последнее редактирование: 14 июн 2018
    Ален, lavlan, karpov и ещё 1-му нравится это.
  13. lavlan

    lavlan Пользователь

    Сообщения:
    89
    Симпатии:
    20
    в предыдущем посте
    Последняя версия сборки Version 3.0.2.0 (rs.3)

    в первом поcте
    Последняя версия сборки Version 3.0.2.0 (rs.4)

    ???
    где то надо исправить?
     
    Последнее редактирование: 14 июн 2018
    Romans нравится это.
  14. optimlab

    optimlab Продвинутый пользователь

    Сообщения:
    926
    Симпатии:
    241
    Меня тоже уже задолбали эти косяки с константами ленгвича.
    Коллеги, у кого нить есть уже модификатор для лоудера или только я один на тройку перешел?
     
  15. Chukcha

    Chukcha Специалист

    Сообщения:
    3.013
    Симпатии:
    687
    Что это?
     
  16. optimlab

    optimlab Продвинутый пользователь

    Сообщения:
    926
    Симпатии:
    241
  17. Chukcha

    Chukcha Специалист

    Сообщения:
    3.013
    Симпатии:
    687
  18. Vlad

    Vlad Эксперт

    Сообщения:
    4.161
    Симпатии:
    1.013
    Ну основные в сборке подправлены. Там проблема вся в том, что переписываются значения из соседних контроллеров, если переменные одинаковые. В будущей версии просто изменены изначально переменные, чтобы не совпадали.
     
  19. optimlab

    optimlab Продвинутый пользователь

    Сообщения:
    926
    Симпатии:
    241
    Ну как это происходит это понятно. Вчера например такая катавасию клиент обнаружил в Закладках. Потом еще где-то по личному кабинету. Потом слово "Производители" в карточке товара (это из футера лезет?). Потом, в забыл, еще где-то видел...
    Я же не буду на каждую такую переменную модификатор писать и нянчиться каждый раз.
    Проще причину переписать в одном месте чтоб в другие не шло..
    У кого какие мысли? Идеи? Решения?

    Можно конечно модификатором изменить переменные в твигах и потом их в редакторе определять. Но опять же, идея - фигня полная.
     
  20. Chukcha

    Chukcha Специалист

    Сообщения:
    3.013
    Симпатии:
    687
    надо проверить событие
    по идее перед вызовом (before) load->language происходит событие, где все данные пихаются в бекап,
    а после (after) восстанавливаются

    проблеvа может возникать в конструкции $this->language->load