Flexy - это недостаток документации и, возможно, из-за этого мне это действительно не нравится. Я хочу использовать обычный PHP в своем модуле, возможно? Лучшим решением было бы, если бы я мог использовать PHP только для моего модуля и не применять его на сайте.
Спасибо.Как я могу отключить механизм шаблонов X-cart 5 Flexy и использовать PHP?
0
A
ответ
0
Вы можете defintely сделать это, хотя это не рекомендуется, переопределяя display() метод в каждом из ваших классов View. Основная реализация описана в классе \ XLite \ View \ AView. Вы можете изменить его в классе View для печати в буфере вывода пользовательского PHP скрипт так:
public function display($template = null)
{
include 'custom_php_template.php';
}
Хотя с «custom_php_template.php» с аналогичным содержанием:
<?php
echo 'Hello world';
Обратите внимание, что это просто простой пример, и реальная логика может быть намного сложнее. Кроме того, используя этот подход, вам может потребоваться создать или адаптировать существующее решение для кэширования и другие вещи самостоятельно.
Спасибо! Ваш ответ помог мне найти, я думаю, правильный путь. A сделал это: in ** getDefaultTemplate() ** function Я заменяю ** return ** из '$ path.'body.tpl''' 'path_.body.php''. Затем я взял ** дисплей() ** из ** класса AView **, прокомментировал эту строку: '$ compiled = \ XLite \ Singletons :: $ handler-> flexy-> prepare ($ normalized);' и изменить строку из 'include $ compiled;' to 'include $ normalized;'. На данный момент это нормально. Еще раз спасибо! – shanginn
Отличная работа, @shance! Вы сделали шаг от моего примера и сделали все правильно. –