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

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

  1. Muslim

    Muslim Новичок

    Сообщения:
    2
    Симпатии:
    0
    Доброго всем времени суток. Помогайте други. Всю голову сломал. Выгрузил из 1С номенклатуру на сайт. Получается вот такой вид (см.фото) В настройках ЧПУ включено.В наименовании файла .htaccess убрал txt Что еще надо сделать? Спросил службу поддержки хостинга. Они говорят "отсуствует title у страницы" Подскажите, как это исправить или кто это может сделать. Я не программист.
     

    Вложения:

  2. Chukcha

    Chukcha Специалист

    Сообщения:
    3.013
    Симпатии:
    687
    Ну так правильно сказали в тех поддержке

    Откуда 1С знает о title вообще?

    Т.е. из 1С выгрузка должна быть с title, или ручками в админке необходимо прописать
     
  3. Валерик

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

    Сообщения:
    101
    Симпатии:
    7
    Посмотри в карточке товара SEO URL , если ты включил - это не значит что поле само по себе заполнится автоматом. Когда заходишь в карточку товара или группы в режиме редактирования это поле заполняется автоматом, если нет - то руками.
     
  4. Muslim

    Muslim Новичок

    Сообщения:
    2
    Симпатии:
    0
    Руками конечно это хорошо. Здорово я бы даже сказал, когда руками то. Но ведь вот проблема, позиций там 1523. Руками всегда успею, хотелось бы автоматом.
    Захожу в карточку товара там показывает SEO URL , а на сайте нет этого. Категории пытался вручную редактировать и вводить значение SEO URL. На сайте тоже не отображается. Версия сайта 2.3.0.2
     
  5. Ravilr

    Ravilr Специалист

    Сообщения:
    4.185
    Симпатии:
    1.438
    Друзья!!!!! Читайте начало темы, там написано что можно спрашивать в данной теме!! Есть же поиск, спец разделы итд. Не засоряем. Спасибо за внимание ))
     
  6. MxL

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

    Сообщения:
    48
    Симпатии:
    1
  7. Vlad

    Vlad Эксперт

    Сообщения:
    4.161
    Симпатии:
    1.013
    как как.. обычно )) и не должны быть. Каноникал адрес именно без категории, началось это с 2.1 вроде.
     
  8. MxL

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

    Сообщения:
    48
    Симпатии:
    1
    Это не есть гуд
     
  9. MxL

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

    Сообщения:
    48
    Симпатии:
    1
  10. Vlad

    Vlad Эксперт

    Сообщения:
    4.161
    Симпатии:
    1.013
    это уже другая тема.. гуд или нет. Для когото гуд то что вы хотите, а для кого то смерть в долгосрочной перспективе.
    Так что каждому свое. Заставлять опенкарт по умолчанию делать то что вам нужно.. не совсем хорошо, ведь для других это смерть. В общем есть решения различные втч и то что вы указали.
     
  11. MxL

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

    Сообщения:
    48
    Симпатии:
    1
    ок
     
  12. GlobalWhite

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

    Сообщения:
    36
    Симпатии:
    15
    Нашел баг. Не знаю, баг оригинального опенкарта, или сборки 2.3.0.2 rs2. Мультисайтовая конфигурация, настройки изображений - размеры - берутся только у основного сайта. Т.е. выставили размеры основному сайту, заходим во второстепенные сайты - там размеры уже стоят, и стоят такие же, как у основного сайта. При этом, реальные картинки - создаются с размерами по умолчанию (а не теми, которые вы видите в настройках). Чтобы вылечить, надо зайти в настройки изображений второстепенных сайтов, и не глядя на то, какие там размеры прописаны - выставить нужные и обязательно нажать кнопку сохранить. После чего - в базу запишутся установленные размеры, но на странице настройки - будут все равно показываться размеры с основного сайта.
    Кому интересно, фикс в аттаче.
    Заменить файл, по адресу: /admin/controller/extension/theme/theme_default.php После чего - размеры начнут отображаться такие, какие установлены на самом деле, на всех сайтах.
     

    Вложения:

  13. Chukcha

    Chukcha Специалист

    Сообщения:
    3.013
    Симпатии:
    687
    Это фича мултимагазина (мултисайта)
    На самом деле, есть небольшой фикс для мультманаззинов

    Т.е. важно то что
    настройки магазина, нужно делать из под id самого магазина

    Идеология мультимагазина заключается в том, что сначала дефолтные, а затем магазинные настройки

    Но чтоб делать магазинные настройки, нужно заходить по его аккаунтом и в model/setting
    предавать store_id

    внимательно прочитайте инструкцию по установке
    При настройках Не забывайте что вы находитесь в другом магазине
    При правильном подходе, вы сможете получить, даже разный вид, порядок вывода модулей..
     
    Последнее редактирование модератором: 20 ноя 2016
  14. GlobalWhite

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

    Сообщения:
    36
    Симпатии:
    15
    Это не совсем та фича. Потому, что в коде - половина использует один механизм, вторая половина кода - другой механизм. Все в одном и том же файле. Ощущение, что просто забыли дописать/исправить метод получения настройки из базы.
    Т.к. с текущим файлом - получается, я могу находясь в магазине с айди 0, зайти в настройки магазина с айди 1. При этом, я увижу размеры картинок от магазина 0. И вроде бы все нормально, но по факту - на морде сайта - размеры картинок вообще непонятно какие. До тех пор, пока я опять же не зайду в настройки, и не нажму кнопку сохранить - только тогда, эти настройки, которые отображались - фактически запишутся в базу. Т.е. в данном случае баг в том, что в базе - прописаны одни настройки, а отображаются только настройки того магазина, в админке которого сейчас находится пользователь. Что есть в корне не правильно.
    Иными словами, менять настройку "лимит товаров" я могу из любой админки. А размер картинок - нет. Потому, что для лимита товаров - механизм получения настройки написан с учетом айди сайта, а для размеров картинок - берется всегда по умолчанию, и все это в одном и том же файле.
     
  15. Chukcha

    Chukcha Специалист

    Сообщения:
    3.013
    Симпатии:
    687
    Нет..
    Не сколько забыли, сколько не дописали в админке
    Даже не подумали об этом!!!

    Т.е. по хорошему нужно перенести метод определения магазина из фронта
    и добавить в model_setting_setting store_id
     
  16. Chukcha

    Chukcha Специалист

    Сообщения:
    3.013
    Симпатии:
    687
    Это как? поясните

    Настройки темы и лимиты, и картинки находятся в одном месте, и
    вы хотите сказать, что лимиты может для одной витрины, а размеры нет?
    Фантастика?
    В код смотрели? покажите.
     
  17. GlobalWhite

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

    Сообщения:
    36
    Симпатии:
    15
    :) Интересно, как бы я смог написать фикс, не глядя в код?!?

    Самый простой способ - доделать то, что начали делать, но не доделали.
    В частности:
    PHP:
    if (isset($this->request->post['theme_default_product_limit'])) {
                            
    $data['theme_default_product_limit'] = $this->request->post['theme_default_product_limit'];
                    } elseif (isset(
    $setting_info['theme_default_product_limit'])) {
                            
    $data['theme_default_product_limit'] = $setting_info['theme_default_product_limit'];
                    } else {
                            
    $data['theme_default_product_limit'] = 15;
                    }
    Вот так берется настройка лимита продуктов. Обращаем внимание, что значение - берется из setting_info, переменная, которая выше заполняется с учетом store_id.
    А дальше - все настройки почему-то поехали так:
    PHP:
     if (isset($this->request->post['theme_default_image_thumb_width'])) {
                            
    $data['theme_default_image_thumb_width'] = $this->request->post['theme_default_image_thumb_width'];
                    } elseif (isset(
    $setting_info['theme_default_image_thumb_width'])) {
                            
    $data['theme_default_image_thumb_width'] = $this->config->get('theme_default_image_thumb_width');
                    } else {
                            
    $data['theme_default_image_thumb_width'] = 228;
                    }
    Обращаем внимание на $this->config->get. Которая, не зависит от того, в настройках какого магазина вы сейчас находитесь.
    Посмотрите в фикс, что там сделано. Речь именно о том, что половина настроек - меняется, вторая - нет. Это не может быть идеологией.

    P.S. Я наверное не так выразился. При нажатии кнопки сохранить - настройки записываются для нужного магазина в базу, да. Но, не отображаются на странице админки. Какие бы настройки, например для магазина с id=1, не сохранили - в таблице все равно будут показаны настройки для магазина с id=0 (если быть в админке id=0). При этом, настройка лимита товаров - отображается нормально, что очень сильно запутывает. Т.е. это баг не с записью настроек, а с отображением реальных настроек для магазинов, отличных от основного, при том, что находитесь вы в админке отличной от админки магазина в котором меняете настройки.
     
    Последнее редактирование: 20 ноя 2016
  18. Romans

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

    Сообщения:
    1.472
    Симпатии:
    822
    да баг... исправлен https://github.com/opencart/opencar...b5f6a2a#diff-af5a3b80cc7c84e7b080f268940ac16c
     
    lavlan и Chukcha нравится это.
  19. GlobalWhite

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

    Сообщения:
    36
    Симпатии:
    15
    Только, исправлен все равно криво. В случае редактирования основного магазина - переменная store_id не выставляется, а т.к. она не выставляется - переменная $setting_info тоже не выставляется. Там в этом файле надо править и часть, где идет выставление setting_info.
    Т.е. применив этот патч - получим косяк с отображением значений основного магазина. Зато второстепенные - будут отображаться нормально. :D
    PHP:
    if (isset($this->request->get['store_id']) && ($this->request->server['REQUEST_METHOD'] != 'POST')) {
    $setting_info $this->model_setting_setting->getSetting('theme_default'$this->request->get['store_id']);
    }
    Вот тут видно, что и как происходит.
    И чтобы все работало, к тому патчу, надо те строки, что процитированы выше, заменить на:
    PHP:
    $store_id=0;
    if (isset(
    $this->request->get['store_id']) && ($this->request->server['REQUEST_METHOD'] != 'POST')) $store_id=$this->request->get['store_id'];
    $setting_info $this->model_setting_setting->getSetting('theme_default'$store_id); 
     
    Последнее редактирование: 20 ноя 2016
  20. Vlad

    Vlad Эксперт

    Сообщения:
    4.161
    Симпатии:
    1.013
    а зачем?? Ведь id магазина и так передается по get прекрасно. Разве нет?
    Вы же написали условие равнозначное тому что есть...