Произвольные поля OpenCart 2.3

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

Модуль планируется сделать похожим по функционалу на advanced custom fields из wordpress.
Установка штатная, через ocmod. После того, как установили – нужно обновить кеш.

Далее Дополнения -> Дополнения -> Модули -> CustomFields.

Настройка в админке

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

Имя поля: имя, должно быть уникальное, которое будет использоваться в шаблонах. Можно (но не нужно=)) использовать и русские символы.

Описание поля: чтоб не забыть зачем нужно поле, если оно пустое – нигде больше пока не используется.

Значение поля: выводится в шаблоне (или любом другом месте) специальной функцией.

Вывод в шаблоне

Для вывода в шаблоне есть две функции:

  • get_fields() – возвращает массив со всеми полями.
  • get_field_value ($name) – возвращает значение строки с именем $name – строку.

Пример вывода значка соцсети в шапке (вставляем сразу после значка корзины):

Код который нужно найти:

 <li><a href="<?php echo $checkout; ?>" title="<?php echo $text_checkout; ?>">
<i class="fa fa-share"></i> <span class="hidden-xs hidden-sm hidden-md"><?php echo $text_checkout; ?></span
></a></li>

 

Код который нужно вставить сразу после:

<li>
<a href="<?php echo get_field_value('vk_href'); ?>">
<img src="/image/<?php echo get_field_value('vk_img'); ?>" width="25" height="25" />
</a></li>

Результат:

Важно:

Модуль при установке заменяет стандартные системные файлы framework.php и controller.php. Если у вас другая версия – проверьте внимательно различия этих файлов.
Так же СНАЧАЛА установить второй в списке модуль. Отчего то новая версия OcStore не хочет выполнять sql при установке модуля, поэтому такой костыль – установка бд отдельно.
Модуль:

Изменения:

  • v1.1: изменено название таблицы в бд и некоторые опечатки. Добавлен отдельный модуль для создания таблицы.

14 комм. к записи “Произвольные поля OpenCart 2.3”

  1. Здравствуйте. Отличный мод. Не пойму в чем проблема. При добавлении картинки на странице не отображается. Как только в админке меняю путь с catalog/1.jpg на image/catalog/1.jpg. Картинка появляется.

    1. Все нормально, при выводе на стороне шаблона надо делать как то так: image/< ? php echo get_field_value('atata') ; ? > – проверяйте что отдает плагин и дописывайте нужное.

  2. Добрый день. По описанию Ваш модуль очень полезен, но мне не понятно почему Ваш модуль заменяет стандартные файлы? Почему Вы не используете обновители (модификаторы)?

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

      1. Админ, отличный модуль =) Вот только без связки с нормальным модулем вывода html+php блоков он значительно менее полезен, чем мог бы быть. Может, займешься адаптацией под 2.3 вот этого расширения – https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=15439 (единственное, что удалось нагуглить, именно на 2.3 не работает).

  3. Не удается установить. ocStore 2.3.0.2.3. Устанавливают через OCMOD – “Дополнение успешно установлено!”. В менеджере дополнений обновляю кеш. Модуль не появляется.

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

  4. Добрый день с масивом разобрался!)
    Но как оказалось это не совсем то что мне нужно.
    Он выводит значение всех полей.
    Я думал что он будет выводить только поле value.
    Я предполагаю что это можно вывести с помощью get_field_value ($name).
    Но у меня не получается при добавлении, ничего не происходит(
    Подскажите?

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *