Smarty: вызов неизвестного метода «display»

это, должно быть, очень глупый вопрос, но я искал его ответ и не могу найти проблему … У меня возникли проблемы при попытке отобразить шаблон smarty, я использовал более старую версию smarty, и все работало хорошо, но я обновился до smarty 3 и получил исключение, это сообщение:

Вызов неизвестного метода «display».

Это мой код:

Index.php

require_once './GeneralFunctions.php';

$smartyVariables = getSmartyVariablesToAssign();
tryToDisplaySmartyTemplate('Index.tpl', $smartyVariables);

function getSmartyVariablesToAssign() {
$userAndOrPasswordError = $_GET['userAndOrPasswordError'];
return array(
'userAndOrPasswordError' => $userAndOrPasswordError
);
}

GeneralFunctions.php

require_once './smarty/libs/Smarty.class.php';

function tryToDisplaySmartyTemplate($templateName, $variablesToAssign = null) {
try {
$mySmarty = callSmarty();
assignSmartyVariables($mySmarty, $variablesToAssign);
$mySmarty->display($templateName);
} catch (Exception $exc) {
showCatchedExceptionTraceAndMessage($exc);
}
}

function callSmarty() {
$mySmarty = new Smarty();
$mySmarty->template_dir = 'smarty/templates';
$mySmarty->compile_dir = 'smarty/templates_c';
$mySmarty->config_dir = 'smarty/config';
$mySmarty->cache_dir = 'smarty/cache';
return $mySmarty;
}

function assignSmartyVariables($mySmarty, $variablesToAssign) {
foreach ($variablesToAssign as $key => $value) {
$mySmarty->assign($key, $value);
}
}

function showCatchedExceptionTraceAndMessage(Exception $exc) {
echo "Ocurrió un error desconocido, por favor, notifique al departamento de sistemas.",
"<br>",
"<br>",
$exc->getTraceAsString(),
"<br>",
"<br>",
$exc->getMessage();
}

Я расследовал, и все, что я знаю до сих пор, это существование умного метода: testInstall ()
Который дает следующую информацию:

Smarty Установочный тест … Тестирование каталога шаблонов …
C: \ xampp \ htdocs \ develop \ Registro_de_Tramites \ smarty \ templates в порядке.
Тестирование каталога компиляции …
C: \ xampp \ htdocs \ develop \ Registro_de_Tramites \ smarty \ templates_c в порядке.
Тестирование каталога плагинов …
C: \ xampp \ htdocs \velop \ Registro_de_Tramites \ smarty \ libs \ plugins is
ХОРОШО. Тестирование каталога кеша …
C: \ xampp \ htdocs \ develop \ Registro_de_Tramites \ smarty \ cache в порядке.
Тестирование каталога настроек …
C: \ xampp \ htdocs \ develop \ Registro_de_Tramites \ smarty \ config в порядке.

Тестирование файлов sysplugin … FAILED: файлы отсутствуют в libs / sysplugins:
smarty_internal_extension_codeframe.php,
smarty_internal_extension_config.php,
smarty_internal_extension_defaulttemplatehandler.php,
smarty_internal_filter_handler.php,
smarty_internal_function_call_handler.php,
smarty_internal_get_include_path.php.

Тестирование файлов плагинов … … ОК
Тесты завершены.

Я отделил единственное ОШИБКА, которую я получил от остальных. Кажется, в папке libs / sysplugins отсутствуют некоторые php-файлы, но при этом происходит повторная загрузка из умные выпуски, просто дает те же файлы, которые у меня есть …

Чтобы установить его, я просто скопирую папку libs в мой проект, внутри папки «smarty».

Надеюсь получить помощь: /

0

Решение

Я знал, что это глупый вопрос … переустановив smarty 3, все заработало, вы видите, похоже, была проблема с tortoiseSVN, который (кто знает почему) не загружал все файлы smarty правильно с первого раза.

Странно, однако, что отсутствующие файлы были не теми, о которых говорил testInstall () …

В любом случае, если у кого-то из вас возникла такая же проблема, попробуйте сначала переустановить smarty.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]