Добавляю хук (из ActionIndex) в плагине:
$this->AddHook("topics_list_show", "Prepend");
Добавляю метод:
function Prepend($aTopics) {
$a = $aTopics["aTopics"];
$a[] = array_shift(array_values($a)); // типа первый элемент добавляем в конец
$aTopics["aTopics"] = $a;
}
Никаких изменений. Может так:
function Prepend(&$aTopics) {
$a = $aTopics["aTopics"];
$a[] = array_shift(array_values($a)); // типа первый элемент добавляем в конец
$aTopics["aTopics"] = $a;
}
нет, тоже самое. И даже так:
function Prepend($aTopics) {
$aTopics["aTopics"] = "";
}
ничего не меняется. Но если в ActionIndex.class.php изменить:
$this->Hook_Run('topics_list_show',array('aTopics'=>$aTopics));
на:
$this->Hook_Run('topics_list_show',array('aTopics'=>&$aTopics));
то все работает (копия первого топика добавляется в конец)!
В чем подвох?