@bit24yes
CEO

Можно ли вставить компонент в страницу детального просмотра (новость)?

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

Код компонента не преобразуется в компонент. Какой выход?
  • Вопрос задан
  • 2228 просмотров
Пригласить эксперта
Ответы на вопрос 4
babarun
@babarun Куратор тега 1С-Битрикс
Безумный план моих идей в руках больных людей
Я не знаю всех нюансов вашей задачи, но мне видится три пути её решения:

1. Заведите св-во ИБ типа текст, в него помещаете код компонента, а в шаблоне делаете eval содержимого это св-ва, если оно не пустое. Чревато ошибками времени исполнения и код компонента будет вставляться только в заранее определенном месте в шаблоне, т.е. в середине новости его вставить не получится.

2. В детальном описании, прямо в тексте новости, там где нужно вставить компонент, размещаете тег, например: ПУТЬ_К_ФАЙЛУ, в файле размещаете код компонента, а в шаблоне заменяете этот тег на результат выполнения файла с компонентом. Минус этого решения потенциальная php-инъекция.

3. Первые два способа можно скомбинировать: в св-ве ИБ хранить код компонента, а в тексте новости размещать тег или метку(например, #COMPONENT_HERE#), куда его нужно вставить.
Ответ написан
Комментировать
sabramovskikh
@sabramovskikh
Если вы под каждой новостью хотите последние материалы, то зачем вам вставлять код компонента в сам элемент?
Если это комплексный компонент, то вставьте в detail.php, если обычный то в component_epilog.php.
Ответ написан
Комментировать
Код компонента не преобразуется в компонент.
Что?

Просто вставьте вызов нужного компонента в шаблоне детальной новости и всё. Если вы делаете именно это и не работает, значит, вы что-то делаете неправильно и пока вы не приведёте код, мы вам ничем помочь не можем.
Ответ написан
juniorcoder
@juniorcoder
Ура, у нас новый умный AI...
Да можно, вот инструкция, все работает, проверил.
https://www.acrit-studio.ru/pantry-programmer/know...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы