extras-evolution / TOC

Plugin for automatically creating table of contents using anchors
0 stars 2 forks source link

MODX Parse Error на главной странице #1

Open mbvyd opened 8 years ago

mbvyd commented 8 years ago

Все страницы открываются нормально, но главная выкидывает такую ошибку. Если плагин отключить, то главная нормально открывается.

MODX Parse Error Error : Missing argument 2 for TransAlias::stripAlias(), called in /home/.../public_html/manager/includes/document.parser.class.inc.php(1022) : eval()'d code on line 91 and defined

Error information
ErrorType[num] WARNING[2] File /home/.../public_html/assets/plugins/transalias/transalias.class.php Line 169 Source function stripAlias($alias,$char_restrict,$word_separator) { Current Plugin TOC(OnLoadWebDocument)

Backtrace DocumentParser->executeParser() index.php on line 145 DocumentParser->prepareResponse() manager/includes/document.parser.class.inc.php on line 1726 DocumentParser->invokeEvent('OnLoadWebDocument') manager/includes/document.parser.class.inc.php on line 1810 DocumentParser->evalPlugin(string $var1, array $var2) manager/includes/document.parser.class.inc.php on line 3716 eval() manager/includes/document.parser.class.inc.php on line 1022 TransAlias->stripAlias(string $var1) manager/includes/document.parser.class.inc.php(1022) : eval()'d code on line 91

Похоже, что здесь http://modx.im/blog/1305.html#comment11873 описан тот же случай.

modx-developer commented 7 years ago

аналогичная проблема) при указании нумерации числами - работает, через плагин transalias - нет.

Aharito commented 7 years ago

То же самое на 9,1,2

Aharito commented 7 years ago

Я отправил PR #2 который исправляет указанную ошибку (MODX Parse Error).

Тем не менее, плагин работает не полностью - оглавление создается, а анкоры в тексте - нет. Скорее всего, это происходит из-за каких-то накладок с событиями.

Если после этой строки добавить строку

$modx->setPlaceholder('content',$modx->documentObject['content']);

а в шаблоне вместо [*content*] поставить созданный в предыдущей строке плейсхолдер [+content+], то всё работает.