Hej.
Aż się zdziwiłem że w sieci tak mało, a właściwie żadnego porządnego (nawet od IPS?!?!?!) guida nt hooków. Jedyne co mają, https://www.invisionpower.com/support/guides/_/advanced-and-developers/hooks/ jest outdated i mocno nieprzydatne.
Starałem się samemu coś wymodzić, proste hello world, ale nie udało się. W związku z tym spytam tutaj :-)
Na początek, jak w ogóle dodać własnego hooka? :-) Jeżeli dobrze rozumiem to:
1. Tworzę plik "siema.php"
2. Wrzucam go do /hooks
3. Wchodzę do ACP -> dodaje nowego hooka i w ostatniej zkładce wklepuje:
* File name in hooks directory: siema.php * This file's class name: hookCurrentUsers
* File hook type: Action overloader
* The class this file extends: public_forums_forums_boards
4. Zapisuje i tyle?
siema.php content:
<?php
class hookCurrentUsers extends public_forums_forums_boards
{
public function doExecute( ipsRegistry $registry )
{
parent::doExecute( $registry );
}
public function getActiveUserDetails()
{
$a = parent::getActiveUserDetails();
$a['TOTAL'] = 666;
return $a;
}
}
W założeniu na głównej powinno się pojawiać zawsze, że jest 666 użytkowników online.
Problem oczywiście jest taki, że nie działa ;-)
> Gdzie może być błąd?
> Nie wiem czy muszę overloadować doExecute(). Zgapiłem to z innego hooka.
> Dlaczego nie mogę wyrzucić plików z hooka? Mogę tylko dodawać nowe ale dodanych nie moge usunac?! Musze usuwac calego hooka?!
> Czy podmieniając siema.php wynik powinien byc widoczny od razu? Czy cos sie cachuje?
Dzięki !