[ 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 | 6

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: 1719
Témy: 0 | 0

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 | 6

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: 1719
Témy: 0 | 0

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 | 6

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: 1719
Témy: 0 | 0

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 | 6

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 :)


 [ Príspevkov: 7 ] 


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



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

183

03.05.2013 15:41

MatusMak

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

Wordpress téma

v Redakčné systémy

1

535

25.05.2009 18:17

enorm

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

Wordpress téma explicit

v Webdesign

2

188

26.05.2014 12:54

don jebot

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

317

26.01.2009 21:02

shark777

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

158

11.05.2014 1:16

shaggy

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

Wordpress tema preklad uprava atd

v Redakčné systémy

5

306

05.05.2016 17:10

Lessik

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

AVADA-wordpress-tema-prisposobovanie rozlisenia

v HTML, XHTML, XML, CSS

10

171

15.07.2014 14:28

Beatdownhaus

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

1951

18.09.2008 13:46

stenley

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

Neviem najst chybu...

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

2

251

16.11.2010 11:18

Reiki

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

neviem najst bios

v Biosy a ladenie výkonu

8

1261

20.04.2006 20:03

koralovec

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

558

09.09.2016 9:58

FERDA23

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

Neviem najst ovladac

v Ovládače

23

1628

07.03.2011 20:18

brmbo

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

neviem najst Application Data

v Operačné systémy Microsoft

7

1019

20.07.2007 18:50

Devil_SK

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

Neviem najst Parse error

v PHP, ASP

24

560

15.09.2007 19:13

Blackshadow

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

neviem najst ovladac na mb

v Ovládače

18

187

02.02.2013 11:23

brmbo

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

Neviem najst graficku kartu na NB

v nVidia grafické karty

6

132

08.05.2016 18:06

tairikuokami



© 2005 - 2017 PCforum, edited by JanoF