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

Вывести статью во вкладке на странице товара


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

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

Понадобилось вывести статью во вкладке на странице товара (у всех товаров)...

 

В контроллер 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), то на странице товара вкладка не появляется. То есть, частично работает.

 

Где ошибка?

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

В 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 и вы работаете с правильным файлом шаблона.

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

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

В 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');

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

В 17.08.2023 в 22:01, AlexDW сказал:

откройте catalog\controller\information\information.php

и приглядитесь внимательно к строке

$data['description'] = html_entity_decode($information_info['description'], ENT_QUOTES, 'UTF-8');

Спасибо, получилось!

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

  • Решение

Делал как то по просьбе. Смысл  задачи был такой.

Выводим в карточке товара во вкладках статьи (Каталог - Статьи).

В качестве названия вкладки Заголовок статьи, ну и содержимое это Описание статьи.
При чём без привязки к конкретной статье , как в примере ТС. 
Добавил просто чекбокс "Показать в товаре", аналог "Отображать в футере".
Отмечаем чекбокс и статьи выводятся в товаре в любом количестве.

Так мне кажется логичнее и удобнее.

 

info_tabs.png

 

Статьи во Вкладках.ocmod.xml

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

В 18.08.2023 в 04:53, Tom сказал:

Так мне кажется логичнее и удобнее.

Да, действительно, это гораздо лучше! Ведь может понадобиться вывести несколько статей.
Большое спасибо! hi.gif

 

Единственное что смутило, это радио-переключатель вместо чекбокса. Статья может понадобиться и там и там. Впрочем, он почему-то не сработал у меня и статья выводится и там, и там. Но вполне возможен сценарий, когда нужно вывести только в одной локации... В общем, два чекбокса был бы более удобный вариант...

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

Ну я показал где за сараем стоят лопаты, а что с ними делать, это уже на своё усмотрение. А передо мной стояла именно такая задача, тем и поделился , что было.

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

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

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

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

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

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

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

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

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

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

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