Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 7 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 06.11.12
Prihlásený: 29.04.14
Príspevky: 22
Témy: 6
Príspevok NapísalOffline : 03.06.2013 21:45

Nazdar,

používam redakčný systém WordPress s hráčskou témou Valor (http://www.web2feel.com/valor/). Téma používa tieto pluginy: Meta Box, Options Framework a WP-PageNavi. Môj problém spočíva v tom, že hodnotenie hier sa dá robiť iba celými číslami. Ja by som chcel pridať do celkového hodnotenia aj necelé čísla, a to konkrétne 1.5, 2.5 atď až po 9.5, čím by sadali lepšie hodnotiť hry. Podstatné je, že po upravení súboru metabox.php (nižšie) mi bez problémov išli nastaviť hodnotenie aj s necelým číslom, ale práve tieto nanovo pridané čísla nemali zelený pásik, ktorý graficky doplňoval celé hodnotenie(viz. obrázok). Skúšal som v téme Valor nájsť, čo určuje, aký veľký je pásik, ale nič sa mi nepodarilo nájsť. V súbore single-review.php (dole) som si všimol, že stránka volá plugin Meta Box, aby mu poskytla nejaké údaje, takže som hľadal tam... lenže bezúspešne. Neviete náhodou, kde by som našiel nastavenia, ktoré určujú podľa hodnotenia dĺžku pásika? Bol by som vám veľmi vďační. Inak verte, keby som to vedel nájsť a vyriešiť sám, tak sa tu nepýtam, ale po 2 hodinách som nič nenašiel a ani neprišiel na nič nové :(.

WordPress téma Valor - neviem nájsť nastavenia Meta Boxu

V súbore metabox.php je nasledovný kód(pre lepšie pochopenie odporúčam pozrieť celý súbor):
Spoiler: zobraziť
Kód:
   
// 1st meta box
$meta_boxes[] = array(
   // Meta box id, UNIQUE per meta box
   'id' => 'review_info',

   // Meta box title - Will appear at the drag and drop handle bar
   'title' => 'Review details',

   // Post types, accept custom post types as well - DEFAULT is array('post'); (optional)
   'pages' => array( 'review' ),

   // Where the meta box appear: normal (default), advanced, side; optional
   'context' => 'normal',

   // Order of meta box: high (default), low; optional
   'priority' => 'high',

   // List of meta fields
   'fields' => array(
      // TEXT

...

   array(
         'name'      => 'Audio',
         'id'      => "{$prefix}audio",
         'type'      => 'select',
         // Array of 'key' => 'value' pairs for select box
         'options'   => array(
            '1'      => 'One',
            '2'      => 'Two',
            '3'      => 'Three',
            '4'      => 'Four',      
            '5'      => 'Five',
            '6'      => 'Six',      
            '7'      => 'Seven',
            '8'      => 'Eight',      
            '9'      => 'Nine',
            '10'   => 'Ten'
                        
         ),
         // Default value, can be string (single value) or array (for both single and multiple values)
         'std'      => array( '5' ),
         'desc'      => 'Set a score for audio'
      ),

array(
         'name'      => 'Overall',
         'id'      => "{$prefix}overall",
         'type'      => 'select',
         // Array of 'key' => 'value' pairs for select box
         'options'   => array(
            '1'      => 'Jeden',
            '1.5'      => 'Jeden a pól',
            '2'      => 'Dva',
            '2.5'      => 'Dva a pól',      
            '3'      => 'Tri',
            '3.5'      => 'Tri a pól',      
            '4'      => 'Štyri',
            '4.5'      => 'Štyri a pól',      
            '5'      => 'Päť',
            '5.5'           => 'Päť a pól',
            '6'      => 'Šesť',
            '6.5'      => 'Šesť a pól',
            '7'      => 'Sedem',
            '7.5'      => 'Sedem a pól',      
            '8'      => 'Osem',
            '8.5'      => 'Osem a pól',      
            '9'      => 'Deväť',
            '9.5'      => 'Deväť a pól',      
            '10'   => 'Desať'
                        
         ),
         // Default value, can be string (single value) or array (for both single and multiple values)
         'std'      => array( '5' ),
         'desc'      => 'Set an overall score'
      )      
      
   )
);


V súbore "single-review.php" je nasledovný kód:
Kód:
               <div class="ratebar clearfix"> <span class="ratehead">Celkovo</span> <span class="ratevalue"><?php echo get_post_meta($post->ID, 'WTF_overall', true) ?></span> <span class="rbar rate-<?php echo get_post_meta($post->ID, 'WTF_overall', true) ?> "></span></div>


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 13.11.07
Prihlásený: 20.08.16
Príspevky: 1702
Témy: 0
Príspevok NapísalOffline : 04.06.2013 19:02

Problém je, že tá hodnota sa priamo používa v css ako názov triedy. Ak by tam mali ostať desatinné miesta, tak by sa museli pridať potrebné triedy do css a muselo by sa urobiť to, aby sa tam nedávala aj desatinná bodka (napr. by sa to číslo vynásobilo 10). V takom prípade by tam ale tých css pravidiel mohlo byť dosť veľa.

Ďalšie riešenie by mohlo bať také, že by sa tam nepoužilo
Kód:
<span class="rbar rate-<?php echo get_post_meta($post->ID, 'WTF_overall', true) ?> "></span>
, ale by sa tam použilo niečo ako
Kód:
<span style="width: <?php echo get_post_meta($post->ID, 'WTF_overall', true)*50 ?>px;"></span>


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 06.11.12
Prihlásený: 29.04.14
Príspevky: 22
Témy: 6
Príspevok Napísal autor témyOffline : 04.06.2013 20:52

Aha, našiel som to tam. Tak uvažoval som nad tým, že by sa to dalo urobiť takto - v metabox.php by som nastavil hodnoty 10x väčšie a v style.css by som nastavil tu:
Kód:
span.ratevalue {
    display: block;
    width: 40px;
    background: #000;
    color: #fff;
    text-transform: uppercase;
    font-weight: 700;
    line-height: 30px;
    text-align: center;
    float: left;
    font-size: 18px;


nastavil tak, aby bralo hodnotu napríklad 95 a vracalo 9.5. Myslíš, že by sa to dalo reálne spraviť? Lebo toto by bolo možno najlepšie riešenie.


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 13.11.07
Prihlásený: 20.08.16
Príspevky: 1702
Témy: 0
Príspevok NapísalOffline : 04.06.2013 22:26

Podľa mňa je lepšie to riešenie so style="width: ?px" (pretože ak by to malo byť po pol bode, tak by sa do css muselo pridať ďalších 10 pravidiel).


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 06.11.12
Prihlásený: 29.04.14
Príspevky: 22
Témy: 6
Príspevok Napísal autor témyOffline : 05.06.2013 16:32

No tak skúšal som to style="width: ?px", ale nejde to a viem aj prečo - tento kód obchádza css, v ktorom je presne zadané, ako ten zelený pásik bude vyzerať. Tvoj kód ale nedefinuje, čo robiť zo získanou hodnotou. Ono pridávať do css ďalšiu hordu pravidiel by nebol taký problém, prakticky to stačí skopírovať a zmeniť príslušné hodnoty. Napadlo ma, že pôvodná hodnota by teda bola tak, ako som vravel, nie 9.5 ale 95 a v tejto pasáži kódu
Kód:
<span class="ratevalue"><?php echo get_post_meta($post->ID, 'WTF_overall', true) ?></span>

by sa dalo definovať, že hodnotu 95 vydelí 10 a tak dostane číslo 9.5, kód by mohol vyzerať nejak takto:
Kód:
<span class="ratevalue"><?php echo get_post_meta($post->ID, 'WTF_overall', true)/10 ?></span>

Tento kód som vyskúšal a funguje presne tak, ako by som chcel. Viem síce, že bude treba vytvoriť veľký počet css pravidiel a že pre dobrého programátora je dôležité mať čo najkratší kód, ale toto ide a nebude problém to upraviť aj na iných častiach webu, kde sa tiež zobrazuje počet bodov pre hru.

Čo si o tom myslíš? Inak veľmi pekne ďakujem za pomoc, bez teba by som asi ani nevedel, kde hľadať riešenie, priznám sa, style.css bolo zo posledné miesto, kde by som hľadal :). Tak čo už, nejako predsa treba začať a človek múdry z neba nespadne :).


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 13.11.07
Prihlásený: 20.08.16
Príspevky: 1702
Témy: 0
Príspevok NapísalOffline : 06.06.2013 13:23

Pri tom riešení s width som odstránil aj class="rbar" (takže sa nepoužije správny štýl). Štýly rate-0 až rate-10 obsahujú len to width, takže presun priamo do style atribútu nie je problém.

Ak ti ale nevadí, že bude viac pravidiel a nikdy nebudeš potrebovať jemnejšie delenie tých bodov, tak sa dá použiť aj to tvoje riešenie. Pokiaľ ide o množstvo úprav, tak je to viac menej rovnaké, keďže sa to aj tak bude musieť upraviť úplne všade (a je otázne, prečo nepoužili nejakú funkciu, ktorá by to tam pridávala a teda by sa ten kód nemusel upravovať na tak veľa miestach).


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 06.11.12
Prihlásený: 29.04.14
Príspevky: 22
Témy: 6
Príspevok Napísal autor témyOffline : 06.06.2013 14:45

Tak to už je vecou autora, ako si to spraví, možno z jeho pohľadu sa mu to zdalo ako najlepšie riešenie. A možno nepredpokladal, že to niekto bude chcieť takto upraviť. No to je jedno, hlavne že sa našlo riešenie :). Ešte raz ďakujem :)


Odpovedať na tému [ Príspevkov: 7 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. WordPress téma Valor - problém so zobrazovaním videa

v Redakčné systémy

2

530

03.05.2013 15:41

MatusMak Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Wordpress téma

v Redakčné systémy

1

794

25.05.2009 18:17

enorm Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Wordpress téma explicit

v Webdesign

2

589

26.05.2014 12:54

don jebot Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. tema na xp...prosim pomozte najst..

v Operačné systémy Microsoft

3

488

26.01.2009 21:02

shark777 Zobrazenie posledných príspevkov

Táto téma je zamknutá, nemôžete posielať nové príspevky alebo odpovedať na staršie. Wordpress tema Twenty Twelve

v HTML, XHTML, XML, CSS

9

380

11.05.2014 1:16

shaggy Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Wordpress tema preklad uprava atd

v Redakčné systémy

5

856

05.05.2016 17:10

Lessik Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. AVADA-wordpress-tema-prisposobovanie rozlisenia

v HTML, XHTML, XML, CSS

10

448

15.07.2014 14:28

Beatdownhaus Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. blog exot.boo.sk - pekna wordpress tema

[ Choď na stránku:Choď na stránku: 1, 2 ]

v Webdesign

31

2389

18.09.2008 13:46

stenley Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. neviem najst bios

v Biosy a ladenie výkonu

8

1547

20.04.2006 20:03

koralovec Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Neviem najst ovladac

v Ovládače

23

2148

07.03.2011 20:18

brmbo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Neviem nájsť chybu

[ Choď na stránku:Choď na stránku: 1, 2 ]

v Ostatné

33

1231

09.09.2016 9:58

FERDA23 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Neviem najst chybu...

v Assembler, C, C++, Pascal, Java

2

422

16.11.2010 11:18

Reiki Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Neviem najst Parse error

v PHP, ASP

24

761

15.09.2007 19:13

Blackshadow Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. neviem najst Application Data

v Operačné systémy Microsoft

7

1222

20.07.2007 18:50

Devil_SK Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. neviem najst ovladac na mb

v Ovládače

18

623

02.02.2013 11:23

brmbo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. neviem najst manual k svojej doske

v Intel čipové sady

2

670

12.05.2008 16:52

petos Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra