Strony:

Licznik odwiedzin dla każdego produktu

selekcjoner

Avatar: selekcjoner

2012-01-04 16:55

Witam
Jak zrobić licznik odwiedzin dla każdego produktu, wyświetlany w panelu admina obok danego produktu?
z góry dzięki za jakiekolwiek podpowiedzi

» Quick.Cart v4.x

simlution.org

Makaron

Avatar: Makaron

2012-01-04 17:57

Najłatwiej chyba kupić płatną wersję, bo tam taka funkcja się znajduje. Równie dobrze można zainstalować sobie statystyki Analitycs i jak umiejętnie będziesz się poruszał po zakładkach to i taką funkcję tam znajdziesz lub imitującą tą funkcję.

I helped? Like it: www.facebook.com/makwebpl

selekcjoner

Avatar: selekcjoner

2012-01-04 19:35

statystyki Analitycs raczej odpadają.. może ktoś ma jakiś pomysł:)

simlution.org

openzibi

Avatar: openzibi

2012-01-04 20:20

selekconer - Makaron czasami ma rację :)

Jeżeli nie chcesz korzystać z bezpłatnych statystyk serwera, jeżeli odpada Analitycs,
wybierz płatną wersję.

Moje rozumowanie jest takie. Potrzebujesz szczegółowych statystyk, czyli masz dużo zamówień w sklepie, czyli stać Cie na zakup wersji płatnej.


-------------------------------------------------------
hosting-domeny-strony - http://www.rhh.pl

selekcjoner

Avatar: selekcjoner

2012-01-04 20:28

nie do końca tak jest.. fajny "bajer" po prostu byłby taki licznik.
openzibi -
1.Makaron ma ZAWSZE racje:)
2.A jak nie ma racji-patrz punkt pierwszy:)

simlution.org

boboo

Avatar: boboo

2012-01-04 23:23

Duża ilość zamówień nie zawsze idzie w parze z dużymi zarobkami, a co za tym idzie: nie zawsze "stać mnie".
Ale idea fajna. Pomyślę deczko nad nią.

http://qc-plugins.kimla.de

boboo

Avatar: boboo

2012-01-05 10:22

Przecież to jest bajecznie proste. Wszystkie potrzebne komponenty są dostępne za free.
Składniki:
Komponent I. --> QC4x Free
Komponent II. plugin productsMostVisits (też Free. A w QC 42add już jest zawarty)

Receptura (dla widoku w liście produktów admina):
Tworzysz nową kolumnę w liście ze zmienną - dajmy na to - $aData[iViewed]
W funkcji listingu produktów w adminie wywołujesz pole 'iCount' z tabeli DB_PRODUCTS_VISITS dla danego produktu. Jeśli nie ma (bo jeszcze nikt nie otwierał widoku tego produktu) wbijasz wartość 0 i wpisujesz do zmiennej przed chwilą dodanej do templatki.

Ale to pokazuje tylko sumaryczną ilość odsłon produktu.
Jeśli chcesz widzieć jakąś średnią (dzienną, tygodniową, miesięczną itd.) to trzeba znaleźć jakiś punkt odniesienia - czyli datę otwarcia sklepu. Albo pamiętasz (bo założę się, że w configu sobie nie wpisałeś), albo przyjmiemy datę pierwszego zamówienia jako datę otwarcia sklepu.
Jak znaleźć I zamówienie?
2 sposoby:
obejrzyj funkcję: throwLastId i napisz sobie na jej podstawie "throwFirstId", albo uwierz sortowaniu zamówień i pobierz ostatnią linijkę z tabeli DB_ORDERS.
Stamtąd wyciągnij timestamp, wylicz różnicę czasu do "teraz", zrób z tego ilość dni, tygodni albo miesięcy i podziel $aData['iViewed'] przez tę ilość.
Otzymasz średnią wyświetleń na dany okres czasu.

http://qc-plugins.kimla.de

boboo

Avatar: boboo

2012-01-05 10:28

I tak np. może to wyglądać:
http://www.kimla.de/bilder/qc/visits_count_admin.png

http://qc-plugins.kimla.de

selekcjoner

Avatar: selekcjoner

2012-01-05 20:08

dzięki boboo, potrzeba mi właśnie "sumaryczną ilość odsłon produktu" i ewentualnie przycisk kasujący licznik.

simlution.org

selekcjoner

Avatar: selekcjoner

2012-06-01 19:40

teraz jest czas, żeby się za to zabrać:)
w funkcji listingu czyli w core/products-admin.php rozumiem:)

czy tylko w tym pliku należy zrobić zmianę w funkcji "listProductsAdmin" czy jeszcze trzeba w actions-admin/products.php?

Bo "walczę" z tym a coś mi to nie działa;)

simlution.org

selekcjoner

Avatar: selekcjoner

2012-06-01 20:34

w funkcji "listProductsAdmin" takie coś? dobry trop?
$aData['iLicznik'] = ****** (DB_PRODUCTS_VISITS, $iProduct, 'iCount' );

tylko zamiast gwiazdek coś trzeba:)

simlution.org

boboo

Avatar: boboo

2012-06-02 07:31

Najpierw musimy pobrać linijkę (array) z bazy VISITS dla danego produktu:
Czyli szukamy w polu 'iProduct' czegoś z numerem $iProduct.
$aDataTemp=throwData(DB_PRODUCTS_VISITS,$iProduct,'iProduct');

W tym momencie $aDataTemp ma postać:
array('iProduct'=>X,'iCount'=>Y)

Teraz pobieramy ilość klików:
$aData['iLicznik']=$aDataTemp['iCount'];

qc-plugins.kimla.de

selekcjoner

Avatar: selekcjoner

2012-06-02 12:05

tak nie działa, ale wkleiłem takie:

$aDataTemp = $GLOBALS['oFF']->throwData(DB_PRODUCTS_VISITS,$iProduct,'iProduct');

zadziałało, ale wyświetla przy każdym produkcie odsłony z pierwszego produktu

simlution.org

boboo

Avatar: boboo

2012-06-02 14:37

ano tak,
zapomniałem, że to jest w klasie FlatFiles.
(pisałem z głowy)
Oczywiście ma być:
$aDataTemp=$oFF->throwData(DB_PRODUCTS_VISITS,$iProduct,'iProduct');
No i trzeba zadeklarować na początku funkcji:
$oFF=FlatFiles::getInstance();
Ale problem w tym, że w funkcji listProductsAdmin nie ma zmiennej $iProduct, więc throwData bierze z pierwszej (zerowej) linijki.
ID produktu jest w:
$aData['iProduct']
Czyli będzie:
$aDataTemp=$oFF->throwData(DB_PRODUCTS_VISITS,$aData['iProduct'],'iProduct');

qc-plugins.kimla.de

selekcjoner

Avatar: selekcjoner

2012-06-02 16:53

:) nic dodać nic ująć:) działa:)
aczkolwiek będę jeszcze myślał nad tym, jak zrobić kasowanie tego licznika, ale to jak będzie trochę czasu:)

simlution.org

boboo

Avatar: boboo

2012-06-02 17:14

jest tam w funkcji plugina addProductsView:
if( $aExp[0] == $iProduct ){
$sSave .= $aExp[0].'$'.($aExp[1] + 1 ).'$'."\n";
$bFound = true;
}
zamień na:
if( $aExp[0] == $iProduct ){
if($bDelete===true)
$sSave .= $aExp[0].'$'.0.'$'."\n";
else
$sSave .= $aExp[0].'$'.($aExp[1] + 1 ).'$'."\n";
$bFound = true;
}
a deklarację funkcji zamień na:
public function addProductsView( $iProduct,$bDelete=false ){

I kasowanie wywołuj:
$oProduct->addProductsView($iProduct,true);

(piszę z głowy - nie sprawdzam)

qc-plugins.kimla.de

selekcjoner

Avatar: selekcjoner

2012-06-02 17:22

oki boboo, sprawdzę w poniedziałek bo teraz już brak czasu.. Narazie wielkie dzięki.

simlution.org

selekcjoner

Avatar: selekcjoner

2012-06-17 14:00

$sSave .= $aExp[0].'$'.0.'$'."\n"; -----> wywala błąd...
czy może być: $sSave .= $aExp[0].'$0$'."\n"; ?

simlution.org

boboo

Avatar: boboo

2012-06-17 16:32

A jaki błąd?

qc-plugins.kimla.de

selekcjoner

Avatar: selekcjoner

2012-06-17 16:36

Parse error: syntax error, unexpected T_DNUMBER in STRONA www/core/products.php on line 765

simlution.org

Strony:
Do góry
o nas | kontakt