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

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

1. Для начала давайте создадим нужные нам поля в админ панели.
Изменения будем вносить в следующие файлы:

1. Файл “admin/language/russian/setting/setting.php”. В любое место файла (между ) вставляем:

Все языковые переменные мы добавили, теперь нам понадобится перенести данные переменные в видимость шаблона ну и соответственно создать/получить и обработать настройки.
2. Файл “admin/controller/setting/setting.php”. В функции index() (~30 строка) после кода:

Мы добавим:

Все мы закончили с языковыми переменными. Далее после кода (~330 строка):

Нам нужно добавить:

3. Файл “admin/view/template/setting/setting.tpl”. Все Настройки получены и обработаны, и сейчас у нас в шаблоне уже доступны переменные:

Все настройки мы будем создавать во вкладке “Изображения”. Ищем код (~684 строка):

И перед

вставим:

Теперь нам нужно перейти в настройки и ввести значения настроек т.к. по умолчанию они пусты. Пример настроек в админке должен выглядеть так:

На этом работа с административной панелью закончена.

2. Вторым шагом мы будем выводить наш логотип производителя непосредственно в карточке товара.
В какие файлы мы будем вносить изменения:

1. Файл “catalog/model/catalog/product.php”. По умолчанию на странице товара уже есть переменные, которые содержат название и ссылку на производителя. Теперь нам нужно добавить путь к изображению. В функции getProduct($product_id) (~7 строка) в код запроса:
После “manufacturer,” мы добавим новый столбец “m.image AS mimage,”, чтоб получилось вот так:
Теперь база данных будет возвращать путь к фото производителя. Чтобы теперь фото передать в контроллер, на обработку, необходимо в этой же функции после:
добавить:
Теперь наша переменная $mimage будет доступна в контроллере, где и будет уже обрабатываться.
2. Файл “catalog/controller/product/product.php”. В функции index() находим код (~199 строка):
после него добавляем:
Вот таким методом наше изображение уже получено и обработано,теперь осталось нам вывести его в карточке товара.
3. Файл “catalog/view/theme/название шаблона/template/product/product.tpl”. Унас теперь есть доступна переменная $mimage, в ней находится путь к фото производителя (120×50). Так же еще уже доступна переменная $manufacturers, в которой находится ссылка на страницу производителя в магазине и переменная $config_show_manufacturer_image.
Теперь мы перейдем к добавлению самого изображения-ссылки. После кода (~24 строка):
добавим:
Вот и все ,несколько минут вашего времени и терпения и у нас теперь имеется фото производителя в карточке товара.
Всем спасибо за внимание,если есть вопросы задавайте в комментариях.

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

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

  •   17.06.2017 в 19:06

    Большое спасибо!
    В актуальной версии Opencart в представленных выше кодах следует менять переменную (в самом начале) «$this->data» на «$data» — тогда будет все работать :)

    Ответить
    • Василий
        29.06.2017 в 00:05

      Верно, но небольшое уточнение… Актуальная версия имеется ввиду opencart второй ветки, для веток ниже это действие не требуется!
      Ну а вообще если мы уже начали говорить о второй ветке то прошу почитать здесь Адаптация модулей под Opencart 2.x

      Ответить

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

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