Возможность отображения HTML в атрибутах Opencart
Возможность отображения HTML в атрибутах Opencart
Создание, разработка, изготовление сайтов | WEB-STYDIA.COM

Доброго времени суток уважаемый посетитель нашего сайта.

Совсем недавно мы писали про то, как можно сделать вывод атрибутов в категории , и сегодня мы хотим продолжить тему про атрибуты в товарах.

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

По умолчанию Opencart из коробки не дает вам возможность отображения своего html кода в атрибутах и все что вы будете писать в поле атрибута, будет отображаться именно текстом.

Но как же быть если вы хотите там вставить ссылку или же фото , или же любой другой свой html код? Сегодня мы опишем здесь решение данного вопроса.

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

Пример того что у нас получится вы можете увидеть на фото ниже:

И так давайте уже все же приступим к нашей задаче и сделаем поддержку html в атрибутах opencart.

Изменения будут вносится всего в три файла:

1. Открываем файл вашей активной темы ( я использую в примере стандартный шаблон по умолчанию).

Находим в нем строчку кода :

И сразу перед ним добавляем немного стилей:

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



2. Переходим в папку администратора и открываем файл:

находим строчку:

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

3. Ну и наконец то открываем последний файл:

Находим в самом низу строчку:

И перед ней опять же добавим несколько стилей и JS код:

Там же ищем строку:

Перед которой добавляем:

Далее нам нужно найти строку:

И перед ней добавить:

Вот в принципе и все что требовалось для возможности писать HTML код в поле атрибутов.

В разделе атрибутов теперь у вас добавился небольшой текст с подсказкой и примером базового кода для ознакомления, а так же поле атрибута изначально отображается как обычный textarea, то есть так же как было изначально, но если вам нужно включить HTML редактор ckeditor то просто кликните два раза в поле textarea.

Ну сообственно и все, пробуйте и комментируйте, удачи вам в нашем не легком деле! :)

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

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

  •   18.04.2017 в 16:11

    Супер, у меня все получилось, спасибо….
    Я уже давно искал решения но всегда чего то не хватало в коде и он не работал как нужно, сейчас же сделал все по вашей инструкции и вот уже нарадоваться не могу все именно так как я и хотел.
    Да, и кстати если кто то делает загрузку товара какими то файлами экспорта то бывает что атрибуты не изменяются и дальше показываются текстом, я добавлял такой код для решения данной проблемы:
    В файле catalog\view\theme\default\template\product\product.tpl
    Ищем:

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

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

    Ответить
  •   06.02.2018 в 17:48

    Здравствуйте! Спасибо за Вашу роботу, у меня тоже получилось, но почти…
    подскажите что не так:
    1) ckeditor в атрибутах добавился, но после правки текста и его публикации он отображается в коде, т.е. если в редакторе он Текст текст , то и на сайте он отображается не как Текст текст, а в тоже коде Текст текст??
    Буду благодарен за помощь!

    Ответить
    • Василий
        06.02.2018 в 18:17

      К сожалению я не могу ответить не видя код Вашего магазина.
      Укажите сайт, и скиньте свой файл admin/model/catalog/product.php и admin/view/template/catalog/product_form.tpl
      Возможно и тогда что то подскажем.
      Ну и конечно же версию вашего магазина.

      Ответить
    • Василий
        06.02.2018 в 18:20

      Ну и конечно же попробуйте в файле catalog\view\theme\default\template\product\product.tpl добавить

      В первом комментарии детали…

      Ответить
  •   13.02.2018 в 17:28

    А вам слабо написать версию опенкарта для которой эта вся трехомудия написана?

    Ответить
    • Василий
        13.02.2018 в 18:37

      Нет, не слабо, данный метод работает на любой версии opencart ветки 1.5… а так же и на второй ветке но уже потребуются небольшие изменения просто скопировать и вставить не получится.

      Ответить
  •   21.02.2018 в 12:27

    Для опенкарт 2.3.0.2 не работает этот рецепт…. !
    Если кто решил вопрос для 2.3.0.2 . Просьба поделитесь, в благодарочку кину какой нибудь модуль полезный. У меня их много.

    Ответить
    • Василий
        21.02.2018 в 13:37

      На указанной Вами версии opencart 2.3.0.2 все прекрасно работает, просто совсем немного отличается код:
      И так:
      Первый пункт без изменений как описано в статье.
      Второй пункт так же без изменений выполнить в двух найденных местах.
      Изменения относятся только к файлу admin/view/template/catalog/product_form.tpl
      Перед < ?php echo $footer; ?> добавляем

      Далее перед строкой

      Добавляем

      После находим

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

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

      Ответить
      •   21.02.2018 в 15:52

        Не работает. Использую тему Journal 2 всё поставил как в инструкции и в коменте… Залил обновил очистил и не чего. Обновляю товар и 0 на фазу. Всё равно код текстом идёт.

        Ответить
        • Василий
            21.02.2018 в 15:59

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

          Ответить
      •   21.02.2018 в 16:00

        Протестил этот рецепт и на дефолтном шаблоне, всё равно не работает…. Всё делал чётко несколько раз.

        Ответить
        • Василий
            21.02.2018 в 16:03

          Это не возможно, я только что проверял все работает как часы, повторюсь я не могу знать почему у Вас не работает без ознакомления с самим пациентом.

          Ответить
          •   21.02.2018 в 16:14

            ;-) :smile: Всё исправил работает. СОВЕТ остальным, когда зальёте КОД и очистите всё. Удалите старый атрибут с html кодом. И создайте новый с html. Потом только сработает… Не дочёт был, работает и на стандартном шаблоне и на встроенном. Спасибо ребят за помощь, Добавлю себе рецепт в инструменты. ;-) :smile:

          • Василий
              21.02.2018 в 16:16

            Рад что у Вас все получилось. :)

          •   21.02.2018 в 18:04

            у меня все получилось

  •   22.02.2018 в 18:40

    Привет еще раз, в описание атрибута получилось вывести всё это дело, а вы не выводили html в группы атрибутов? Ниже прилагаю скрин куда надо втулить. Пробовал и так и сяк переписовал строки кода не фига не получаетсья, хотел спросить вы не выводил в группы атрибутов?
    Скрин нет возможности прикрепить)

    Ответить
  •   22.02.2018 в 18:49

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

    Ответить
    • Василий
        22.02.2018 в 18:57

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

      Ответить
      •   22.02.2018 в 19:00

        Я так и сделала, как для 2, и как написано в комментарии. Но ckeditor в атрибутах не добавился.

        Ответить
        • Василий
            22.02.2018 в 19:16

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

          Ответить
  •   23.02.2018 в 15:10

    Вы лучшие! Огромное спасибо! Очень рада что Вас нашла!!!!

    Ответить

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

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