Látogató számlálót be lehet szúrni a drupalba? és hova?

tamoca képe

Mert ugye itt nincs index.html

Hojtsy Gábor képe

Milyen látogató számláló az, amit csak az index.html-be lehet beszúrni? Milyen számlálóra gondolsz? Valami távoli szolgáltatás, ami egy képet megjelenít? Annak kódját nyogodtan szúrd be a page sablonba (ami PHPTemplate alapú smink esetén a page.tpl.php).

0
0
tibi képe

Szia!

Ha nincs extra elképzelésed, akkor legegyszerűbb ha blokkban jeleníted meg a számlálódat. Ott is tudsz PHP-t futtatni. Ha valami különleges elhelyezést szeretnél neki akkor tudsz új blokk típus deklarálni vagy a meglévőt áthelyezni, persze csak akkor ha nincs rá szükséged az eredeti helyén. Hajrá!

0
0
bb.virgo képe

Van erre a drupalban egy egyszerű megoldás, ha csak az számít, hányszor töltik le a főoldalt. Csinálsz egy blokkot, PHP beviteli formával, és beírod tartalomnak:

$visitors = statistics_get(1);
print 'Te vagy a ';
print $visitors['totalcount'];
print '. látogatónk!';

A statistics_get függvény paramétere értelemszerűen a node neve, amire kiváncsiak vagyunk. Ez minden letöltésnél nőveli az oldal számlálóját, tehát nem tesz különbséget, hogy kéz ember egyszer, vagy egy ember kétszer tölti le. Ja és be kell pipálni a moduloknál a statistics modult, valamint engedélyezni is kell a beállításoknál.

0
0
tamoca képe

nem maradt ki valami?Remetei Tamás

0
0

tamoca

Hojtsy Gábor képe

A fenti kód pontosan az egyes számú tartalom (?q=node/1 webcímmel) látogatottságát mutatja ki. Ha ezt a webcímet betöltöd, nőnie kell a számlálónak. Ha másikat töltesz be, persze nem fog nőni, mert ez csak annak a konkrét oldalnak a látogatását méri. Ez a célja. Ez megállt 90-nél, és a ?q=node/1 webcímet betöltve nem nő?

0
0
tamoca képe

(?q=node/1 webcímmel)
ez alatt mit értesz irjam be a webcímet?
és ha igen hogy http://www.horgaszcsonak.com esetében kérem a php progit szurd be válaszként köszönettel Tamás
Egy látogató számláló másokat is érdekelhet...Remetei Tamás

0
0

tamoca

Hojtsy Gábor képe

A Drupal csak a konkrét node-ok saját oldalainak látogatottságát számolja. A node/1 azt jelenti, hogy az egyes sorszámú node oldala látszik. Írd be, hogy index.php?q=node/1, és akkor ennek számlálója nő. Az itt keringő kód egy konkrét node látogatottságát számolja. Ezzel nem lehet a címlap látogatottságát számolni, ha az nem egy konkrét node. Sőt más oldalak látogatottságát sem lehet mérni, ezeket nem összesíti és így tovább.

A Drupalba az van beépítve, hogy konkrét node oldalak látogatottságát egyenként mérje. Ami nem node oldal, azt nem méri, és semmilyen adatot ezen felül nem összesít.

Ha neked más kell (olyan számláló, ami minden oldallatöltést összesítve mér), akkor vagy keresel erre modult (neked nem ajánlanám), vagy fogsz egy máshol szokványosan használt külső képet megjelenítő számlálót, és berakod a page.tpl.php oldalba, mint ahogy különben az index.html-be szoktad tenni más oldalaidon. Szerintem neked egy ilyen számláló kell, bb.virgo valamiért másképp látja.

0
0
bb.virgo képe

Ahogy Goba leírta, az említett pár sor kód csupán egy adott node id-hoz tartozó tartalom letöltéseinek számát adja vissza. Ha a címlapra állítjuk be, csak azt fogjuk megtudni, hogy hányszor jártak ott. De ehhez arra van szükségünk, hogy a címlapot mi magunk állítsuk be, tehát ne az alapértelmezett node érték legyen megadva a beállításoknál.

Viszont, ha már ilyen sokat beszéltünk erről a témáról, nézzünk valami komolyabb megoldást (bár a látogatásszámláló ilyen formában nálam egyre megy az olyan elemekkel mint a flash-es animációk, pörgő gifek vagy villogó szövegek :-) ). A php lehetőséget ad Sessionök kezelésére és ezt elég jól tudjuk használni, ha arról akarunk reális képet kapni, hányan nézték meg az oldalunkat.

if (!isset($_SESSION['visitors'])) {
 variable_set('visitors', variable_get('visitors', 0)+1) ;
 $_SESSION['visitors'] = true;
}
print 'Látogatók: '.variable_get('visitors', 0);

Ez a kód egy blockba beszúrva mutatni fogja, hogy hányan tévedtek erre. Fontos különbség, hogy működése a böngésző-kiszolgáló közötti kapcsolatra alapul, tehát ha valaki órákig olvasgatja az oldalunkat és különböző tartalmakat mind végiglapozza, akkor is csak 1-el növeli a látogatottságot, de ha csak a címlapig jut el valaki és utána elmegy, az is csak +1 -et jelent. Így nem téveszt meg minket az, ha mondjuk egy ugyanazon ember 10-szer letölti a tartalmat.

Ezek után még mindig ott van a staticstics_get(), amivel megnézhetjük, hogy az adott tartalom milyen népszerű.

0
0
tamoca képe

Nagyon köszönöüm a segítségedet Remetei Tamás

0
0

tamoca

tamoca képe

a fenti kóddal meg is ugrott a látogatottság már napi 500 ra aztán jobban néztem az egyes oldalakat (node) de azok 100-200 as látogatottságúak csak na mondom mit néztek ezek aztán azt láttam hogy egyes tartalmaknál 5445 aztán 6200 a látogatottság szóval össze vissza mutatja függően melyik oldalt nézem aztán néha 2000-at is ugrik egy kattintásra!
Remetei Tamás

0
0

tamoca

bb.virgo képe

A statistics modul nem az én művem, a Drupal core-ban található, elég nehezen tudom elképzelni, hogy ,,össze-vissza'' működik. A PHP Session-kezelése szintén nem az én művem, rég bevállt módszer szóval ezzekkel biztos nincs gond. De ha mégis így van, a probléma három dolog lehet:

1.) Nem írtad le problémádat rendesen és így nem megfelelő kódot ajánlottam
2.) Egyéb kód bezavarja a működését
3.) Megértettük egymást és én leírtam de valamit elszúrtam, ha így van elnézést kérek.

Ezt a harmadikat azért írtam, mert nincs kizárva, hogy hibás a kód. Bár azóta is működik nálam, meg senki nem reagált, hogy ne osszak már rossz tanácsot :). Azt ajánlom én is (másik topicodban már válaszoltak (külső számláló)), hogy építs be egy külső számlálót.

0
0
tamoca képe

ha figyeled a számklálót ahogy kattintasz az egyes nodokat tartalmazó linkekre akkor változik a számláló ösze vissza, valahogy az az érzésem mintha összeadna valamit a meglévővel egy kattintásra 200-at is ugrik miután bennt vagy az oldalon a belső lapozgatás is növeli a számklálót tamoca

0
0

tamoca

bb.virgo képe

Megnéztem az oldalt, meg más okból is használtam sessiont és arra a megállapításra jutottam, hogy ha nincs bejelentkezve user, nem tudom írni az aktuális sessiont (amit a drupal indít magának), csak olvasni. Ha van user bejelentkezve, tudom írni. Néztem a forrást is, de nem tudok rájönni, mitől lehet ez, vagy mit kéne tennem, hogy tudjam írni. Ha valaki tudja, miért van ez, igazán megsúghatná :-)

0
0
Csontos Mariann képe

Köszönöm! :)

0
0
tamoca képe

"vagy fogsz egy máshol szokványosan használt külső képet megjelenítő számlálót, és berakod a page.tpl.php oldalba, mint ahogy különben az index.html-be szoktad tenni más oldalaidon."
Igen Igen
Valóban szeretnék egy olyan látogató számlálót ami azt számolja amikor valaki ezt a webcímet bejrja a böngészőjébe és entert üt aztán ha bejött az oldal akkor eggyel nőjjön a számláló és akárhova lépeget az oldalon belűl akkro se nőjjön tovább.Csak új belépéskor.Van mégegy gond a node/1 számolásával az egy megoldás amit irt egy kedves segjtő de nem az 1-es az örök címoldal hanem naponta változik ezért alkalmatlan . 2 megoldás érkezett eddig amit írtál az lehet a jó de mivel nem áll rendelkezésre amit be kellene szúrnom nem tudom megoldani. A kérésem a következő ha tudsz küldj légyszi egy működő beszúrandó kódsort és azt is hogy hova. Ne homályosan hanemkonkrétan szerintem nem vagyok egyedűl aki ilyet szeretne, ha nem ellentétes az üzleti filozófiáddal légyszíves tedd közzé. Köszönöm
tamoca

0
0

tamoca

bb.virgo képe

Igen, mint azt írtam is, csak az adott oldal letöltéseit számolja, esetünkben a főoldalét. Ha megállt (?), annak valami más oka lehet. Egy oldalamnál jó pár hete működik, hibátlanul.

0
0
tamoca képe

Remetei Tamás

$visitors = statistics_get(1);
print 'Te vagy a ';
print $visitors['totalcount'];
print '. látogatónk!';

szóval kérlek ha pl a weboldal a www.horgaszcsonak.com akkor mit irnál be egy kicsit értetlen vagyok talán, de a lényeg ugy nézem a drupalnal a cimoldal az csak annyi hogy node
az egy helyén nem a node-nak kellene lenni légyszi ird le a függvényt ujra mert ha ugy szúrom be ahogy küldted nem jó.
0
0

tamoca

bb.virgo képe

Nem értem a problémát. Ez egy nagyon egyszerű kis kód, és biztos vagyok benne, hogy nem rontottam el, mivel a saját oldalamból vettem ki, ott az egyes node a címlap, mert így állítottam be. Szóval biztos működik, a gond az lehet nálad, hogy másra van állítva a címlapod a beállításoknál (mondjuk node/52), azért nem számolja. A weboldal címe teljesen mindegy most, az nem számít. Nézd át jobban, hogy mik vannak a beállításban. Sok sikert :)

0
0
bb.virgo képe

Közben eszembejutott valami. Lehet, hogy úgy használod a címlapot, ahogy a drupal telepítés után elkészítette. Tulajdonképpen az egy olyan tartalom (amennyire tudom), ami a ,,címlapra kerül/promoted'' tulajdonsággú tartalmakat kirakja. Így érthető, hogy nem számolja a node/1 statisztikájához a látogatottságát. Azt ajánlanám, csinálj egy oldal típusú tartalmat és ennek a számát állítsd be kezdőlapnak, majd a statistics_get()-paraméterének is. Így biztosan nem lesz gond. Lehet, hogy létezik erre valami más megoldás, de most így erre gondolok.

0
0
Szergio képe

Nagy "siettemben":
- csináltam egy blokkot
- jóváhagytam
- tartalomnak betettem a fenti php kódot ("természetesen" nem írtam be a paramétereket)

... erre nem jelenik meg SEMMI (nemhogy számláló, hanem ... szóval semmi ... ). Hogy tudok hozzáférni, hogy kiüssem a blokkot v. valahogy életet leheljek az oldalba?

0
0
pp képe

block táblában megkeresed a blockodat amit létrehoztál, és a status-mezőt 0-ra állítod.

Legközelebb csinálsz egy oldalt, melynek az útvonala mondjuk teszt (sehol nem kell, hogy megjelenjen, de ha beírod, hogy example.com/teszt, vagy example.com?q=teszt akkor neked meg fog jelenni.)
Majd az ilyen blockoknál beállítod mindig, hogy csak a teszt oldalon jelenjenek meg és ilyenkor könnyedén vissza tudsz lépni a főoldalra, meg az adminisztrációba és ki tudod lőni a blockot.

pp

0
0
Szergio képe

... szépeeeeeeeeeeeeeen! (Már eléggé megijjedtem volt ;-))

0
0
vikicica22 képe

Sziasztok!
Ez a kód az összese látogatót számolja

if (!isset($_SESSION['visitors'])) {
variable_set('visitors', variable_get('visitors', 0)+1) ;
$_SESSION['visitors'] = true;
}
print 'Látogatók összesen: '.variable_get('visitors', 0);

Hogyan lehetne bele varázsolni egy napi szinten számlálót is?

Tehát így nézne ki végtermék:
Napi látogatók: 23
Látogatók összesen: 12000

0
0
darin57 képe

Adrienn

Szia Vikicica22!

Te tudod már a választ? Én sajnos még nem. Megtennéd, hogy kiírod ide, ha tudod a megoldást?
Köszönettel

0
0

Adrienn

vikicica22 képe

Szia! Sajnos nem tudom még a választ, de ez a számláló minden egyes oldalt beszámol, én úgy látom.

0
0
darin57 képe

Adrienn
Engem is nagyon érdekelne ennek a megoldása, csak még jobban kibővítve. Nekem társkereső oldalam van. Itt minden egyes regisztrált felhasználó kíváncsi rá, hogy hányszor nézték meg az adatlapját az aktuális napon is, és összesen is. Azt szeretném elérni, hogy minden egyes adatlaphoz legyen ilyen számláló. Hasonlóan, mint ahogy a beérkezett leveknél számolja és kiírja az új levelek számát, csak a látogatottságnál éjfélkor törlődne az aktuális napi és tovább számolna az összesítő.
Tud valaki segíteni a megoldásban?

0
0

Adrienn