Question

I need to count the page impressions of every page on a TYPO3 site into the db. So I think I need an extension which is called on every page impression and increase a column 'impressions' in the db of the specific page.

I'm new to typo3 and new to extension development as well. Is there a way to include an extbase-extension on every page so some php-script get called?

(Update)
I want to add more information: I don't need a counter which counts all PIs. The counter needs to be page-related. So it make sense to extend the pages-table from Typo3. Another need is that the extension should be done with extbase.

Was it helpful?

Solution

I'm new to typo3 and new to extension development as well. Is there a way to include an extbase-extension on every page so some php-script get called?

Once your plugin is configured you can include it with page.1234 < plugin.tx_yourextension_pi1 on any page. 1234 determines the position on your page. The script should be USER_INT, so it's not being cached (mind you, this will cost loads of performance as previously stated by @norwebian)

As you don't want to output anything, make sure the controller stays empty as well.

OTHER TIPS

Did you do a quick search in the extension repository? Trying a search for "page counter" reveals four relevant extensions.

"Sys_stat" is the closest thing to an "official" solution, it is really just enabling a few settings already existent. It has been reported to fill up the database with too much data, though.

"Generic Visitor Counter" would be my favourite, I believe (if I was going for a page counter at all), it is recently updated and seems simple enough.

You should really consider a proper stats extension, though. Both ics_awstats and ke_stats have been in my toolset.

YMMV. Be aware that if your site is popular, stats gathering quickly gets out of hand. On the other hand, if you go for a simple counter, including uncached extensions will cost performance.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top