Najnowsze posty

» Idź do forum | » Najnowsze posty

ContentStats - testy opinie  Na dół

Idź do strony 1 - 2 - 3 [+1]:

  • Witam,

    Jedna z moich konkurencyjnych stron ma takie proste statystyki blok, w którym podane są ilość artykułów, newsów, użytkowników, użytkowników zarejestrowanych przez ostatnie x dni etc... zacząłem się irytować bo chwalą się a nie mają czym icon_razz a najgorsze, że to robi wrażenie, więc ja też chcę...

    Nie wiedziałem za bardzo jak się zabrać za zrobienie czegoś takiego w głowie miałem co chcę:
    1. Ma współpracować z każdym modułem pagemaster, mediashare, pages, users, dizkus, ezcomments i tak dalej
    2. Chcę mieć możliwość dodania ikonki icon_smile
    3. Blok ma mieć opcje włączenia wyłączenia danej statystyki + możliwość zmiany kolejności statystyk
    4. Sterowanie uprawnieniami
    Ma to wyglądać mniej więcej tak:
    http://zikula.pl/pnTemp/downloads_screenshots/2519.jpg

    Tak, więc jak się uporać z punktem 1 hmm przypomniało mi się, że jest taki moduł Pending Content i w nim można dodać sql z countem i on wyświetla w bloku wpisaną nazwę, która jest linkiem też definiowanym przeze mnie oraz w nawiasach ilość zliczona countem, więc moduł poszedł pod nuż w efekcie przerobiłem go na ContentStats

    ContentStats można znaleźć w downloads
    Instalacja przekopiować pliki do modules zainstalować

    Administracja:
    1. Na początku zapraszam do ustawień głównych tam wybieramy ścieżkę do plików ikonek domyślnie jest to /images/icons/extrasmall można zmienić na ścieżkę np: do własnych ikonek w katalogu themes/twojetheme/images/icons

    2. Klikamy w menu głównym modułu create element (jeszcze nie jest w pełni przetłumaczony wersja beta)

    Name: to nazwa wyświetlana np: Użytkowników, Nowi zarejestrowani przez ostatnie 31 dni

    URL: to adres na jaki ma być przekierowany użytkownik np: index.php?module=Profile&func=viewmembers

    SQL Command: To jest to co zdecydowało o wykorzystaniu pending content Za pomoca SQL a można wyciągnąć wszystko z naszej bazy danych testy można robić w phpMyAdmin wystarczy poszukać poczytać o sql-u każde zapytanie powinno być poprzedzone SELECT COUNT(*)
    Można wyciągnąć ilość plików dodanych do mediashare które są np: zdjęciami albo plikami video/audio można wyciągnąć ilość danych dodanych do każdego modułu lub użytkowników po wartości pola w profilu w sumie można bardzo dużo jak nie wszystko...

    np:
    SELECT COUNT(*) FROM `pn_users` lub SELECT COUNT(*) FROM `pn_users` WHERE `pn_user_regdate` >= DATE_SUB(CURDATE(),INTERVAL 1 MONTH);

    Image: to nazwa pliku ikonki znajdującego się pod podaną wcześniej ścieżką jeśli ścieżka jest domyślna to można użyć np: agt_family.gif lub add_group.gif lub każdą inną znajdującą się w folderze /images/icons/extrasmall

    Zapisujemy i powinniśmy widzieć dodany element jako wiersz ikonka powinna się pokazać jeśli się nie pokaże to coś wpisaliśmy nie tak

    Tak dodajemy kilka elementów np:

    Name: Artykułów
    URL: index.php?module=pagemaster&tid=8&filter=core_online^eq^1
    Sql: SELECT COUNT(*) FROM `pn_pagemaster_pubdata8` WHERE `pm_online` = 1
    image: twoja ikonka

    Name: Wiadomości
    URL: index.php?module=pagemaster&tid=2&filter=core_online^eq^1
    SQL: SELECT COUNT(*) FROM `pn_pagemaster_pubdata2` WHERE `pm_online` = 1

    Ogłoszeń
    index.php?module=pagemaster&tid=9
    SELECT COUNT(*) FROM `pn_pagemaster_pubdata9` WHERE `pm_online` = 1 AND `pm_expiredate` >= NOW()

    Firm w Katalogu Firm
    index.php?module=pagemaster&tid=18 SELECT COUNT(*) FROM `pn_pagemaster_pubdata18` WHERE `pm_online` = 1 AND `pm_expiredate` >NOW()

    Użytkowników
    index.php?module=Profile&func=viewmembers
    SELECT COUNT(*) FROM `pn_users`

    Postów na Forum
    index.php?module=Dizkus
    SELECT COUNT(*) FROM `pn_dizkus_posts`

    Nowych ostatnie 31 dni
    index.php?module=Profile&func=viewmembers
    SELECT COUNT(*) FROM `pn_users` WHERE `pn_user_regdate` >= DATE_SUB(CURDATE(),INTERVAL 1 MONTH);

    3. Dodajemy blok ContestStats/stats dodajemy nazwę klikamy zapisz
    W ustawieniach bloku wyświetlone są wszystkie wiersze jakie dodaliśmy w module można zmienić ich układ przeciągając wiersze na górę/ na dół wiersze, które mają się wyświetlać powinniśmy zaznaczyć "ptaszkiem"
    zapisujemy ustawienia bloku.
    Blok powinien się wyświetlić

    4.Modyfikacja bloku
    Jeśli klikniemy edytuj blok ContestStats/stats to pokażą nam się 2 tabele
    1. tabela Current Stats to informacja o obecnych ustawieniach bloku do użycia jako "ściągawka"
    2. tabela służy do zmiany układu aktywacji dezaktywacji

    Dlaczego 2 tabele hmm nie wiem jak inaczej połączyć obecną konfigurację bloku z możliwymi nowymi wpisami w module...

    Uprawnienia działają tak jak w PendingContent

    Opcja aktywacji wpływa na widoczność danej statystyki w danym bloku
    Uprawnienia wpływają na ogólny dostęp do danej statystyki dla danej grupy w danym bloku

    To taki mały manual zapraszam do testów i piszcie co myślicie


    Pozdrawiam
  • Swego czasu napisałem taki mały modulik, a Jusuff pomógł w jego poprawieniu. Znajduje się w tutejszym Downloadzie i nazywa się MiniStats PL [url=http://zikula.pl/index.php?module=Downloads&func=display&lid=2512]>> KLIK
  • Swego czasu napisałem taki mały modulik, a Jusuff pomógł w jego poprawieniu. Znajduje się w tutejszym Downloadzie i nazywa się MiniStats PL KLIK

    W większości robi dokładnie to o czym mówisz. Prosto konfigurowalny. Może by tak jego dostosować (czytaj rozbudować do Twoich potrzeb) oraz zaktualizować, żeby działa pod ZK 1.2.x ?

    Na stronie www.portalstrzelecki.info w prawym górnym rogu znajduje się przykład jego działania.
  • Hej, wiesz co nie wiedziałem o istnieniu Twojego modułu z drugiej strony jednak mimo wszystko nie wiem czy bym go użył (próbował dostosować)-- uważam, że oparcie takiego modułu o pluginy nie jest najlepszym wyjściem

    Kiedyś był taki moduł statystyk domyślnie w instalacji i on też specjalnie się nie ostał... chyba właśnie przez brak wsparcia dla różnych modułów treści jakie są używane obecnie na stronach www.

    Na mojej stronie około 90% treści to pagemaster musiał bym pisać specjalnie dla każdego typu publikacji plugin... nie wiem nawet, czy to by przeszło...

    Wymiana sql-ami jest łatwiejsza niż plikami plug-inów

    Patrzę na to pod kątem właśnie łatwości dostosowania do własnych potrzeb staram się patrzeć oczami laika w programowaniu/lenia ;)

    Oczywiście to jest kwestia gustu co kto lubi...

    Pozdrawiam
  • kaik a jak z opcją rozdzielenia statystyk dla pagemastera np.. wiadomosci, zdjecia, ogloszenia itd

    moze jednak zroibsz... ze za pomoca checkbox mozna zdefiniowac co ma byc wyswietlane... i np 1 pole do wpisania recznie.

    ------------------------
    SILCOM.pl - PANOgrafia 360°
  • beer zdefiniuj rozdzielic
    jesli chcesz miec staty np tylko dla pagemastera dodajesz je do modulu nazwa url sql image nastepnie dodajesz blok i w nim aktywujesz tylko to co cie interesuje
    ponizej oddzielne statystyki tylko dla pagemastera oczywiscie zmieniasz tidy w zaleznosci od tego jakie ty masz

    Code

    Name: Artykułów
    URL: index.php?module=pagemaster&tid=8&filter=core_online^eq^1
    Sql: SELECT COUNT(*) FROM `pn_pagemaster_pubdata8` WHERE `pm_online` = 1
    image: twoja ikonka

    Name: Wiadomości
    URL: index.php?module=pagemaster&tid=2&filter=core_online^eq^1
    SQL: SELECT COUNT(*) FROM `pn_pagemaster_pubdata2` WHERE `pm_online` = 1

    Ogłoszeń
    index.php?module=pagemaster&tid=9
    SELECT COUNT(*) FROM `pn_pagemaster_pubdata9` WHERE `pm_online` = 1 AND `pm_expiredate` >= NOW()

    Firm w Katalogu Firm
    index.php?module=pagemaster&tid=18 SELECT COUNT(*) FROM `pn_pagemaster_pubdata18` WHERE `pm_online` = 1 AND `pm_expiredate` >NOW()


    wyczailem maly blad i na razie nie mam czasu tego naprawic mianowicie 2 bloki contetnstat na tej samej stronie wywalaja error musze to naprawic ale na razie nie mam czasu moze weekend ale na pewno to naprawie

    pozdrawiam
  • Przerzuciłem się z MiniStats na ContentStats. I nawet zadowolony jestem z tego wyboru. Mam tylko jedno pytanie.

    Co trzeba wpisać w polu SQL aby wyświetliła się rzeczywista ilość newsów zamieszczonych na stronie?

    Np. na tą chwilę blok pokazuje mi 1924 (http://www.port…trzelecki.info), a moduł 1221 (http://www.port…hp?module=News - w stopce). Oczywiście wartość z modułu jest poprawna. Próbowałem różnych konfiguracji komendy SQL i otrzymywałem różne wartości, ale tej właściwej nie udało mi się. W całej bazie danych w tabeli pn_news też nie znajduje pola, które pokazywałoby tą rzeczywistą wartość, a jednak na stronie i w administracji wyświetla mi się wartość prawidłowa.

    Pomoże ktoś?
  • napisz jaki sql podajesz ja nie używam Newsów więc ciężko powiedzieć.

    Po testach na tej stronie sql

    Code

    SELECT COUNT(*) FROM `cms_news` WHERE `pn_published_status` = 0

    zwraca 1075 na stronie gł pager pokazuje 1072
    czyli są jakieś 3 których pager nie bierze pod uwagę sprawdziłem phpmyadminem sortowanie kolumn i ta która zwróciła u góry tylko 3 elementy pn_hideonindex, czyli uwzględniając to kod zgadza się z pagerem

    Code

    SELECT COUNT(*) FROM `cms_news` WHERE `pn_hideonindex` = 0 AND `pn_published_status` = 0

    Można też się bawić z publish date i expire date w newsach....

    Daj znać czy poszło

    Pozdrawiam
  • Próbowałem z różnymi sql'ami, oto kilka z nich:

    Code

    SELECT COUNT(*) FROM `pn_news`
    SELECT COUNT(*) FROM `pn_news` WHERE `pn_counter` = 1
    SELECT COUNT(*) FROM `pn_news` WHERE `pn_counter` = 0
    SELECT COUNT(*) FROM `pn_news` WHERE `pn_sid` = 1
    SELECT COUNT(*) FROM `pn_news` WHERE `pn_sid` = 0
    SELECT COUNT(*) FROM `pn_news` WHERE `pn_published_status` = 1
    SELECT COUNT(*) FROM `pn_news` WHERE `pn_published_status` = 0

    Pokazują one różną wartość, ale nie tą właściwą.

    Twoje rozwiązania także nie działają icon_frown

    Za to w moim MiniStats wszystko pokazywało właściwie.



    Edytowany przez gjt o Paź 08, 2010 - 03:11 .
  • Zajrzałem do MiniStats i...

    Mini korzysta z funkcji zliczania w module News:
    News_userapi_countitems

    ta funkcja buduje sql na podstawie:
    1.alanguage - języka jeśli włączona jest opcja wielojęzyczna - sprawdź czy masz wszystkie newsy polskie
    2.published_status
    3.ihome
    4.from - to - zakres czasowy
    5.bydate - wg daty
    6.kategorii

    Funkcja w mini stats przekazuje tylko 1 parametr i jest to 'status' = 0 czyli published_status = 0
    Wg tego poprawny sql powinien wyglądać tak:

    Code

    SELECT COUNT(*) FROM `cms_news` WHERE `pn_published_status` = 0


    Jest tylko 1 część sql włączana bez podania dodatkowych argumentów to alanguage jeśli strona jest wielojęzyczna (ustawiona tak w ustawieniach) to automatycznie pobierane są tylko wpisy dla obecnego języka.
    To może być efektem różnych wskazań jeśli masz wpisy w różnych językach.
    To jeśli chodzi o ministats

    Jeśli chodzi o ilość w stopce i administracji może być tam brana inna funkcja do liczenia np: get all z parametrami



    Ponieważ blok wskazuje dużo więcej wpisów znaczy, że jest jakaś opcja, której nie bierzemy pod uwagę a powinniśmy. Może to data wygaśnięcia, język, 700 artykułów to dużo co bym zrobił to w phpmyadminie na tabeli z newsami szukał za pomocą szukajki tych 700 czy jaka tam jest różnica... to zależy jakie dodajesz artykuły czy mają datę wygaśnięcia... 700 to jest jakoś 1/3 tego co masz więc sam powinieneś wiedzieć co to mogło zostać wzięte pod uwagę za dużo. Ciężko powiedzieć po funkcji MiniStats nic więcej jak język nie wchodzi w grę - jeśli to nie język MiniStats nie miało prawa pokazać poprawnej ilości... pomijam jakieś błędy z nadpisywaniem się zmiennych i inne mało prawdopodobne opcje.
  • kaik

    Funkcja w mini stats przekazuje tylko 1 parametr i jest to 'status' = 0 czyli published_status = 0
    Wg tego poprawny sql powinien wyglądać tak:

    Code

    SELECT COUNT(*) FROM `cms_news` WHERE `pn_published_status` = 0

    Zastosowałem ten sql - jak pisałem wyżej - i nie daje właściwego wyniku.

    kaik

    Ponieważ blok wskazuje dużo więcej wpisów znaczy, że jest jakaś opcja, której nie bierzemy pod uwagę a powinniśmy. Może to data wygaśnięcia, język, 700 artykułów to dużo co bym zrobił to w phpmyadminie na tabeli z newsami szukał za pomocą szukajki tych 700 czy jaka tam jest różnica... to zależy jakie dodajesz artykuły czy mają datę wygaśnięcia... 700 to jest jakoś 1/3 tego co masz więc sam powinieneś wiedzieć co to mogło zostać wzięte pod uwagę za dużo.

    Już chyba wiem co jest nie tak... ale nadal nie mam pojęcia jak sobie z tym poradzić.

    Obecnie mam takie wartości:
    - ContentStats - 1931
    - administracja - 1228 (wartość jaką chcę osiągnąć w ContentStats, bo tyle w rzeczywistości jest newsów)
    - tabela "pn_news" w bazie danych - 1931 rekordów (tyle samo "pn_published_status")
    - ostatni news jaki mam jest 2039 newsem.

    Jak widać z powyższych liczb do swojej strony dodałem łącznie 2039 newsów. Często bywało tak, że jakiegoś newsa dodał użytkownik i wygodniej mi było go dodać po swojemu, a jego treść usunąć. I dlatego w bazie danych wartości "pn_sid" mam np. takie kolejno: 1, 2, 4, 5, 6, 9, 10, 11, itd... Czyli w rzeczywistości mam 8 newsów, a jeśli wskazywana będzie ostatnia wartość to wyświetli się 11. No i gdyby tak było to ContentStats pokazywałoby na tę chwilę 2039, a pokazuje 1931.

    Rekordów w bazie mam 1931. Na pewno nie mam tam newsów "oczekujących na dodanie" ani "zarchiwizowanych". Natomiast w rzeczywistości jest 1228. Więc skąd może wynikać ta różnica? Może błąd jest w module News i moduł nie pokazuje wszystkich newsów?
  • Quote

    I dlatego w bazie danych wartości "pn_sid" mam np. takie kolejno: 1, 2, 4, 5, 6, 9, 10, 11, itd... Czyli w rzeczywistości mam 8 newsów, a jeśli wskazywana będzie ostatnia wartość to wyświetli się 11. No i gdyby tak było to ContentStats pokazywałoby na tę chwilę 2039, a pokazuje 1931.

    Na pewno nie pokazuje po sid COUNT liczy ilość zwróconych obiektów, które zawierają się w zapytaniu.

    Quote

    Rekordów w bazie mam 1931. Na pewno nie mam tam newsów "oczekujących na dodanie" ani "zarchiwizowanych". Natomiast w rzeczywistości jest 1228. Więc skąd może wynikać ta różnica? Może błąd jest w module News i moduł nie pokazuje wszystkich newsów?

    Hmm przetestowanie tego najlepiej zrobić w phpmyadminie.
    ilość newsów w pagerze

    Code

    $pnRender->assign('pager', array('numitems' => pnModAPIFunc('News', 'user', 'countitems',
    array('status' => 0, 'ihome' => 0, 'filterbydate' => true, 'category' => isset($catFilter) ? $catFilter : null)),
    'itemsperpage' => $itemsperpage));

    Czyli pager bierze pod uwagę
    status
    ihome
    filterbydate
    kategorię(będąc w kategorii liczy tylko ilość w danej kategorii)

    Z filterbydate wyciągnąłem taki sql

    Code

    SELECT COUNT(*) FROM `cms_news` WHERE `pn_published_status` = 0 AND
    (('pn_from' IS NULL AND 'pn_to' IS NULL) OR (@NOW >= 'pn_from' AND ('pn_to' IS NULL OR @NOW <= 'pn_to')))


    Spróbuj nie sprawdzałem... nie mam newsów
  • Twój kod nie działa, zwraca liczbę newsów 0. Ale to już nieważne, ponieważ znalazłem przyczynę.

    Prawidłowa ilość newsów na mojej stronie to 1931, czyli tyle ile pokazuje ContentStats. Pager pokazuje złą wartość.

    Dlatego proponuję wydzielenie wątku, albo połączenie z tym o module News 2.6.2, bo to tutaj mamy błąd.

    Wszedłem z poziomu użytkownika do modułu News i cofnąłem się do pierwszego newsa. Wszystko jest w porządku, data publikacji to 05-06-2006, natomiast drugi news jest z dnia 04-09-2008, czyli moduł News nie pokazuje 700 newsów w pewnym przedziale czasowym, który zaczyna się już od drugiego newsa. Jak się wejdzie w archiwum, to także ich nie widać. Natomiast jak się wejdzie bezpośrednio w news (poprzez link: index.php?module=News&func=display&sid=2) to news jest.

    Więc moje pytanie brzmi: jak "odzyskać" te newsy?

    --------------------------------------------------------------------------
    Edycja
    --------------------------------------------------------------------------

    Mam! Problem był jak sugerowałeś w języku. Od newsa nr 2 do 704 w tabeli "pn_news" w komórce "pn_language" mam "pol". Pozostałe są puste. Zostaje mi te 3 literki z 700 wpisów wyczyścić. Dzięki za pomoc.

    Temat w takim razie można wydzielić jako odrębny wątek, może komuś się jeszcze przyda, bo wygląda, że przy aktualizacji modułu do najnowszej wersji te 700 newsów "wcięło".



    Edytowany przez gjt o Paź 09, 2010 - 01:12 .
  • Czy jest planowane dostosowanie modułu do wersji ZK 1.3.x?
  • Ponawiam pytanie.

Idź do strony 1 - 2 - 3 [+1]:

  • 0 users
  • and 1 anonymous guest

Ta lista bazuje na użytkownikach aktywnych przez ostatnie 10 minut.