Выводим фото товара в истории покупателя opencart
Веб студия - разработка сайтов любого направления. | WEB-STYDIA.COM
Создание, разработка, изготовление сайтов | WEB-STYDIA.COM

И так сегодня очередному клиенту мне потребовалось делать возможность вывода фотографии товара в истории заказов покупателя, после все зарегистрированные клиенты смогут авторизоваться в своем кабинете и видеть все свои заказы вместе с фото самих же товаров, ну и собственно как это можно сделать я распишу подробно здесь.
Изменения будем вносить в следующие четыре файла а именно:

Ну что же приступим...
1. Открываем Файл /catalog/controller/account/order.php
Находим строки:

И между ними добавляем код:

Далее ниже находим код:

И перед ним добавляем:

Там же чуть ниже находим код:

и после него добавляем:

2. Открываем Файл /catalog/model/account/order.php
В нем находим строку:

И заменяем ее на:

3. Открываем Файл /catalog/view/theme/ваша_тема/stylesheet/stylesheet.css
И после кода (PS:в вашей теме может быть немного по другому):

добавляем пару строчек стилей:

4. Открываем Файл /catalog/view/theme/ваша_тема/template/account/order_info.tpl
Находим следующий код:

И заменяем его на:

Там же примерно после кода:

Находим:

И заменяем его на следующий код:

Теперь у ваших пользователей есть возможность смотреть свои истории заказов вместе с фото заказанных товаров.
Ps: Если же вы желаете видеть меньшие размеры изображений а не те что предложенные выше то вы можете использовать вместо кода config_image_category_width следующий код config_image_additional_width

Вас также может заинтересовать

43 комментария

  •   13.12.2015 в 23:15

    Работает ли на OpenCart 2.1.0.1

    Ответить
    • Василий
        16.12.2015 в 01:28

      На второй ветке не проверял, но по сути должно все работать.

      Ответить
  •   17.01.2016 в 23:58

    Все сделал как написано. Не работает. Правда в 4м шаге в папке с моей темой нет такого файла, изменял в стандартной теме, может поэтому.

    Ответить
    • Василий
        18.01.2016 в 15:41

      Данный метод уже применялся на многих шаблонах, и он работает, за исключением что есть разные шаблоны и возможно нужно чуток по другому вставлять коды, если потребуется помощь пишите поможем все дружно, ну или же можем предложить платную помощь!

      Ответить
  •   23.03.2016 в 12:12

    Сделал все как вы указывали, все работает версия 2.0.1.1, спасибо очень понравилась доработка!

    Ответить
  •   07.08.2016 в 20:58

    Opencart 2.1.0.1 в пункте 3) не могу найти указанный стиль.

    Ответить
    • Василий
        08.08.2016 в 01:25

      Не обязательно искать в точности такой же стиль, в разных темах может быть он разный, просто вставьте указанный код Css в произвольном месте!

      Ответить
  •   07.08.2016 в 21:01

    Стиль дэфолтный

    Ответить
  •   07.08.2016 в 22:24

    осили. Благодарю. все ок. Этот метод применим и к админке, только у меня не получается сгенерировать правильный путь к картинке. Не могу найти где править контроллер.

    Ответить
    • Василий
        08.08.2016 в 01:31

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

      Ответить
  •   08.08.2016 в 11:38

    Notice: Undefined index: image in E:wampwwwandapmir_OC.2.1.0.1_clearadminviewtemplatesaleorder_info.tpl on line 162

    Я пытаюсь добавить картинку не в карточку личного кабинета. А в карточку обработки заказа в админ панэле.
    Метод по идее должен работать. т.к во вкладке для распечатки заказа фото получается отображать. Не хочет именно в Детали заказа добавляться :(

    Ответить
  •   08.08.2016 в 12:39

    Благодарен за наводку. Ваш метод подходит для добавления фото в Счет и Список доставки.

    Ответить
  •   08.08.2016 в 13:21

    Если интересно могу сообщить о результатах.

    Ответить
    • Василий
        08.08.2016 в 13:38

      Можете сообщить , возможно кому то будет еще полезен Ваш комментарий.

      Ответить
  •   04.12.2016 в 21:19

    Добрый день!
    Сделал как в описании, мой магазин Version 1.5.3.1 ничего не работает. Переправил 2-й раз перепроверил и результат тот же.

    Ответить
    • Василий
        04.12.2016 в 22:33

      Версия 1.5.3.1 это старая версия , возможно там размещения кода немного по другому, но принцип такой же!
      Какую ошибку видает? Пишите здесь будем разбираться! Просто у меня нет под рукой установленной выше версии.
      Ну или можете связаться с нами через страницу контактов поможем!

      Ответить
      • Василий
          04.12.2016 в 23:08

        Только что установил Вашу версию, в ней все точно так как по инструкции и все прекрастно работает! Скорей всего Вы или что то упустили или же у Вас сильно модифицырованный движок!
        Ниже прикреплю Файлы которые только что правились можете сравнить их со своими!
        Модифицированные файлы скачать.

        Скрин версии 1.5.3.1 https://yadi.sk/i/Gf0aPmxh32E9qf

        Ответить
        •   16.10.2017 в 23:08

          Здравствуйте! Архив уже недоступен. Я не совсем поняла последний шаг
          Находим:

          И заменяем его на следующий код:

          то есть вы предлагаете сделать одно и тоже, тавтология. у меня почему-то вообще ничего не вывелось, хотя кеш модификаторов после изменений сохранила на версии оксторе 2.3

          Ответить
          • Василий
              16.10.2017 в 23:29

            Ссылку на файл подправил, (хотя он к данной теме не относится).
            Теперь по существу, не стоит тупо придерживаться всех пунктов, нужно смотреть код и сравнивать, ведь:
            1. Статья написана для ветки opencart 1.5… у вас же вторая ветка 2.3
            2. Статья написана на примере шаблона по умолчанию опять же ветки opencart 1.5…

            Во второй ветке как минимум другой шаблон, другие пути и другие запросы к базе данных….

  • Василий
      16.10.2017 в 23:53

    Марианна, Вашей версии 2.3 под рукой нет установленной к сожалению, но только что проверил на ocStore 2.1.0.2 и все отлично установилось и отображается , пример можете посмотреть на скрине http://prntscr.com/gy8rjq

    Так же прикреплю файлы как есть которые только что правил, (PS: изменения пометил комментарием // фото в истории заказа) так что пробуйте и все получится!

    Ответить
  •   23.10.2017 в 13:02

    Добрый день, а может знаете как прикрутить туда фильтр или поиск, чтобы находить нужный заказ по имени/телефону/e-mail?

    Ответить
    • Василий
        23.10.2017 в 13:15

      В каком смысле поиск по по имени/телефону/e-mail? это же статья про список заказов одного и того же клиента, соответственно имя, телефон, емейл, одинаковые, или я вас не правильно понял,?
      Возможно вы хотели сказать фильтр по заказам в админке, тогда да такое сделать можно , но нужно немного дописать кода, готового решения под рукой нету.

      Ответить
      •   24.10.2017 в 10:12

        Нет, именно в личном кабинете пользователя. В нашем случае дропшипперы, у которых есть аккаунт у нас, создают заказ на конечного покупателя, то есь каждый заказ на другого клиента. Поэтому возникла необходимость сделать фильтр, так как стандартный функционал Opencart не предусматривает такого использования.

        Ответить
        • Василий
            24.10.2017 в 10:17

          А… ну тут только индивидуальная доработка, вряд ли вы в интернет найдете что то похожее для таких целей.

          Ответить
          •   24.10.2017 в 10:28

            Да вот ищу решение, думаю убрать пагинацию и сделать фильтры на JS, хотя насчет этого варианта сомневаюсь.

          • Василий
              25.10.2017 в 18:37

            Ясно, ну пробуйте, я подобного не делал, не требовалось еще, по этому сказать что то конкретное не могу.
            Но в любом случаю если делать фильтр то вам нужно будет выдергивать из базы данных именно адрес и контакты определенного заказа, так же скорей всего придется дополнительные поля в базе данных добавлять…

  •   19.12.2017 в 18:37

    А можно выводить название-ссылку на товар в магазин?

    Ответить
    • Василий
        19.12.2017 в 18:42

      Можно конечно же:

       
      И в контролере в секцию:

      После:

      Добавить:

      И там же ниже к примеру после total =>….:
      ‘return’ => $this->url->link(‘account/return/insert’, ‘order_id=’ . $order_info[‘order_id’] . ‘&product_id=’ . $product[‘product_id’], ‘SSL’)

      Ответить
      •   20.12.2017 в 02:02

        Спасибо за быстрый ответ :!:
        Только вот пришлось вручную править ссылку, получилось так:

        Возможно есть и более правильное решение…

        Ответить
  •   07.05.2018 в 23:26

    Скажите, а можно ли вывести данные о товаре в самом списке заказов в профиле (не в карточке заказа)?
    Например, его описание, фото, может быть, опции?

    Ответить
    • Василий
        08.05.2018 в 11:47

      Вывести то все можно конечно, но так как таковой инструкции под рукой у меня нету для ваших целей.
      Но сделать можно!

      Ответить
      •   08.05.2018 в 11:49

        Был бы невероятно признателен, если бы Вы показали, куда рыть, хотя бы. Перепробовал множество способов, но ни один из них не сработал, знаний моих совершенно мало((

        Ответить
        • Василий
            08.05.2018 в 12:24

          За заказы в кабинете пользователя у нас отвечают файлы:
          catalog/controller/account/order.php
          catalog/model/account/order.php
          catalog/view/theme/default/template/account/order_list.tpl (список заказов)
          catalog/view/theme/default/template/account/order_info.tpl (конкретный заказ)
          Вот эти файлы и нужно править, возможно еще в зависимости от требуемых задач, придется создавать доп поля в базе данных.
          Как я уже писал под рукой нету у меня инструкции именно под ваши цели, по этому могу предложить только на платной основе сделать так как вам нужно.
          Или же пробуйте самостоятельно, если какие то стандартные значения то возьмите за основу файл order_info.tpl , там большинство значений уже выводятся.

          Ответить
  •   07.05.2018 в 23:27

    Совсем забыл добавить, версия ОС 2.3.0.1

    Ответить
  •   08.05.2018 в 16:36

    Решил собственными силами. Чуток схитрил, но визуально все выглядит, как и планировалось

    Ответить
    • Василий
        08.05.2018 в 16:40

      А в чем хитрость заключалась, опишите возможно ваш комментарий кому то будет так же полезен!

      Ответить
  •   06.06.2018 в 22:16

    Здравствуйте.
    Установлен OC 3.0.2.0. Тоже хочу добавить картинку товара, но только в заказ в админку, подскажите пожалуйста как это сделать, а то тот код что выше не совсем подходит, в версиях 2 и 3 есть различия((

    Ответить
    • Василий
        06.06.2018 в 22:35

      В версии OC 3.0.2.0 не просто отличия там кардинальные изменения, по этому конечно данное решение вам не подойдет, много чего изменять нужно.
      Под рукой нет инструкции для вашей версии, так что только индивидуальная доработка.

      Ответить
  •   04.08.2018 в 18:28

    не работает. ось 2.3.0.2

    Ответить
  •   04.08.2018 в 18:50

    если кому надо, то для версии карты 2.3.0.2 код:

    не верный!
    вместо него пишем:

    Ответить

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

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