Отвяжите вообще данные, которые нужно потом показать на странице, от шаблонизатора. Получить эти данные при запросе страницы и поместить их в атрибуты не будет проблемой? К примеру, пусть карточки товаров содержаться в неком слое. Если наведение мыши повешено на него, то добавляем ему атрибут data-prop, в который помещаем данные о товаре (и так для всех товаров). Данные не просто json, но еще пропущенные через htmlspecialchars. Допустим, для примера эта массив:
Array
(
[id] => 12
[base] => /path/
[ims] => Array
(
[0] => Array
(
[name] => img1.jpg
[title] => text
)
[1] => Array
(
[name] => img2.jpg
[title] => text
)
[2] => Array
(
[name] => img3.jpg
[title] => text
)
)
)
Здесь все что требуется для вывода, например base, это путь к файлам изображений, и все прочее, и только необходимое. Вывод на страницу, это:
<div data-prop="{{prop}}">....</div>
где prop, это массив/объект переданный в шаблон как htmlspecialchars(json_encode($data), ENT_QUOTES). При наведении мыши из атрибута получается объект как:
var obj = $(this).data('prop'); //или у найденного родителя если обработчик не у родителя
И коли панель уже на странице, то размещаем эти данные в панели или строим по ним html код, который размещаем в панели. Остается показать панель, для чего используем ее метод. Например, если это Bootstrap, то способов показа ее много.
Это выгоднее чем терзать сервер, да и ответ не обязательно мгновенный. А объем данных не такой и большой будет.