Widget igazítás; változó háttér.

Szerző
Üzenet
MordinS.
Regisztrált tag
Regisztrált tag


Csatlakozott: 2015.07.06. Hétfő 16:30
Hozzászólások: 1
Hozzászólás Elküldve: 2015.07.06. 16:44    Hozzászólás témája: Widget igazítás; változó háttér.
Hozzászólás az előzmény idézésével
Bevallom, csak az ötödik oldalig néztem át - nem találtam választ a kérdésemre.
Egy forumotionos fórumom van. S lenne egy-két problémám.

Az egyik az, hogy megszeretném oldani, hogy az egyik widget felkerüljön a felső sarokba.
Kép

A másik meg az, hogy változzon a háttér alkalmanként. Pl 5-10 háttér lenne beállítva, és ha lapot vált az
ember, akkor véletlen szerűen másik kerüljön be. Ezt hogy lehet megoldani?

Ha kell az oldal stíluslapján lévő CSS kódot elküldöm; de túl hosszú, hogy ide betegyem.

Felhasználó profiljának megtekintése Privát üzenet küldése
Ragadozo
Gyakorlott phpBB-s
Gyakorlott phpBB-s
Avatar

Csatlakozott: 2008.05.08. Csütörtök 18:26
Hozzászólások: 638
Hozzászólás Elküldve: 2015.07.07. 08:02    Hozzászólás témája:
Hozzászólás az előzmény idézésével
Szia! :)

1.
Jó lenne látni az egész oldalt egyben, mert nekem az az érzésem, hogy ez a kinézet 1024-es monitorra készült.
És így a widgetet felhelyezni fórumon kívül nem egyszerű dolog, mivel nem használunk egyforma pixel méretű monitorokat. Az eltérő méretek miatt igen nehéz pozicionálni, hogy mindenkinél jól nézzen ki.

2.
Az 5 - 10 kép rendben lenne, de ha lapváltáshoz szeretnéd kötni, figyelembe kell venni azt is, hogy valószínű nem egyedül vagy az oldalon. A háttér képek pedig méretük miatt nem pár KB-osak, hanem akár 1 - 2 MB-os is lehet.
Nem beszélve arról, hogy így mindenkinek külön kell vezérelni a háttérkép változást.
Nálad egy lekérdezés, egy letöltés, és új háttérkép van.
De mi van, ha mondjuk 100-an vannak az oldalon, és legalább a fele éppen lapozgat?
Nem beszélve arról, hogy amikor az ember felmegy egy fórumba, néha eléggé sokat szokott lapozgatni. Ennek a következtében eléggé hamar "lezongorázza" az összes képet, így az újdonság élménye elveszti a varázsát.

Sokkal egyszerűbb lenne (szerintem), ha mondjuk 10 percenként, fél óránként, óránként, vagy akár naponként változna a háttérkép, és mindenkinek ugyanaz jelenne meg.
És feltehetsz akár 20 - 50 - vagy 100 képet, így eleinte mindig újnak fog tűnni.
Ha meg sorszámozott fájlneveket használsz a képekhez, még a programhoz sem kell nyúlni, csak egyszerűen lecseréled az egyik (vagy több) képet, és ugyanazt a fájlnevet adod neki, mint ami az előzőnek volt. A program meg fut tovább, közbe új képek jelennek meg.
:)

Felhasználó profiljának megtekintése Privát üzenet küldése Email küldése Felhasználó weblapjának megtekintése
Ragadozo
Gyakorlott phpBB-s
Gyakorlott phpBB-s
Avatar

Csatlakozott: 2008.05.08. Csütörtök 18:26
Hozzászólások: 638
Hozzászólás Elküldve: 2015.07.07. 20:47    Hozzászólás témája:
Hozzászólás az előzmény idézésével
Változó háttérkép

Leírom ide, hátha valaki mást is érdekel.
Sok lehetőség, és variációs megoldás van erre, én a következőt oldottam meg az oldalamon:

Lépésenként:
  1. Először is kell 10 db. háttérkép.
      A képek kiválasztásánál érdemes figyelembe venni, hogy a kép mérete legalább 1920x1080 pixel, vagy annál valamivel nagyobb legyen.
      Ekkora méretnél ajánlott a *.jpg kiterjesztésű képeket használni.

  2. A képeket először nevezzük át hatterkep_00.jpg, hatterkep_01.jpg, .... hatterkep_09.jpg névre (ékezetet nem használjuk!), majd töltsük fel abban a kinézetben a theme/images mappába, amelyikbe szeretnénk használni.

  3. Készítsünk egy adatbázis táblát a képeknek.
      Ehhez lépjünk fel az oldalunk phpMyAdmin felületére, jelöljük ki az adatbázisunkat, majd klikkeljünk felül az SQL menüpontra.
      A megjelenő ablakba másoljuk be pontosan az alábbi kódot
      (Figyelem, aki nem phpbb_ perfixet használ, az ne felejtse átírni a megfelelőre!)

      Kód:

      CREATE TABLE IF NOT EXISTS `phpbb_hatter_kep` (
        `kep_id` int(4) unsigned NOT NULL AUTO_INCREMENT,
        `kep_kod` int(4) unsigned NOT NULL DEFAULT '0',
        `kep_most` int(4) unsigned NOT NULL DEFAULT '0', 
        `kep_time` int(11) unsigned NOT NULL DEFAULT '0',
        `kep_neve` varchar(32) NOT NULL DEFAULT '',
        PRIMARY KEY (`kep_id`)
      ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=0 ;
      Ezzel létre is hoztunk egy üres adatbázis táblát.
        .
    • Töltsük fel a szükséges adatokkal. Ehhez klikkeljünk újra a SQL menüpontra, és a megjelenő ablakba másoljuk be:
      (Figyelem, aki nem phpbb_ perfixet használ, az ne felejtse átírni a megfelelőre!)

      Kód:

      INSERT INTO `phpbb_hatter_kep` (`kep_kod`, `kep_most`, `kep_time`, `kep_neve`) VALUES
      (0, 0, 1424686620, 'hatterkep_00.jpg'),
      (1, 0, 0, 'hatterkep_01.jpg'),
      (2, 0, 0, 'hatterkep_02.jpg'),
      (3, 0, 0, 'hatterkep_03.jpg'),
      (4, 0, 0, 'hatterkep_04.jpg'),
      (5, 0, 0, 'hatterkep_05.jpg'),
      (6, 0, 0, 'hatterkep_06.jpg'),
      (7, 0, 0, 'hatterkep_07.jpg'),
      (8, 0, 0, 'hatterkep_08.jpg'),
      (9, 0, 0, 'hatterkep_09.jpg');

      Ha nem írt ki semmi hibát, készen is vagyunk az adatbázissal, kiléphetünk, bezárhatjuk.

  4. Töltsük le FTP-n a fórum include mappájából a constans.php fájlt, és nyissuk meg.
    Keresd ezt:

    Kód:

    // Additional tables

    Utána új sorba másold be:

    Kód:

    define('HATTER_KEP_TABLE',            $table_prefix . 'hatter_kep');

    Mentsed el, zárd be, és töltsed vissza a helyére, felül írva az ott lévőt.

  5. Töltsük le FTP-n a fórum include mappájából a functions.php fájlt, és nyissuk meg.
    Keresd ezt:

    Kód:

       // The following assigns all _common_ variables that may be used at any point in a template.

    Eléje új sorba másold be:

    Kód:

       $uj_time = time();
       $old_time = 0;
       $uj_kep = 0;
       
             $sql = 'SELECT * FROM ' . HATTER_KEP_TABLE . ' WHERE kep_kod = 0';
                $result = $db->sql_query($sql);
                $kep_data = $db->sql_fetchrow($result);
                $db->sql_freeresult($result);
       
       $old_time = $uj_time - $kep_data['kep_time'];
       $uj_kep = $kep_data['kep_most'];
       
       
          if ($old_time > 3600)
          {
             $uj_kep = $kep_data['kep_most'] + 1;
                if ($uj_kep > 9)
                {   
                   $uj_kep = 0;
                }
                   $hatkep_sql = array(
                      'kep_kod'   => 0,
                      'kep_most'   => $uj_kep,
                      'kep_time'   => $uj_time,
                   );
             
                   $sql = 'UPDATE ' . HATTER_KEP_TABLE . '
                      SET ' . $db->sql_build_array('UPDATE', $hatkep_sql) . "
                      WHERE kep_kod = 0";
                      $db->sql_query($sql);            
          }
       
             $sql = 'SELECT * FROM ' . HATTER_KEP_TABLE . ' WHERE kep_kod =' . $uj_kep;
                $result = $db->sql_query($sql);
                $ujkep_data = $db->sql_fetchrow($result);
                $db->sql_freeresult($result);
                
                $kep_nev = $ujkep_data['kep_neve'];

    Keresd ezt:

    Kód:

          'PRIVATE_MESSAGE_INFO_UNREAD'   => $l_privmsgs_text_unread,

    Utána új sorba másold be:

    Kód:

          'HATT_KEP'                  => $kep_nev,

    Mentsed el, zárd be, és töltsed fel a helyére, felül írva az ott lévőt.

  6. Töltsük le FTP-n a használni kívánt kinézet template mappájából az overall_header.html fájlt, és nyissuk meg.
    Keresd ezt:

    Kód:

    </head>

    Eléje új sorba másold be:

    Kód:

    <style>
    html, body {
       background-image: url("{T_THEME_PATH}/images/{HATT_KEP}");
       background-repeat: repeat;
       background-attachment: fixed;   
    }
    </style>

    Mentsed el, zárd be, és töltsed fel a helyére, felül írva az ott lévőt.

  7. Lépjünk be az oldalunkon az Adminisztrátori vezérlőpultra, majd a Megjelenések fülön bal oldalt klikkeljünk a Képkészletek opcióra.
    Ezután középen a megfelelő kinézetnél klikkeljünk az Újratöltés opcióra, majd az Igen gombbal jóváhagyjuk.

  8. Ezután az Általános fülön középen a Gyorsítótár kiürítése opciónál klikkeljünk a Futtatás most gombra.

  9. Lépjünk vissza a fórum kezdőlapjára, és ha mindent jól csináltunk, az első háttérkép már be is van töltődve.


Pár szót a beállításokról:
Az itt látható programocska 10 képet tud kezelni, nem kevesebbet, és nem többet.
Ha a számon módosítani szeretnénk, akkor a második kódrészletben ( INSERT INTO ... ) ennek megfelelően kell csökkenteni, vagy növelni a képek számát.
5 db. képnél kevesebbet nem érdemes használni, viszont a képek száma felfelé elvileg végtelen.
Egy dologra oda kell figyelni!
Annál a kódrészletnél minden sor végén "," (vessző) van, kivéve az utolsó sort, amit ";" (pontosvesszővel) kell zárni. Erre figyelni kell, mert az adatbázis hibát fog dobni, és nem csinálja meg a sorok feltöltését!
A képek számának megváltoztatása esetén a functions.php fáj szerkesztésénél értelemszerűen kell megadni a következő sort:

Kód:

            if ($uj_kep > 9)
Itt figyeljünk oda, hogy nem "1"-el, hanem "0"-val kezdődik a számozás!
Tehát például 5 kép esetén a 9 helyére 4-et kell írni, 20 kép esetén meg 19-et, stb, stb.

A háttérképeket könnyen cserélhetjük, csak letöröljük, amelyik már nem kell, és helyette ugyanazon a néven feltöltünk egy másik képet.

Beállíthatjuk azt is, hogy mennyi időnként változzon a háttérkép.
Szintén a functions.php fáj szerkesztésénél keressük ezt a sort:

Kód:

      if ($old_time > 3600)

A 3600 = 1 órával. Értelem szerűen csökkenthetjük, vagy emelhetjük a mértéket.
Ajánlott beállítás 600 (10 perc) - 86400 (24 óra - egy nap) között.
Erre nem írtam külön kapcsolási lehetőséget az AVP-be, mert szerintem nem szükségszerű változtatni. Az elején még lehet, hogy kell néha, amíg ki nem derül, hogy melyik beállítás a legjobb, de az egyszerű letöltéssel, szerkesztéssel, visszatöltéssel megoldható.
.

Felhasználó profiljának megtekintése Privát üzenet küldése Email küldése Felhasználó weblapjának megtekintése
_zso2
Gyakorlott phpBB-s
Gyakorlott phpBB-s
Avatar

Csatlakozott: 2006.07.25. Kedd 1:00
Hozzászólások: 2029
Hozzászólás Elküldve: 2015.07.09. 08:01    Hozzászólás témája:
Hozzászólás az előzmény idézésével

Ragadozo írta:

Változó háttérkép

Leírom ide, hátha valaki mást is érdekel.
WHOOOAAAA...
Ágyúval verébre? :D Nagyon elegáns megoldás, de én biztos úgy csináltam volna, hogy cron-ba beteszek egy minden 6 percben lefutó parancsot, ami felülírja a megjelenés könyvtárában a háttérképfile-t :D
_________________
Tapasztalást pénzért venni vagy hagyományképpen kapni nem lehet - fizetni kell azért mindég és mindegyiknek.

Felhasználó profiljának megtekintése Privát üzenet küldése Felhasználó weblapjának megtekintése
Marcee
Adminisztrátor
Adminisztrátor
Avatar

Csatlakozott: 2006.01.17. Kedd 1:00
Hozzászólások: 2921
Hozzászólás Elküldve: 2015.07.09. 17:39    Hozzászólás témája:
Hozzászólás az előzmény idézésével
A forumotion.com egy ingyenes fórumszolgáltató. Elérhetőek ott olyan dolgok, mint a phpMyAdmin, FTP vagy cron? Ezek nélkül nem biztos, hogy módosítható a fórum.
Viszont találtam egy ilyet, nem tudom, mennyire segít: Have any HTML Widget on Navigation Bar

Felhasználó profiljának megtekintése Privát üzenet küldése
Ragadozo
Gyakorlott phpBB-s
Gyakorlott phpBB-s
Avatar

Csatlakozott: 2008.05.08. Csütörtök 18:26
Hozzászólások: 638
Hozzászólás Elküldve: 2015.07.09. 18:23    Hozzászólás témája:
Hozzászólás az előzmény idézésével
Szerintem nem érhető el nagyjából semmi.
Van egy csökkentett módban üzemelő Adminisztrációs panel, ahol pár alapvető beállítást lehet eszközölni, de sem a fájlrendszer, sem az adatbázis nem érhető el. :)

Felhasználó profiljának megtekintése Privát üzenet küldése Email küldése Felhasználó weblapjának megtekintése
Hozzászólások megtekintése:  

Nem készíthetsz új témákat ebben a fórumban.
Nem válaszolhatsz egy témára ebben a fórumban.
Nem módosíthatod a hozzászólásaidat a fórumban.
Nem törölheted a hozzászólásaidat a fórumban.
Nem szavazhatsz ebben fórumban.

Hirdetés
Hirdetés