Решение Blast Опубликовано 5.05.2023 в 13:30 Решение Поделиться Опубликовано 5.05.2023 в 13:30 Дополнительные поля для товара Добавил Blast Добавлено 05.05.2023 Категория Прочие Решения Просмотр файла Модификатор добавляет дополнительное поле с названием ean2 в форму редактирования/добавления товара на фронте в карточке товара также можно использовать {{ ean2 }} Добавлен второй модификатор, добавляющий поле Дополнительное описание - description2. Сохраняет данные с привязкой к языку и имеет визуальный редактор. на фронте в карточке товара также можно использовать {{ description2 }} sql-запросы для добавления полей в БД внутри модификаторов в виде камента. Их выполнить через phpmyadmin. Установка: 1. Выполнить запрос в phpmyadmin. Запрос написан внутри файла в виде комментария ALTER TABLE ... Если имена таблиц начинаются не со стандартного oc_ то изменить текст запроса подставив свой префикс. 2. Файлы модификаторов залить в папку /system и обновить модификаторы в админке в разделе Дополнения / Модификаторы 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
bren0r Опубликовано 28.03.2024 в 12:23 Поделиться Опубликовано 28.03.2024 в 12:23 Добрый день) получил следующую ошибку)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 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Blast Опубликовано 28.03.2024 в 13:34 Автор Поделиться Опубликовано 28.03.2024 в 13:34 В 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 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
bren0r Опубликовано 28.03.2024 в 13:38 Поделиться Опубликовано 28.03.2024 в 13:38 В 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 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Blast Опубликовано 28.03.2024 в 14:00 Автор Поделиться Опубликовано 28.03.2024 в 14:00 В 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 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
bren0r Опубликовано 28.03.2024 в 14:03 Поделиться Опубликовано 28.03.2024 в 14:03 Сейчас сделаю откат сайта. Верну сайт в исходное состояние до введения этих нововведений) По итогу делаю так: - Запрос в БД - Загрузка расширения Все верно? 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
bren0r Опубликовано 28.03.2024 в 14:05 Поделиться Опубликовано 28.03.2024 в 14:05 просто не до конца было понятно, что делать вот с эим) 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
bren0r Опубликовано 28.03.2024 в 14:16 Поделиться Опубликовано 28.03.2024 в 14:16 Сделал, все работает) Большое спасибо. У меня еще к вам вопрос. У нас в качестве шаблона установлен lightshop. Для вывода этого блока нужно копаться уже в шаблоне лайтшопа? 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Blast Опубликовано 28.03.2024 в 16:00 Автор Поделиться Опубликовано 28.03.2024 в 16:00 В 28.03.2024 в 17:05, bren0r сказал: просто не до конца было понятно, что делать вот с эим) С этим ничего делать не надо В 28.03.2024 в 17:16, bren0r сказал: Сделал, все работает) Большое спасибо. У меня еще к вам вопрос. У нас в качестве шаблона установлен lightshop. Для вывода этого блока нужно копаться уже в шаблоне лайтшопа? Да, вам нужно в catalog/view/theme/lightshop/template/product/product.twig в любом месте, где хотите выводить этот текст, добавить просто {{ description2 }} 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
bren0r Опубликовано 28.03.2024 в 16:29 Поделиться Опубликовано 28.03.2024 в 16:29 В 28.03.2024 в 19:00, Blast сказал: С этим ничего делать не надо Да, вам нужно в catalog/view/theme/lightshop/template/product/product.twig в любом месте, где хотите выводить этот текст, добавить просто {{ description2 }} извините за навязчивость) но имеем вот такое а как можно вывести это мини описание так же, как и родное описание) шаблон его почему-то не отрисовывает( 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
bren0r Опубликовано 13.05.2024 в 09:17 Поделиться Опубликовано 13.05.2024 в 09:17 Добрый день! Захотели добавить еще одно "кастомное поле", но встретили ошибку вот такого рода: "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 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Blast Опубликовано 13.05.2024 в 09:26 Автор Поделиться Опубликовано 13.05.2024 в 09:26 В 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 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
bren0r Опубликовано 13.05.2024 в 09:33 Поделиться Опубликовано 13.05.2024 в 09:33 В 13.05.2024 в 12:26, Blast сказал: добрый день. если скопировать модификатор и заменить все description2 на description3 и в том числе в sql-запросе, то все должно работать без проблем так и сделал, но получаю ошибку такого рода( 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Blast Опубликовано 13.05.2024 в 09:42 Автор Поделиться Опубликовано 13.05.2024 в 09:42 В 13.05.2024 в 12:33, bren0r сказал: так и сделал, но получаю ошибку такого рода( приложите модификатор, посмотрю. от названия поля ничего не зависит. скорее всего просто не везде заменили 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
bren0r Опубликовано 13.05.2024 в 09:42 Поделиться Опубликовано 13.05.2024 в 09:42 В 13.05.2024 в 12:42, Blast сказал: приложите модификатор, посмотрю. от названия поля ничего не зависит. скорее всего просто не везде заменили product_accs.ocmod.xml 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
bren0r Опубликовано 13.05.2024 в 09:49 Поделиться Опубликовано 13.05.2024 в 09:49 В 13.05.2024 в 12:42, Blast сказал: приложите модификатор, посмотрю. от названия поля ничего не зависит. скорее всего просто не везде заменили Сделал еще раз с самого начала. Все вроде работает. Ну так относительно) Теперь поле комплектация дублируется) 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Blast Опубликовано 13.05.2024 в 10:12 Автор Поделиться Опубликовано 13.05.2024 в 10:12 замените в обоих модификаторах строку <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 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
bren0r Опубликовано 13.05.2024 в 10:15 Поделиться Опубликовано 13.05.2024 в 10:15 В 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 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
bren0r Опубликовано 13.05.2024 в 10:25 Поделиться Опубликовано 13.05.2024 в 10:25 В 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 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.