smarty в iframe. Как?
Есть идея некоторые части страницы, которые подключаются через include, подключать через iframe. Например:
{include file="list-thumbs-mini.html"}
Простая замена на:
<iframe src="path_to/list-thumbs-mini.html"></iframe>
ни к чему хорошему не приводит - smarty в подгружаемом файле не выполняется и код файла просто вываливается в текстовом виде.
Подскажите, пожалуйста, каким образом можно осуществить идею и заставить выполняться smarty в iframe?
6 ответов
Насколько понимаю, написать плагин, и в качестве источника iframe указывать url роутинга этого плагина с параметром в котором передавать id товара
И да... Главное то забыл... А зачем вам это??? )))
Для ленивой подгрузки некоторого контента, который совершенно не нужен для моментального показа вместе с основным контентом. У меня уже используется плагин для lazyload изображений. Он также может и делать отложенную загрузку фреймов. Чтоб не городить для ленивой загрузки частей контента отдельные скрипты.
Спасибо за ответ.
Не совсем это имелось ввиду. Вместо "list-thumbs-mini.html" можно пробовать любую страницу, пусть даже "mypage.html". Т.е. мне не надо ничего никуда передавать (все, что надо будет, я в этой странице укажу). Суть в том, что при попытке вывода любой страницы из шаблона, не выполняется код smarty, который в этой странице присутствует. Вываливается вся содержание страницы в текстовом виде.
Чтобы выполнить smarty надо обратиться к url, который обработает запрос и на выходе сгенерирует html на основе шаблона smarty. Со smarty других вариантов нет. Только url-обработчик. Если у вас есть готовый html без smarty - просто положите (например рядом с шаблонами) и укажите в качестве источника iframe.
С готовым чистым html вопросов нет. А вот со страницами, содержащими смарти, - беда. Пробовал через блоки - код выполняется. Но необходимо указать именно "src=", ссылку на блок сюда не вставишь. Мелькала в голове идея сделать это через страницы, но тогда добавляется геморрой с вырезанием всего лишнего контента.