Sziasztok!
A fivestar modullal egy node-onkénti szavazást valósítottam meg. Minden node tartalmára lehet szavazni egy 1-10-es skálán. Szeretnék egy egyedi logikát alkalmazni aszerint, hogy mely node-okra lehet szavazni és melyekre nem. Első körben azzal próbálkoztam, hogy a fivestar egy saját hook-ját hívom meg egy saját modulban.
Az alkalmazott hook:
/** * Implementation of hook_fivestar_access(). * * This hook is called before every vote is cast through Fivestar. It allows * modules to allow or deny voting on any type of entity, such as nodes, users, or * comments. * * @param $entity_type * Type entity. * @param $id * Identifier within the type. * @param $tag * The VotingAPI tag string. * @param $uid * The user ID trying to cast the vote. * * @return boolean or NULL * Returns TRUE if voting is supported on this object. * Returns NULL if voting is not supported on this object by this module. * If needing to absolutely deny all voting on this object, regardless * of permissions defined in other modules, return FALSE. Note if all * modules return NULL, stating no preference, then access will be denied. * * @see fivestar_validate_target() * @see fivestar_fivestar_access() */ function hook_fivestar_access($entity_type, $id, $tag, $uid) { if ($uid == 1) { // We are never going to allow the admin user case a fivestar vote. return FALSE; } }
A modulom nevét a hook helyére írtam, de semmire sem reagál, bármi is a return.
Azt szeretném kérdezni, hogy milyen más módszert alkalmazhatnék (vagy ebben mit rontok el) annak érdekében, hogy a fivestar field-je vagy tűnjön el, vagy inaktív legyen. (Próbáltam mint field-et eltüntetni, de nem jutottam sikerre.) Ezt lehetőleg a modulban kell elvégeznem, mert a hozzátartozó logika is ott került megvalósításra.
Előre is köszönöm!