Bonjour,
Allez aujourdhui je suis en forme, deux posts.
Comment faire un compteur de page vue le plus simplement du monde ?
Chaque personnes qui arrive sur une page, hop +1
Alors dans ce cas la ajoute un champ count a ta table article et fait un beforeRender qui incrementera de 1 le compteur de l'article
Si c'est pour une page en particulier, probablement en utilisant le life-cycle callback:
Controller::beforeRender()
A chaque fois que tu vas render un vue, tu updates un fichier txt ou ta bdd en ajoutant 1 a ton compteur ...
Je fais le malin mais je connais pas du tout cakePHP ^^ ...
Si c'est pour n'importe quelle page je sais pas ... au pire tu peux toujours taper dans les logs serveurs, en comptant les lignes (mais en excluant tout ce qui est image, js et css ...)
Bonjour.
Un peu plus de précision, ce serait possible ?
Car comme tu as abordé le sujet, tu ne ferais aucune vérification, ce qui fait que même si une personne a déjà vu la page concernée, l'incrémentation de ton compteur augmenterait quand même.
Ensuite :
Est-ce pour toutes les actions de ton contrôleur ou des actions spécifiques ?
La personne doit-elle être inscrite pour augmenter l'incrémentation du compteur ?
Veux tu utiliser la base de données pour sauvegarder les valeurs du compteur ou selon le nombre d'actions et contrôleur concerné, passerais-tu par la configuration de l'application ?
Dis nous en un peu plus, car il y a diverses situations et diverses manières de procéder, nous ne pouvons pas te donner de solution aussi généraliste.
Voila, je pense que toute les pages doivent etre comptabilisé, en bdd sans forcement etre inscrit
j'essaye d'avoir une tendance sur une page.
Moi je le verrais ainsi, a froid sans vraiment reflechir, et en restant e la tres basique sans controle de qui a vue quoi encore
en BDD:
create table nombrevues(
id int(11) not null auto_increment primary key,
controller varchar(50) not null,
action varchar(50) not null,
count int(11) not null
);
puis dans appcontroller faire un beforeRender du style:
public function beforeRender() {
// verifier si controller et action existe
// Si oui: update de count +1 du couple controller/action trouvé
// SI non: add controller, action, count+1
}
APrès tu peux pousser le system plus loin en verifiant par l'ip du user si il a deja ete connecté etc...
Tu n'apportes pas vraiment de précision.
Qu'appelles-tu "toutes les pages", toutes les pages de ton site, tous les enregistrements d'un système de news ou d'articles ?
Si tu veux comptabiliser chaque vue de ton site, ça va être bordélique, toutes les vues d'un site n'ont pas besoin d'être utilisées dans des statistiques, comme par exemple une FAQ, c'est inutile de faire des statistiques sur ce genre de système.
Merci a tous pour cette réponse matinal, je ne suis plus tout frais. je ne sais pas comment vous faites