SiteMix Опубликовано 17.08.2023 в 18:54 Поделиться Опубликовано 17.08.2023 в 18:54 Понадобилось вывести статью во вкладке на странице товара (у всех товаров)... В контроллер product.php добавляю $this->load->model('catalog/information'); $data['article'] = $this->model_catalog_information->getInformation(4); В product.twig добавляю {% if article %} <li><a href="#tab-article" data-toggle="tab">Article</a></li> {% endif %} ... {% if article %} <div class="tab-pane" id="tab-article">{{ article }}</div> {% endif %} Вкладка появляется и открывается, но на ней: Цитата Notice: Array to string conversion in \www\system\library\template\Twig\Environment.php(403) : eval()'d code on line 187Array Если в контроллере вместо 4 поставить несуществующий id статьи (например, 1), то на странице товара вкладка не появляется. То есть, частично работает. Где ошибка? 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
ChatGPT Опубликовано 17.08.2023 в 18:55 Поделиться Опубликовано 17.08.2023 в 18:55 В 17.08.2023 в 18:54, SiteMix сказал: Понадобилось вывести статью во вкладке на странице товара (у всех товаров)... В контроллер product.php добавляю $this->load->model('catalog/information'); $data['article'] = $this->model_catalog_information->getInformation(4); В product.twig добавляю {% if article %} <li><a href="#tab-article" data-toggle="tab">Article</a></li> {% endif %} ... {% if article %} <div class="tab-pane" id="tab-article">{{ article }}</div> {% endif %} Вкладка появляется и открывается, но на ней: Если в контроллере вместо 4 поставить несуществующий id статьи (например, 1), то на странице товара вкладка не появляется. То есть, частично работает. Где ошибка? Ошибка может быть связана с тем, что метод getInformation() модели catalog/information не возвращает нужную статью соответствующую переданному id. Убедитесь, что статья с id=4 существует в базе данных и правильно настроена. Также, убедитесь, что вы правильно передаёте данные из контроллера в представление. Проверьте, что переменная $data['article'] действительно содержит данные. Для этого вы можете использовать функцию var_dump() или die() в контроллере, чтобы увидеть содержание переменной. Если данные передаются правильно, проверьте шаблон product.twig. Убедитесь, что вам нужно отобразить только содержимое статьи, а не всю структуру HTML-кода. Также, проверьте, что в вашей теме оформления существует файл product.twig и вы работаете с правильным файлом шаблона. Если вы все еще не можете найти ошибку, можете предоставить более подробный код из контроллера и представления, чтобы я мог найти проблему. 0 Цитата Сборка OpenCart club edition | Документация OpenCart | Условия соглашения | Лицензионное соглашение Ссылка на комментарий Поделиться на другие сайты Поделиться
AlexDW Опубликовано 17.08.2023 в 19:01 Поделиться Опубликовано 17.08.2023 в 19:01 В 17.08.2023 в 23:54, SiteMix сказал: Где ошибка? ну вот же ) В 17.08.2023 в 23:54, SiteMix сказал: Array to string conversion откройте catalog\controller\information\information.php и приглядитесь внимательно к строке $data['description'] = html_entity_decode($information_info['description'], ENT_QUOTES, 'UTF-8'); 1 Цитата модули для удобной работы с Opencart Ссылка на комментарий Поделиться на другие сайты Поделиться
SiteMix Опубликовано 17.08.2023 в 19:33 Автор Поделиться Опубликовано 17.08.2023 в 19:33 В 17.08.2023 в 22:01, AlexDW сказал: откройте catalog\controller\information\information.php и приглядитесь внимательно к строке $data['description'] = html_entity_decode($information_info['description'], ENT_QUOTES, 'UTF-8'); Спасибо, получилось! 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Решение Tom Опубликовано 18.08.2023 в 01:53 Решение Поделиться Опубликовано 18.08.2023 в 01:53 Делал как то по просьбе. Смысл задачи был такой. Выводим в карточке товара во вкладках статьи (Каталог - Статьи). В качестве названия вкладки Заголовок статьи, ну и содержимое это Описание статьи. При чём без привязки к конкретной статье , как в примере ТС. Добавил просто чекбокс "Показать в товаре", аналог "Отображать в футере". Отмечаем чекбокс и статьи выводятся в товаре в любом количестве. Так мне кажется логичнее и удобнее. Статьи во Вкладках.ocmod.xml 3 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
SiteMix Опубликовано 18.08.2023 в 06:45 Автор Поделиться Опубликовано 18.08.2023 в 06:45 В 18.08.2023 в 04:53, Tom сказал: Так мне кажется логичнее и удобнее. Да, действительно, это гораздо лучше! Ведь может понадобиться вывести несколько статей. Большое спасибо! Единственное что смутило, это радио-переключатель вместо чекбокса. Статья может понадобиться и там и там. Впрочем, он почему-то не сработал у меня и статья выводится и там, и там. Но вполне возможен сценарий, когда нужно вывести только в одной локации... В общем, два чекбокса был бы более удобный вариант... 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Tom Опубликовано 18.08.2023 в 06:48 Поделиться Опубликовано 18.08.2023 в 06:48 Ну я показал где за сараем стоят лопаты, а что с ними делать, это уже на своё усмотрение. А передо мной стояла именно такая задача, тем и поделился , что было. 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
SiteMix Опубликовано 18.08.2023 в 07:10 Автор Поделиться Опубликовано 18.08.2023 в 07:10 Да-да, это понятно. Это просто были мысли вслух... Ещё раз спасибо! 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.