Pergunta

Estou criando um sistema de 'prêmio' para o meu site para incentivar uma fealing comunidade, muito da mesma maneira que usa estouro de pilha emblemas.

O site é construído em CakePHP, eu criei um modelo de concessão, controlador etc -. Atualmente os métodos para calcular se um usuário tem um prêmio estão contidos dentro do controlador Award

No entanto, eu não posso decidir sobre a melhor maneira de prêmios de atualização - Digamos, por exemplo, você faz um certo número de observações e receber um prêmio por isso, CRON não seria suficiente caso contrário, o usuário pode visitar o seu perfil esperando uma concessão e não um até que o cron é executado.

Eu estava pensando em usar requestAction () para chamar o método de prêmios de atualização no controlador Award no entanto, isso não se encaixa o padrão de projeto MVC e pensei que deve haver uma maneira melhor!

Foi útil?

Solução

Se a única maneira de obter um prêmio é através de fazer um comentário, eu tinha acabado de substituir Model :: save para determinar se é um novo comentário que está sendo adicionado. Se for, fazer uma chamada para o modelo de concessões para atualizar o prêmio.

Se houver várias acções que podem dar prêmios, você poderia torneira em cada modelo para realizar esta verificação, ou modificar AppModel para que cada save resulta em uma chamada para checkNewAwards () ...

Ou talvez eu não estou entendendo a pergunta?

Outras dicas

criar uma função no helper e colocá-lo em seu layout para que ele funcione cada vez que o layout é renderizado.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top