Counter (SPT-Tag)
Name
<spt:counter> - Zählt Zugriffe auf publizierte Informationen
Syntax
<spt:counter name="variable" mode="read" varname="variable"/>
Beschreibung
Mit dem sp:counter-Tag kann ermittelt werden wie oft eine Seite aufgerufen wurde.
<spt:counter name="hit"/>
erzeugt in der Ausgabeseite im Standard-Fall JavaScipt-Code in folgender Form:
<script
type="text/javascript"
src="/ies/counter?SYS_CNTR_id=101020100000001157-1015%3Ahits;SYS_CNTR_mode=;SYS_CNTR_varname=sp_counter">
</script>
Ab Version 2.0.3 generiert spt:counter alternativ auch PHP-Code, sobald das Attribut language
auf den Wert php
gesetzt wird. <spt:counter name="hit" language="php"/>
erzeugt PHP-Code in folgender Form:
<?php
function spt_counter_getCounter() {
$protocol = ($_SERVER["HTTPS"] == "on") ? "https" : "http";
$hostname = $_SERVER["HTTP_HOST"];
$url = $protocol . "://" . $hostname . "/ies/counter?SYS_CNTR_id=101020100000001157-1015%3Ahits;SYS_CNTR_mode=;SYS_CNTR_javascript=false";
return file_get_contents($url);
}
$sp_counter = spt_counter_getCounter();
?>
Bei jedem Aufruf der Seite wird die angegebene Counter-Variable um den Wert eins erhöht. Es gilt zu Beachten, dass der counter-Tag ausschließlich im Ausgabebereich eines Templates genutzt wird. Der Counter-Wert kann im Eingabebereich eines Templates mit sp:print oder sp:text ausgegeben werden. Zu beachten ist hierbei, dass der Counter als Content-Typ "counter" gespeichert wird. Counter werden intern im CounterInformation-Objekt verwaltet.
Um spt:counter nutzen zu können müssen zwei Bedingungen erfüllt sein:
- Der Counter-Manager muss aktiviert sein. Dieser kann über die Administrations-Oberläche des IES im Bereich 'Dienste' gestartet werden.
- Die generierte Counter-Url im JavaScript muss per HTTP-Request erreichbar sein. Dazu ist es nötig, dass der Publikationsbereich in dem die Seite generiert wurde als Webapplikation im IES aktiviert ist. Zusätzlich muss der Webserver einen JkMount von
/ies/counter
auf den IES gesetzt haben.
Attribute
Name | Type | Required | Default | ab IES Version |
---|---|---|---|---|
name
|
Variable | Ja | None | 1 |
mode
|
Text | Nein | None | 1 |
varName (deprecated ab Version 2.0.3)
|
Text | Nein. | sp_counter | 1 |
varname
|
Text | Nein | sp_counter | 2.0.3 |
language
|
Text | Nein | javascript | 2.0.3 |
name
- Name der Variable in der der Zugriffswert gespeichert wird.
mode
- Der Zähler kann in verschiedenen Modi betrieben werden. Gültige Modi sind:
- read
- Counter wird nicht hochgezählt, sondern es wird nur der aktuelle Zählerstand als Variable ausgegeben.
- write
- Counter wird hochgezählt, aber es wird keine Variable gesetzt.
- keine Angabe
- Counter wird hochgezählt und der aktuelle Zählerstand wird als Variable ausgegeben.
varName
- der Name der Variable, in die der aktuelle Counterwert ausgegeben wird [default=sp_counter].
- Deprecated (ab Version 2.0.3) Das Attribut ist veraltet, und sollte nicht mehr verwendet werden. Stattdessen sollte
varname
verwendet werden.
varname
- der Name der Variable, in die der aktuelle Counterwert ausgegeben wird [default=sp_counter].
language
- Gibt an in welcher Programmiersprache der Code generiert werden soll. Mögliche Werte sind:
javascript
- Es wird JavaScript-Code generiert.
php
- Es wird PHP-Code generiert.
Beispiele
Mit spt:counter eine Variable setzen
Template Quelltext
<sp:io type="in">
<sp:text name="meincounter" type="counter"/>
</sp:io>
<sp:io type="out">
<spt:counter name="meincounter" mode="read"/>
</sp:io>