Jump to content

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


Go to solution Solved by Blast,

Recommended Posts

  • Solution

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

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

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

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

 

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

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

 

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

 

Установка:

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

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

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

 

 

 

Link to comment
Share on other sites

  • 10 months later...

Добрый день)
получил следующую ошибку)
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

Link to comment
Share on other sites

В 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-запрос, записанный в файле модификатора в виде комментария. вы его выполнили?

Link to comment
Share on other sites

В 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

Link to comment
Share on other sites

В 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" и повторите шаги инструкции

Link to comment
Share on other sites

В 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 }}

Link to comment
Share on other sites

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

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

 

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

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

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

 

Link to comment
Share on other sites

  • 1 month later...

Добрый день!
Захотели добавить еще одно "кастомное поле", но встретили ошибку вот такого рода:
"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 ничего не помогло(

Link to comment
Share on other sites

В 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-запросе, то все должно работать без проблем

Link to comment
Share on other sites

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

добрый день.

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

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

Link to comment
Share on other sites

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

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

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

Link to comment
Share on other sites