Как в текст из базы данных вставить шаблон?

На сайте есть статьи. Тексты статей редактируются через админку в редакторе. И хранятся в базе данных. Но в каждую статью в определенные места нужно вставить карусель баннеров. До сегодняшнего дня делали это так, что открывали в редакторе каждую статью, переходили в режим кода и вставляли в нее в нужное место код карусели. Но количество статей стало очень большим, а карусель нужно периодически изменять. И каждый раз приходится заходить в сотню статей и обновлять код карусели. Пробовали в то место, где карусель, вставить include('karusel.php'), чтобы страницы сами подхватывали файл с шаблоном карусели. Но наш редактор не позволяет в html код вставить php код. Что делать в данной ситуации, какое есть решение? Появилась идея вставить в текст статьи какую-то "специальную" строку, например, "KARUSEL" и в момент считывания текста из БД вывода его на страницу отлавливать эту строку и зменять ее на содержимое файла karusel.php. Состоятельно ли такое решение?
  • Вопрос задан
  • 95 просмотров
Решения вопроса 2
@Nolan81
программист
Так и делают. Называется - шорткоды. Смотря что у вас там за визуальный редактор в админке, может придется постараться, чтобы он как то визуально показывал что тут будет карусель
Ответ написан
Комментировать
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
Состоятельно. Только обычно ещё "скрывают" такой макрос, например <!--KARUSEL-->.
И второй момент, после этого надо в PHP-скриптах, выводящих текст в STDOUT, прописать замену строки KARUSEL на HTML самой карусели, чем-нибудь таким:
$karusel_HTML = file_get_contents("./karusel.html");
$html = str_replace("<!--KARUSEL-->", $karusel_HTML, $html);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@alexalexes
Если слайдер находится всегда в определенном месте статьи или есть фиксированные варианты расположения,
то нужно доработать редактор статей, чтобы к статье можно было прикрепить список изображений (у одного элемента изображения должен быть путь к файлу, поле описания, порядковый номер в слайдере) как связанный ресурс статьи и генерировать слайдер автоматически по наличию этого ресурса (у самого ресурса слайдера должно быть свойство расположения слайдера - если есть варианты).
Ответ написан
Ваш ответ на вопрос

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

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