Перейти к содержанию

Дополнительные поля для товара [support]


Перейти к решению Решений Blast,

Рекомендуемые сообщения

  • Решение

Дополнительные поля для товара

Просмотр файла

Модификатор добавляет дополнительное поле с названием ean2 в форму редактирования/добавления товара

на фронте в карточке товара также можно использовать {{ ean2 }}

 

Добавлен второй модификатор, добавляющий поле Дополнительное описание - description2. Сохраняет данные с привязкой к языку и имеет визуальный редактор.

на фронте в карточке товара также можно использовать {{ description2 }}

 

sql-запросы для добавления полей в БД внутри модификаторов в виде камента. Их выполнить через phpmyadmin.

 

Установка:

1. Выполнить запрос в phpmyadmin. Запрос написан внутри файла в виде комментария ALTER TABLE ...

Если имена таблиц начинаются не со стандартного oc_ то изменить текст запроса подставив свой префикс.

2. Файлы модификаторов залить в папку /system и обновить модификаторы в админке в разделе Дополнения / Модификаторы

 

 

 

Ссылка на комментарий
Поделиться на другие сайты

  • 10 месяцев спустя...

Добрый день)
получил следующую ошибку)
Notice: Undefined index: description2 in /home/t/trial2/1begovoy.ru/storage/modification/catalog/model/catalog/product.php on line 49Notice: Undefined index: description2 in /home/t/trial2/1begovoy.ru/storage/modification/catalog/model/catalog/product.php on line 52Notice: Undefined index: box_description in /home/t/trial2/1begovoy.ru/storage/modification/catalog/model/catalog/product.php on line 65

Ссылка на комментарий
Поделиться на другие сайты

В 28.03.2024 в 15:23, bren0r сказал:

Добрый день)
получил следующую ошибку)
Notice: Undefined index: description2 in /home/t/trial2/1begovoy.ru/storage/modification/catalog/model/catalog/product.php on line 49Notice: Undefined index: description2 in /home/t/trial2/1begovoy.ru/storage/modification/catalog/model/catalog/product.php on line 52Notice: Undefined index: box_description in /home/t/trial2/1begovoy.ru/storage/modification/catalog/model/catalog/product.php on line 65

добрый день.

в инструкции написано, что нужно выполнить в phpmyadmin sql-запрос, записанный в файле модификатора в виде комментария. вы его выполнили?

Ссылка на комментарий
Поделиться на другие сайты

В 28.03.2024 в 16:34, Blast сказал:

добрый день.

в инструкции написано, что нужно выполнить в phpmyadmin sql-запрос, записанный в файле модификатора в виде комментария. вы его выполнили?

да, сделал откат и поле появилось)
только вот при сохранении товара выдает вот это)
Fatal error: Uncaught Exception: Error: Column 'description2' specified twice
Error No: 1110
INSERT INTO oc_product_description SET product_id = '1691', language_id = '1', name = 'MARQ Adventurer (Gen 2)', description = '<div style="text-align: center;"><strong><span style="font-size:24px;"> MARQ ADVENTURER </span></strong><br />\r\n<br />\r\n<span style="font-size:16px;">ВЫ ИССЛЕДУЕТЕ НЕИЗВЕДАННЫЕ ТЕРРИТОРИИ. РАЗДВИГАЕТЕ ГРАНИЦЫ И НАРУШАЕТЕ ОГРАНИЧЕНИЯ. ВЫ ТРЕБУЕТЕ САМОГО ЛУЧШЕГО. ВАМ НУЖНЫ СОВРЕМЕННЫЕ ИНСТРУМЕНТАЛЬНЫЕ ЧАСЫ, ОТРАЖАЮЩИЕ ВАШУ СТРАСТЬ К ПРИКЛЮЧЕНИЯМ.</span></div>\r\n<br />\r\n<br />\r\n<!-- media-yootube -->\r\n<div style="text-align: center"><iframe allow="accelerometer; autoplay; clipboard-write; en in /home/t/trial2/1begovoy.ru/public_html/system/library/db/mysqli.php on line 40

Ссылка на комментарий
Поделиться на другие сайты

В 28.03.2024 в 16:38, bren0r сказал:

да, сделал откат и поле появилось)
только вот при сохранении товара выдает вот это)
Fatal error: Uncaught Exception: Error: Column 'description2' specified twice
Error No: 1110
INSERT INTO oc_product_description SET product_id = '1691', language_id = '1', name = 'MARQ Adventurer (Gen 2)', description = '<div style="text-align: center;"><strong><span style="font-size:24px;"> MARQ ADVENTURER </span></strong><br />\r\n<br />\r\n<span style="font-size:16px;">ВЫ ИССЛЕДУЕТЕ НЕИЗВЕДАННЫЕ ТЕРРИТОРИИ. РАЗДВИГАЕТЕ ГРАНИЦЫ И НАРУШАЕТЕ ОГРАНИЧЕНИЯ. ВЫ ТРЕБУЕТЕ САМОГО ЛУЧШЕГО. ВАМ НУЖНЫ СОВРЕМЕННЫЕ ИНСТРУМЕНТАЛЬНЫЕ ЧАСЫ, ОТРАЖАЮЩИЕ ВАШУ СТРАСТЬ К ПРИКЛЮЧЕНИЯМ.</span></div>\r\n<br />\r\n<br />\r\n<!-- media-yootube -->\r\n<div style="text-align: center"><iframe allow="accelerometer; autoplay; clipboard-write; en in /home/t/trial2/1begovoy.ru/public_html/system/library/db/mysqli.php on line 40

какой откат?

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

если первый вариант, то строго следуйте инструкции и все получится.

если второй вариант, то откройте файл модификатора текстовым редактором и замените все слова "description2" на например "description3" и повторите шаги инструкции

Ссылка на комментарий
Поделиться на другие сайты

Сейчас сделаю откат сайта.
Верну сайт в исходное состояние до введения этих нововведений)
По итогу делаю так:
- Запрос в БД
- Загрузка расширения
Все верно?

Ссылка на комментарий
Поделиться на другие сайты

Сделал, все работает)
Большое спасибо. У меня еще к вам вопрос. У нас в качестве шаблона установлен lightshop. Для вывода этого блока нужно копаться уже в шаблоне лайтшопа?

 

Ссылка на комментарий
Поделиться на другие сайты

В 28.03.2024 в 17:05, bren0r сказал:

просто не до конца было понятно, что делать вот с эим)
image.thumb.png.1c73f989aa763158d6ccfd93fd3757c9.png

С этим ничего делать не надо

 

В 28.03.2024 в 17:16, bren0r сказал:

Сделал, все работает)
Большое спасибо. У меня еще к вам вопрос. У нас в качестве шаблона установлен lightshop. Для вывода этого блока нужно копаться уже в шаблоне лайтшопа?

 

Да, вам нужно в catalog/view/theme/lightshop/template/product/product.twig в любом месте, где хотите выводить этот текст, добавить просто {{ description2 }}

Ссылка на комментарий
Поделиться на другие сайты

В 28.03.2024 в 19:00, Blast сказал:

С этим ничего делать не надо

 

Да, вам нужно в catalog/view/theme/lightshop/template/product/product.twig в любом месте, где хотите выводить этот текст, добавить просто {{ description2 }}

извините за навязчивость)
но имеем вот такоеimage.thumb.jpeg.5bf19873179a56b1250a0e27f22cbdb9.jpeg

а как можно вывести это мини описание так же, как и родное описание)
шаблон его почему-то не отрисовывает(

 

Ссылка на комментарий
Поделиться на другие сайты

  • 1 месяц спустя...

Добрый день!
Захотели добавить еще одно "кастомное поле", но встретили ошибку вот такого рода:
"Notice: Undefined index: description3 in /home/t/trial2/1begovoy.ru/storage/modification/admin/model/catalog/product.php on line 209Warning: Cannot modify header information - headers already sent by (output started at /home/t/trial2/1begovoy.ru/public_html/admin/controller/startup/error.php:34) in /home/t/trial2/1begovoy.ru/storage/modification/system/library/response.php on line 36"
Подскажите, можно ли как-то добавить 3 поле с описанием?
P.S название переменных было заменено на description3. В самом модификаторе пытался вставить и после поля description и description2. Запрос в бд делал так же после столбца description, description2 ничего не помогло(

Ссылка на комментарий
Поделиться на другие сайты

В 13.05.2024 в 12:17, bren0r сказал:

Добрый день!
Захотели добавить еще одно "кастомное поле", но встретили ошибку вот такого рода:
"Notice: Undefined index: description3 in /home/t/trial2/1begovoy.ru/storage/modification/admin/model/catalog/product.php on line 209Warning: Cannot modify header information - headers already sent by (output started at /home/t/trial2/1begovoy.ru/public_html/admin/controller/startup/error.php:34) in /home/t/trial2/1begovoy.ru/storage/modification/system/library/response.php on line 36"
Подскажите, можно ли как-то добавить 3 поле с описанием?
P.S название переменных было заменено на description3. В самом модификаторе пытался вставить и после поля description и description2. Запрос в бд делал так же после столбца description, description2 ничего не помогло(

добрый день.

если скопировать модификатор и заменить все description2 на description3 и в том числе в sql-запросе, то все должно работать без проблем

Ссылка на комментарий
Поделиться на другие сайты

В 13.05.2024 в 12:26, Blast сказал:

добрый день.

если скопировать модификатор и заменить все description2 на description3 и в том числе в sql-запросе, то все должно работать без проблем

так и сделал, но получаю ошибку такого рода(
 

Ссылка на комментарий
Поделиться на другие сайты

В 13.05.2024 в 12:33, bren0r сказал:

так и сделал, но получаю ошибку такого рода(
 

приложите модификатор, посмотрю. от названия поля ничего не зависит. скорее всего просто не везде заменили

Ссылка на комментарий
Поделиться на другие сайты

В 13.05.2024 в 12:42, Blast сказал:

приложите модификатор, посмотрю. от названия поля ничего не зависит. скорее всего просто не везде заменили

 

product_accs.ocmod.xml

Ссылка на комментарий
Поделиться на другие сайты

В 13.05.2024 в 12:42, Blast сказал:

приложите модификатор, посмотрю. от названия поля ничего не зависит. скорее всего просто не везде заменили

Сделал еще раз с самого начала. Все вроде работает. Ну так относительно)
Теперь поле комплектация дублируется)
 

1.JPG

Ссылка на комментарий
Поделиться на другие сайты

замените в обоих модификаторах строку

<search regex="true"><![CDATA[~(<div class="form-group">([\s]*)<label class="col-sm-2 control-label" for="input-description)~imsu]]></search>

на

<search regex="true"><![CDATA[~(<div class="form-group">([\s]*)<label class="col-sm-2 control-label" for="input-description\{\{ language\.language_id \}\})~imsu]]></search>

 

Ссылка на комментарий
Поделиться на другие сайты

В 13.05.2024 в 13:12, Blast сказал:

замените в обоих модификаторах строку

<search regex="true"><![CDATA[~(<div class="form-group">([\s]*)<label class="col-sm-2 control-label" for="input-description)~imsu]]></search>

на

<search regex="true"><![CDATA[~(<div class="form-group">([\s]*)<label class="col-sm-2 control-label" for="input-description\{\{ language\.language_id \}\})~imsu]]></search>

 

сейчас попробую

Ссылка на комментарий
Поделиться на другие сайты

В 13.05.2024 в 13:12, Blast сказал:

замените в обоих модификаторах строку

<search regex="true"><![CDATA[~(<div class="form-group">([\s]*)<label class="col-sm-2 control-label" for="input-description)~imsu]]></search>

на

<search regex="true"><![CDATA[~(<div class="form-group">([\s]*)<label class="col-sm-2 control-label" for="input-description\{\{ language\.language_id \}\})~imsu]]></search>

 

все работает отлично!
спасибо вам

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...