Alle out/klicks zählen

monopol

New Member
Hallo,

ich möchte das beim Klicken auf die jeweiligen Banner jeder Klick/Out gezählt wird, welche Dateien müssen dazu bearbeitet werden und in wie fern?

MfG Monopol
 

Basti

Administrator
Staff member
Was meisst du?
Wird es bei dir gar nicht gezählt?

Falls nicht, poste mal dein wrapper.html um zu sehen ob das nötige javascript eingebunden ist.
 

monopol

New Member
Leider nicht, ich habe schon öfters selber Banner angeklickt doch leider wurden diese nicht gezählt. Ich habe schon seit einigen Tagen die Vermutung das eine js Datei Fehlen muss, da die Bewertung auch nicht funktioniert.

okay ich konnte den Fehler gerade in der wrapper.html finden, folgendes hat leider gefehlt.

Code:
<script type="text/javascript">
    function out(link,username) {
        out_url = '{$list_url}/index.php?a=out&u=' + username+'&go=1';
        link.href = out_url; // For browsers that don't support setAttribute
        link.setAttribute('href', out_url);
    }

    $(function() {

        $('#login').click(function() {
            $('#login-form').slideToggle('slow', function() {
                // Animation complete.
            });
        });

        $('#show_dropuser').hover(function() {
            $('#dropuser').show();
        }, function() {
            $('#dropuser').hide();
        });

        $('ul.tabs').each(function(){
            var $active, $content, $links = $(this).find('a');

            $active = $($links.filter('[href="'+location.hash+'"]')[0] || $links[0]);
            $active.addClass('active');
            $content = $($active.attr('href'));

            $links.not($active).each(function () {
                $($(this).attr('href')).hide();
            });

            $(this).on('click', 'a', function(e){
                $active.removeClass('active');
                $content.hide();

                $active = $(this);
                $content = $($(this).attr('href'));

                $active.addClass('active');
                $content.show();

                e.preventDefault();
            });
        });

        $(".category_menu > li a").hover(
            function (e) {
                $this = $(this)
                $this.stop().animate({
                    paddingLeft : '10px'
                }, {queue:false,duration:300});
            },
            function () {
                $this = $(this)
                $this.animate({
                    paddingLeft : '0px'
                }, {queue:false,duration:300});
            }
        );

    });
</script>
Danke für den Anhaltspunkte, ich denke mal bei den Seiten Bewertungen wird es das selbe Problem sein ansonsten Schreibe ich noch mal....

mfG
 

Basti

Administrator
Staff member
Ah, gut.
Mit den bewertungen, du meinst die aardvark? die sind standartmässig deaktiviert, da wir die an sich nicht mehr unterstützen ( disqus plugin ist besser ).
Falls du das alte aardvark system brauchst, gehe bitte in surces/details.php
Code:
$reviews_on = 0;
und setzte das auf 1 anstatt 0

Wenn du das nutzt muss das leider bei jedem update gemacht werden
 

Basti

Administrator
Staff member
Werde das mal für die nächste version abändern, danke für den tip. Kein plan was hier passiert ist, macht keinen sinn :/

Öffne mal rate_form.html
Code:
<form action="{$list_url}/{$url_helper_a}stats{$url_helper_u}{$username}{$url_tail}" method="post">
In der Zeile hast du
Code:
{$list_url}/{$url_helper_a}stats{$url_helper_u}{$username}{$url_tail}
Das sollte folgendes sein
Code:
{$list_url}/{$url_helper_a}{$url_helper_rate}{$url_helper_u}{$username}{$url_tail}
Und die beiden zeilen daruter brauchst du auch nicht, kannst weglöschen
Code:
<input type="hidden" value="rate" name="a" />
<input type="hidden" value="{$username}" name="u" />

Und in der datei rate_finish.html hast du
Code:
<a href="{$list_url}/{$url_helper_a}stats{$url_helper_u}{$username}{$url_tail}">{$lng->rate_back}</a>
Dort, das "stats" bitte durch "details" ersetzten
 

monopol

New Member
;) Vielen Dank und ich dachte schon es liegt an mir, werde es gleich mal testen.

EDIT:// okay, das erste Problem des Bewertungssystem wäre gelöst, jedoch gibt es da noch ein Bug. Wenn ich z.b Rate 5 abgebe und ein Kommentar schreibe wandert die Auswahl immer auf rate 1 (auch in einer frischen installation)

Ich konnte das Problem wie folgt lösen

Code:
<label for="rate_5">
  <input type="radio" name="rating" value="5" id="rate_5" /><img src="{$skins_url}/{$skin_name}/rate_5.png" alt="5/5" /></label><br />
<label for="rate_4">
  <input type="radio" name="rating" value="4" id="rate_4" /><img src="{$skins_url}/{$skin_name}/rate_4.png" alt="4/5" /></label><br />
<label for="rate_3">
<input type="radio" name="rating" value="3" checked="checked" id="rate_3" /><img src="{$skins_url}/{$skin_name}/rate_3.png" alt="3/5" /</label>><br />
<label for="rate_2">
<input type="radio" name="rating" value="2" id="rate_2" /><img src="{$skins_url}/{$skin_name}/rate_2.png" alt="2/5" /></label><br />
<label for="rate_1">
<input type="radio" name="rating" value="1" id="rate_1" /><img src="{$skins_url}/{$skin_name}/rate_1.png" alt="1/5" /></label><br /><br />
</label>
Ich habe den Label-closed-Tag in den Zeilen hinzugefügt, jetzt geht es aber ich weiß nicht ob es die Optimale Lösung ist.
 
Last edited:

Basti

Administrator
Staff member
Richtig, oh man wie verbuggt :oops:

Durch keinen geschlossenen label wandered das "checked" immer nur letzten option innerhalb des form tags. Vollkommen richtig gelöst
Die meisten browser beheben das automatisch, dennoch werden wir das mal ieber berichtigen
 

monopol

New Member
Mir ist bisher kein Browser bekannt der dies kann, weder IE ,Chrom noch FireFox.

Ich habe da noch eine kleine frage die mir noch nicht so ganz klar ist. Wofür ist die cron.php?
 

Basti

Administrator
Staff member
Cron wird genutzt falls du nicht den "fake cron" nutzen wirst.
Im großen und ganzen prüft ob das skript ob es ein neuer tag ist, falls ja eventuell list resetten etc.

Dies funktiert aber nur wenn auch jemand deine domain besucht ( script musst ja aufgerufen werden und was auszuführen ). Das heisst, das dein neuer tag evtl. erst um 01:00 oder noch später beginnt.
Aber ist normal kein problem, da ja niemand sieht das die list um 01:00 uhr noch nicht resettet ist. Der erste der besucht wird es als neuen tag sehen.

Falls du aber um punkt 00:00 resetten willst, egal ob ein besucher da ist oder nicht, kommt cron.php ins spiel.
In deine settings_sql.php kommt
Code:
$CONF['cron'] = 1;
Und du richtest einen cron job in cpanel ein der auf cron.php gerichtest ist und lässt es einmal täglich ausführen
 
Top