Page 1 of 1

Баг новой версии или что?

Posted: Thu Feb 07, 2013 10:10 am
by anort
Всем привет. В более ранних версиях тег пользователя для вывода ссылки на страницу работал без проблем. Прописываю его в новой версии 1.11.4 - шаблон с этим тегом не сохраняется, а при запуске тега из админки выдается ошибка:
Fatal error: Call to a member function getContent() on a non-object in *************/lib/classes/class.usertagoperations.inc.php(265) : eval()'d code on line 5
. Причем, если вместо $gCms->variables['page_name'] ставлю алиас любой страницы, ошибка исчезает. Вот код этого тега:

Code: Select all

global $gCms;

$manager =& $gCms->GetHierarchyManager();
$curNode=&$manager->sureGetNodeByAlias($gCms->variables['page_name']);
$curContent=&$curNode->getContent();
$url = $curContent->GetURL();
echo $url;
Что, в новой версии движка внесены какие-то изменения? Или причина в другом? Заранее благодарю за помощь!

Re: Баг новой версии или что?

Posted: Thu Feb 07, 2013 5:51 pm
by anort
Че-то я ступил... Ведь функция $gCms->variables['content_id'] работает только на frontend'e. А чтобы шаблон с этим тегом сохранялся без проблем, я дописал код тега, добавив проверку на существование объекта:

Code: Select all

global $gCms;

$manager =& $gCms->GetHierarchyManager();
$curNode=&$manager->sureGetNodeById($gCms->variables['content_id']);
if($curNode) {
$curContent=&$curNode->getContent();
$url = $curContent->GetURL();
echo $url;
}
Вроде все заработало...

Re: Баг новой версии или что?

Posted: Thu Feb 07, 2013 6:36 pm
by anort
Ну вот и плагин socialBookmarking, до этого не работавший (шаблон с этим плагином не сохранялся), после такого же "апгрейда" заработал. ;)