Solution Blast Posted May 5, 2023 at 01:30 PM Solution Share Posted May 5, 2023 at 01:30 PM Дополнительные поля для товара Добавил Blast Добавлено 05.05.2023 Категория Прочие Решения Просмотр файла Модификатор добавляет дополнительное поле с названием ean2 в форму редактирования/добавления товара на фронте в карточке товара также можно использовать {{ ean2 }} Добавлен второй модификатор, добавляющий поле Дополнительное описание - description2. Сохраняет данные с привязкой к языку и имеет визуальный редактор. на фронте в карточке товара также можно использовать {{ description2 }} sql-запросы для добавления полей в БД внутри модификаторов в виде камента. Их выполнить через phpmyadmin. Установка: 1. Выполнить запрос в phpmyadmin. Запрос написан внутри файла в виде комментария ALTER TABLE ... Если имена таблиц начинаются не со стандартного oc_ то изменить текст запроса подставив свой префикс. 2. Файлы модификаторов залить в папку /system и обновить модификаторы в админке в разделе Дополнения / Модификаторы 1 Quote Link to comment Share on other sites More sharing options...
bren0r Posted March 28, 2024 at 12:23 PM Share Posted March 28, 2024 at 12:23 PM Добрый день) получил следующую ошибку)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 0 Quote Link to comment Share on other sites More sharing options...
Blast Posted March 28, 2024 at 01:34 PM Author Share Posted March 28, 2024 at 01:34 PM В 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-запрос, записанный в файле модификатора в виде комментария. вы его выполнили? 0 Quote Link to comment Share on other sites More sharing options...
bren0r Posted March 28, 2024 at 01:38 PM Share Posted March 28, 2024 at 01:38 PM В 28.03.2024 в 16:34, Blast сказал: добрый день. в инструкции написано, что нужно выполнить в phpmyadmin sql-запрос, записанный в файле модификатора в виде комментария. вы его выполнили? да, сделал откат и поле появилось) только вот при сохранении товара выдает вот это)Fatal error: Uncaught Exception: Error: Column 'description2' specified twiceError No: 1110INSERT 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 0 Quote Link to comment Share on other sites More sharing options...
Blast Posted March 28, 2024 at 02:00 PM Author Share Posted March 28, 2024 at 02:00 PM В 28.03.2024 в 16:38, bren0r сказал: да, сделал откат и поле появилось) только вот при сохранении товара выдает вот это)Fatal error: Uncaught Exception: Error: Column 'description2' specified twiceError No: 1110INSERT 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" и повторите шаги инструкции 1 Quote Link to comment Share on other sites More sharing options...
bren0r Posted March 28, 2024 at 02:03 PM Share Posted March 28, 2024 at 02:03 PM Сейчас сделаю откат сайта. Верну сайт в исходное состояние до введения этих нововведений) По итогу делаю так: - Запрос в БД - Загрузка расширения Все верно? 0 Quote Link to comment Share on other sites More sharing options...
bren0r Posted March 28, 2024 at 02:05 PM Share Posted March 28, 2024 at 02:05 PM просто не до конца было понятно, что делать вот с эим) 0 Quote Link to comment Share on other sites More sharing options...
bren0r Posted March 28, 2024 at 02:16 PM Share Posted March 28, 2024 at 02:16 PM Сделал, все работает) Большое спасибо. У меня еще к вам вопрос. У нас в качестве шаблона установлен lightshop. Для вывода этого блока нужно копаться уже в шаблоне лайтшопа? 0 Quote Link to comment Share on other sites More sharing options...
Blast Posted March 28, 2024 at 04:00 PM Author Share Posted March 28, 2024 at 04:00 PM В 28.03.2024 в 17:05, bren0r сказал: просто не до конца было понятно, что делать вот с эим) С этим ничего делать не надо В 28.03.2024 в 17:16, bren0r сказал: Сделал, все работает) Большое спасибо. У меня еще к вам вопрос. У нас в качестве шаблона установлен lightshop. Для вывода этого блока нужно копаться уже в шаблоне лайтшопа? Да, вам нужно в catalog/view/theme/lightshop/template/product/product.twig в любом месте, где хотите выводить этот текст, добавить просто {{ description2 }} 0 Quote Link to comment Share on other sites More sharing options...
bren0r Posted March 28, 2024 at 04:29 PM Share Posted March 28, 2024 at 04:29 PM В 28.03.2024 в 19:00, Blast сказал: С этим ничего делать не надо Да, вам нужно в catalog/view/theme/lightshop/template/product/product.twig в любом месте, где хотите выводить этот текст, добавить просто {{ description2 }} извините за навязчивость) но имеем вот такое а как можно вывести это мини описание так же, как и родное описание) шаблон его почему-то не отрисовывает( 0 Quote Link to comment Share on other sites More sharing options...
bren0r Posted May 13, 2024 at 09:17 AM Share Posted May 13, 2024 at 09:17 AM Добрый день! Захотели добавить еще одно "кастомное поле", но встретили ошибку вот такого рода: "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 ничего не помогло( 0 Quote Link to comment Share on other sites More sharing options...
Blast Posted May 13, 2024 at 09:26 AM Author Share Posted May 13, 2024 at 09:26 AM В 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-запросе, то все должно работать без проблем 0 Quote Link to comment Share on other sites More sharing options...
bren0r Posted May 13, 2024 at 09:33 AM Share Posted May 13, 2024 at 09:33 AM В 13.05.2024 в 12:26, Blast сказал: добрый день. если скопировать модификатор и заменить все description2 на description3 и в том числе в sql-запросе, то все должно работать без проблем так и сделал, но получаю ошибку такого рода( 0 Quote Link to comment Share on other sites More sharing options...
Blast Posted May 13, 2024 at 09:42 AM Author Share Posted May 13, 2024 at 09:42 AM В 13.05.2024 в 12:33, bren0r сказал: так и сделал, но получаю ошибку такого рода( приложите модификатор, посмотрю. от названия поля ничего не зависит. скорее всего просто не везде заменили 0 Quote Link to comment Share on other sites More sharing options...
bren0r Posted May 13, 2024 at 09:42 AM Share Posted May 13, 2024 at 09:42 AM В 13.05.2024 в 12:42, Blast сказал: приложите модификатор, посмотрю. от названия поля ничего не зависит. скорее всего просто не везде заменили product_accs.ocmod.xml 0 Quote Link to comment Share on other sites More sharing options...
bren0r Posted May 13, 2024 at 09:49 AM Share Posted May 13, 2024 at 09:49 AM В 13.05.2024 в 12:42, Blast сказал: приложите модификатор, посмотрю. от названия поля ничего не зависит. скорее всего просто не везде заменили Сделал еще раз с самого начала. Все вроде работает. Ну так относительно) Теперь поле комплектация дублируется) 0 Quote Link to comment Share on other sites More sharing options...
Blast Posted May 13, 2024 at 10:12 AM Author Share Posted May 13, 2024 at 10:12 AM замените в обоих модификаторах строку <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> 0 Quote Link to comment Share on other sites More sharing options...
bren0r Posted May 13, 2024 at 10:15 AM Share Posted May 13, 2024 at 10:15 AM В 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> сейчас попробую 0 Quote Link to comment Share on other sites More sharing options...
bren0r Posted May 13, 2024 at 10:25 AM Share Posted May 13, 2024 at 10:25 AM В 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> все работает отлично! спасибо вам 0 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.