Сергей Б.
49 сообщений
#14 лет назад
Обращаюсь к спецам по phpshop-у. Неожиданно столкнулся с идиотской проблемой в phpshop-е, а именно невозможность толком выполнить произвольный php код внутри tpl шаблона.
Понимаю, что многие попытаются "ткнуть" меня носом и указать что php логика вставляется в phpshop "на ура". Но в моем случае не все так просто, хотя может я и ошибаюсь?
Итак - дано:
phpshop староватой версии (не поддерживает выполнение макросов php кода - @php свой код @php)
tpl шаблон карточки товара - main_product_forma_full.tpl
стандартные переменные информации о товаре:
@productId@
@productName@
@productPrice@
@productDes@
Задача - получить md5 хеши каждого параметра
Варианты решения:
1) сделать ф-цию md5 хеша на javascript и использовать в шаблоне - дурацкий метод, ибо много избыточного js кода в шаблоне.
2) подключить php-логику в шаблон..
Реализовал вариант 2. Создал переменную @phpmod@, подключил файл с логикой в autoload в config.ini
Проблема в том что нужно в @phpmod@ передавать параметры - как это сделать - не знаю, подскажите плиз?
Буду рад и другим методам реализации, но желательно пошагово обьяснить что и как делается.
Роман Беляев
16382 сообщения
#14 лет назад
Вычисление этих хэшей не должно быть в шаблоне. Ищите откуда передаются имеющиеся поля и там добавляйте передачу хэшей.
Сергей Б.
49 сообщений
#14 лет назад
Имеющиеся поля в принципе есть в суперглобальном массиве $GLOBALS, но, увы не хватает одного - @productDes@, его нет в суперглобальном массиве.
Роман Беляев
16382 сообщения
#14 лет назад
SergeyBoiko, найдите место где данные передаются в шаблон. Или где они берутся из базы а потом будет видно где они в шаблон уходят. Там и надо поля добавить.
Сергей Б.
49 сообщений
#14 лет назад
В целом это логично, но это легко сказать чем сделать. Потому мой первый пост и обращен прежде всего к спецам по phpshop.
Роман Беляев
16382 сообщения
#14 лет назад
Цитата ("SergeyBoiko"):
но это легко сказать чем сделать

Это и сделать не сложно, если уметь.Или если кто захочет копаться в движке для вас "за так", вдруг повезет...