Добрый день.
Создаю папку system/expressionengine/third_party/fast_test
Создаю в папке файл pi.fast_test.php
Указываю содержимое файла
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
$plugin_info = array(
'pi_name' => 'Fast_test',
'pi_version' =>'1',
'pi_author' =>'Maxim',
'pi_author_url' => 'http://example.com',
'pi_description' => 'Fast_test',
'pi_usage' => ''
);
class Fast_test
{
function test_func()
{
return "test";
}
}
Создаю 2 шаблона
1й
{exp:fast_test:test_func}<br />
{exp:channel:entries channel="some_channel" limit="5"}
{exp:fast_test:test_func}<br />
{/exp:channel:entries}
{exp:fast_test:test_func}
вывод шаблона
test
**********09L8X1t49cHY01Z5j4TT91fGfr
**********09L8X1t49cHY01Z5j4TT91fGfr
**********09L8X1t49cHY01Z5j4TT91fGfr
**********09L8X1t49cHY01Z5j4TT91fGfr
**********09L8X1t49cHY01Z5j4TT91fGfr
test
(36 символов, похоже на какой то хеш. вместо звездочек - также символы хеша)
т.е. по какой то причине (как я понимаю - скорее всего из-за порядка обработки шаблона, и порядка вызова модулей в частности) вместо строки test возвращается 36-символьная последовательность
2й
{exp:channel:entries channel="some_channel" limit="5"}
{exp:fast_test:test_func}<br />
{/exp:channel:entries}
{exp:fast_test:test_func}
вывод шаблона
test
test
test
test
test
test
Т.е. код обрабатывается так как ожидается.
Я знаю только один способ решить проблему - вынести в первом варианте код в embed шаблон
По какой причине происходит такая исключительная ситуация ?
UPD: и еще удивительно - 36 символов - это немного странно. кажется ни один хеш-алгорит не возвращает 36 байт по умолчанию
