| | |
Autor | Správa |
---|
Registrovaný: 17.07.08 Prihlásený: 08.12.19 Príspevky: 68 Témy: 12 |
Zdravím robil som menu cez php include. Stránka Kód: funny102.php5.sk Hnevá ma tam pár veci k dokonalosti. Jednou z nich je ze keď preklikávam v menu napr (na dopravné stavby) stále svieti v menu len Home resp Úvodná stranka. Chcel by som sa spýtať ako mám spraviť aby svietilo to čo je práve kliknuté.
|
|
| Napísal Lessik: 07.05.2014 21:41 | |
|
take nieco som nasiel v tvojom css Kód: #nav .important a { color: #E9C379; } v php sa nevyznam ale skusim, nestacilo by ten class pridat k jednotlivym <li> something </li> ? ved nieco podobne uz mas nakodene pri tej "uvodni stranke"
|
|
Registrovaný: 17.07.11 Prihlásený: 29.12.20 Príspevky: 1516 Témy: 3 | Napísal BX: 07.05.2014 21:57 | |
|
funny102 píše: Chcel by som sa spýtať ako mám spraviť aby svietilo to čo je práve kliknuté. Napríklad tak, že toto odstrániš Kód: #nav a:hover { text-decoration: underline; } a miesto toho napíšeš toto Kód: #nav li:hover { text-decoration: underline; background: 188px 10px url(images/arr_orange.gif) no-repeat; } #nav li a:hover { color: #E9C379; } funny102 píše: v php sa nevyznam ale skusim Veruže v php sa nevyznáš
_________________ Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám! |
|
Registrovaný: 17.07.08 Prihlásený: 08.12.19 Príspevky: 68 Témy: 12 | Napísal autor témy funny102: 07.05.2014 22:13 | |
|
vyskúšal som vzniklo mi Kód: #nav { background: url(../images/nav_left.jpg) no-repeat; } #nav ul { margin-left: 9px; padding-left: 1px; padding-bottom: 29px; background: #2A2A2A bottom left url(images/nav_bot.jpg) no-repeat; } #nav li { list-style: none; font: 14px "arial narrow", arial, sans-serif; border-top: 1px solid #959595; background: 188px 10px url(../images/arr_white.gif) no-repeat; padding: 7px 0 0 31px; } #nav a { color: #fff; text-decoration: none; border-left: 1px solid #959595; padding-left: 10px; display: block; width: 90%; padding: 2px 0 6px 8px; } #nav li:hover { text-decoration: underline; background: 188px 10px url(../images/arr_orange.gif) no-repeat; } #nav li a:hover { color: #E9C379; } #nav .important { border: none; background: 188px 10px url(../images/arr_orange.gif) no-repeat; } #nav .important a { color: #E9C379; } a stránka Kód: funny102.php5.sk/asd
|
|
Registrovaný: 17.07.11 Prihlásený: 29.12.20 Príspevky: 1516 Témy: 3 | Napísal BX: 07.05.2014 22:56 | |
|
Jáj ty chceš aby bola označená položka, kde práve si? Ja že chceš tú zmenu po prejdení myšou, zle som to prečítal... No to v css samozrejme nespravíš. Takže to urobiš jednoducho tak, že pri generovaní stránky v php si vždy odkontroluješ premennú $_GET["page"] a podľa toho vypíšeš/nevypíšeš odkazu class="important", tak ako píše Lessik (sorry Lessik, myslel som, že si si pomylil php a css )
_________________ Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám! |
|
| Napísal Lessik: 07.05.2014 23:37 | |
|
uff, uz som si myslel, ze som sa naozaj nic za tych par mesiacov nenaucil..
|
|
Registrovaný: 17.07.08 Prihlásený: 08.12.19 Príspevky: 68 Témy: 12 | Napísal autor témy funny102: 08.05.2014 8:13 | |
|
Tak skúsil som to ako lessik <li class="important a"><a href="index.php?page=home&lang=<?php echo $lang; ?>"><?php echo $locale['1']; ?></a></li> <li class="important a"><a href="index.php?page=pozemnistavby&lang=<?php echo $lang; ?>"><?php echo $locale['2']; ?></a></li> <li class="important a"><a href="index.php?page=dopravnistavby&lang=<?php echo $lang; ?>"><?php echo $locale['3']; ?></a></li> <li class="important a"><a href="index.php?page=reference&lang=<?php echo $lang; ?>"> <?php echo $locale['4']; ?></a></li>
no teraz by mali ale svietiť všetky a aj svietia, no v tom php neviem ako to mám spravit. Stránku mám uloženu v $page = $_GET["page"]; takže uloženu ju mám no ako podla toho vypísat čo sa má spravit?
|
|
Registrovaný: 17.07.11 Prihlásený: 29.12.20 Príspevky: 1516 Témy: 3 | Napísal BX: 08.05.2014 9:59 | |
|
No ale ty sa musíš na základe tej $_GET["page"] rozhodnúť, či to important tam bude, alebo nie. Takže niečo ako Kód: <?php $THIS_PAGE = "uvod"; $isThisPage = ($_GET["page"] == $THIS_PAGE); ?> <li class="<?= ($thisPage?"important":"") ?> a"> <a href... <li class="<?= ($thisPage?"important":"") ?> a"> <a href...
Samozrejme dá sa to aj krajšie, ide hlavne o to, aby nemusel byť na každej stránke zvlášť kód, takže si na každej stránke zadefinuješ niekde hore $THIS_PAGE (alebo podobný identifikátor) a vďaka nemu sa potom vieš rozhodovať, kde si. (A všimni si aj to <?= ?>, nahradzuje to <?php echo ?>, ale musíš mať na to dostatočnú verziu php, alebo povolené short tags. Hodí sa to pri výpisoch)
_________________ Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám! |
|
Registrovaný: 17.07.08 Prihlásený: 08.12.19 Príspevky: 68 Témy: 12 | Napísal autor témy funny102: 08.05.2014 10:55 | |
|
Dobré ránko. Myslím že to asi nebude také jednoduhé Kód: <?php $THIS_PAGE = "home"; $isThisPage = ($_GET["page"] == $THIS_PAGE); ?> <ul> <li class="<?= ($ThisPage?"important":"") ?> a"><a href="index.php?page=home&lang=<?php echo $lang; ?>"><?php echo $locale['1']; ?></a></li> <li class="<?= ($ThisPage?"important":"") ?> a"><a href="index.php?page=pozemnistavby&lang=<?php echo $lang; ?>"><?php echo $locale['2']; ?></a></li> <li class="<?= ($ThisPage?"important":"") ?> a"><a href="index.php?page=dopravnistavby&lang=<?php echo $lang; ?>"><?php echo $locale['3']; ?></a></li> <li class="<?= ($ThisPage?"important":"") ?> a"><a href="index.php?page=reference&lang=<?php echo $lang; ?>"> <?php echo $locale['4']; ?></a></li> <li class="<?= ($ThisPage?"important":"") ?> a"><a href="index.php?page=kontakt&lang=<?php echo $lang; ?>"><?php echo $locale['5']; ?></a></li> </ul> Mám to takto ako si to písal (zmenil som len uvod na home) ďalej som skúšal zmeniť v menu ($ThisPage?"important":"") za ($isThisPage?"important":"") a iba keď som tukol na home tak mi zmenilo farbu ale vo všetkých navigaciach. Ked to mám takto ako to je vyššie tak mi nezmení nič a menu je stále také iste vid funny102.php5.sk/asd/ po prípade funny102.php.sk/asd2/ kde je isThispage v menu
|
|
Registrovaný: 17.07.11 Prihlásený: 29.12.20 Príspevky: 1516 Témy: 3 | Napísal BX: 08.05.2014 11:42 | |
|
Tam malo byť samozrejme $isThisPage, $thisPage predsa nikde nie je nastavené a mohol by si aj ty trochu porozmýšľať, zamyslieť sa nad tým, prečo to tak je a čo to robí a prišiel by si na to. Aj na to, prečo som to napísal zle a aj na to, prečo ti to označí len pri home. Ty ten obsah asi len inkluduješ ako text, tak ešte raz ti napíšem POINTU (nevravím, že je to dobré riešenie, mal by si vymyslieť také, ktoré sa ti hodí a je najjednoduchšie) Takže pointa: Kód: $page = $_GET["page"]; if( $page == "home" ) generuj menu pre home if( $page == "kontakt" ) generuj menu pre kontakt
Proste pre každú svoju stránku zaistíš vygenerovanie iného menu (important na inom mieste) To už je úplne jedno, ako to dosiahneš. Najjednoduchšie je, ako vidíš, podmienkovať to pre každú stránku (ktorú identifikuješ cez GET parameter). Schválne ti to tu nechcem napísať celé, pretože kto vie, ako máš napísaný web a čo by sa ti tam hodilo. A radšej to pochop a urob si to sám, ako uznáš za vhodné.
_________________ Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám! |
|
Registrovaný: 17.07.08 Prihlásený: 08.12.19 Príspevky: 68 Témy: 12 | Napísal autor témy funny102: 08.05.2014 14:11 | |
|
Kód: <?php $page = $_GET["page"]; $THIS_PAGE = "home"; $isThisPage = ($_GET["page"] == $THIS_PAGE);
if( $page == "home" ) { } if( $page == "pozemnistavby" ) { }
if( $page == "dopravnisravby" ) { } if( $page == "reference" ) { } if( $page == "kontakt" ) { } ?> Zatial to mám tatkto ešte tam musím dat podmienku že ? ale ako ju ?
|
|
Registrovaný: 17.07.11 Prihlásený: 29.12.20 Príspevky: 1516 Témy: 3 | Napísal BX: 08.05.2014 14:19 | |
|
funny102 píše: A prečo si to napísal zle to isto neviem. Pretože som sa pomýlil... Na THIS_PAGE kašli, to v tvojom prípade nepôjde. Sústreď sa na ten môj predchádzajúci príklad Môžeš to teda spraviť napríklad takto, aha Kód: <?php $page = $_GET["page"]; ?> <li class="<?= ($page=="home"?"important":"") ?> a"> <li class="<?= ($page=="pozemnistavby"?"important":"") ?> a"> <li class="<?= ($page=="dopravnistavby"?"important":"") ?> a"> atd...
_________________ Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám! |
|
Registrovaný: 17.07.08 Prihlásený: 08.12.19 Príspevky: 68 Témy: 12 | Napísal autor témy funny102: 08.05.2014 15:11 | |
|
Dakujem už mi to ide no ešte som opravil tu lištu aj rolovanie ešte pozadie doladím vo photoshope. Dalej ak možem tu nejdem zakladať nové vlakno. Chcel by som zmenit url index.php?page=dopravnistavby&lang=cz na /dopravní stavby/ po prípade na /Transport Construction/cez mod_rewrite len mám pár otázok. Dalo by sa to spraviť tak že keď zmením lang=cz na lang=en bude sa menit aj url?
|
|
Registrovaný: 08.08.09 Príspevky: 12449 Témy: 39 | Napísal killer: 08.05.2014 15:17 | |
|
URL vygeneruješ na strane servera (ktorý pozná hodnotu parametra $lang), ako si spravíš réžiu je len na tebe - pozor však na duplicitný obsah - môže viac uškodiť ako pomôcť. Diakritike a všetkým neštandardným znakom sa v adresách radšej vyhni (vrátane medzier a verzálok).
_________________ always is always wrong |
|
Registrovaný: 17.07.08 Prihlásený: 08.12.19 Príspevky: 68 Témy: 12 | Napísal autor témy funny102: 08.05.2014 15:35 | |
|
ešte sa v tom nevyznám (čítam zatial len návody) ale mám iba 5 stránok nebolo by lepšie ich rovno len definovať? ako napr že index.php?page=home&lang=en bude /home/ index.php?page=home&lang=cz /uvodní_stránka/ resp(/uvodni_stranka/) a napíšem rovno tých 5 stránok ručne ? resp 10 kedže mám dva jazyky?
|
|
Registrovaný: 17.07.11 Prihlásený: 29.12.20 Príspevky: 1516 Témy: 3 | Napísal BX: 08.05.2014 16:04 | |
|
To samozrejme môžeš, prečo by nie. Pri 10ich stránkach to je ešte v pohode. Horšie to bude, až budeš mať web, ktorý generuje obsah dynamicky a má desiatky až stovky rôznych uri.
_________________ Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám! |
|
Registrovaný: 17.07.08 Prihlásený: 08.12.19 Príspevky: 68 Témy: 12 | Napísal autor témy funny102: 08.05.2014 17:35 | |
|
Snažil som sa no zatiaľ zbytočne viem že je toho veľa napísaného aj veľa manuálov no nedarí sa mi to. Jedine čo by som chcel akýmkoľvek spôsobom aby sa zmenila zobrazená adresa index.php?page=home&lang=cz na /uvodnistrankaa zárovnej aj keď prídem na adresu index.php?page=home&lang=cz href odkazom (z menu) aby ju presmerovalo na /uvodnistranka Otázka prvá dá sa to? otázka druhá ako? Ja som si zatial spravil pár veci kde som to skúšal no nič moc. Mám vytvorené už http://funny102.php5.sk/reference.php ktorá berie udaje z /index.php?page=reference&lang=cz (tak viem vytvorit všetky) No problém mám v tom ze ked kliknem v menu kde mám href typu ( <a href="index.php?page=reference&lang=<?php echo $lang; ?>"><?php echo $locale['1']; ?></a></li>) tak ma presmeruje na tu adresu. Dá sa spravit aby ma presmerovalo na /reference/ (bez toho aby som menil href v indexe) .httacess mám takyto Kód: RewriteEngine On RewriteRule ^uvodnistranka\.php$ /index.php?page=home&lang=cz [L] RewriteRule ^pozemnistavby\.php$ /index.php?page=pozemnistavby&lang=cz [L] RewriteRule ^dopravnistavby\.php$ /index.php?page=dopravnistavby&lang=cz [L] RewriteRule ^reference\.php$ /index.php?page=reference&lang=cz [L] RewriteRule ^reference\.php$ /index.php?page=kontakt&lang=cz [L]
|
|
Registrovaný: 17.07.11 Prihlásený: 29.12.20 Príspevky: 1516 Témy: 3 | Napísal BX: 08.05.2014 17:41 | |
|
funny102 píše: Otázka prvá dá sa to? otázka druhá ako? Neviem či sa toto dá (myslím si, že skôr nie), ale je to maximálne zbytočné. Nikto okrem teba ten dlhý tvar uri nepozná a nikde ani nie je vidieť (v <a href by si mal používať len tie "pekné" tvary) Proste človek sa o týchto odkazoch nemá ako dozvedieť (iba ak by skúšal, či sa mu náhodou podarí) Preto nevidím dôvod meniť takú "škaredú" uri na "peknú". Veď v tom systéme existujú len a len tie pekné a žiadne iné.
_________________ Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám! |
|
Registrovaný: 17.07.08 Prihlásený: 08.12.19 Príspevky: 68 Témy: 12 | Napísal autor témy funny102: 08.05.2014 17:42 | |
|
tak sa na to vykašlem a mám pokoj A pre lepšie indexovanie v googli by to nemalo lepší význam?
|
|
Registrovaný: 17.07.11 Prihlásený: 29.12.20 Príspevky: 1516 Témy: 3 | Napísal BX: 08.05.2014 17:50 | |
|
Vyhľadávačom pomôžu práve ti pekné adresy. Ako vravím, tie "škaredé" adresy by nemali vôbec existovať. Treba ich raz predefinovať v htaccess a už nikdy na ne nepristupovať (v tom "škaredom" tvare).
_________________ Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám! |
|
Registrovaný: 17.07.08 Prihlásený: 08.12.19 Príspevky: 68 Témy: 12 | Napísal autor témy funny102: 08.05.2014 18:12 | |
|
tak má mám to robit? ako ich mám preddefinvať?
|
|
Registrovaný: 17.07.11 Prihlásený: 29.12.20 Príspevky: 1516 Témy: 3 | Napísal BX: 08.05.2014 18:29 | |
|
Veď to máš v podstate správne Kód: RewriteRule uvodnistranka /index.php?page=home&lang=cz [L] A odteraz už neexistuje žiadne stranka.sk/index.php?page=home&lang=cz, ale len stranka.sk/uvodnistranka
_________________ Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám! |
|
Registrovaný: 17.07.08 Prihlásený: 08.12.19 Príspevky: 68 Témy: 12 | Napísal autor témy funny102: 08.05.2014 18:40 | |
|
Mám to presne tak ako si napísal RewriteEngine On RewriteRule uvodnistranka /index.php?page=home&lang=cz [L] Tak mi ide samozrejme aj /index.php?page=home&lang=cz aj /uvodnistranka aj /uvodnistranka.php Ale ked prekliknem v menu tak stále ma hodi na /index.php?page=home&lang=cz lebo tam odkazujem cez href. No ako to spravit nech to mám stále len na /uvodnistranka.php pri tom aby sa dal menit aj jazyk.
Ja si to dokáže ručne napísat všetko, každu jednu stránku, tie stránky vytvorím no ked preklikne tak stále tam bude /index.php?page=stranka&lang=jazyk
|
|
Registrovaný: 17.07.11 Prihlásený: 29.12.20 Príspevky: 1516 Témy: 3 | Napísal BX: 08.05.2014 18:47 | |
|
No tak v a href odkazuj na /uvodnistranka a nie na index.php?... A zmenu jazyka budeš musieť nejako vyriešiť v tých pekných uri. Napríklad si modrewrite pozri pozriadne a urob to ako uvodnistranka/cz a uvodnistranka/en
_________________ Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám! |
|
Registrovaný: 17.07.08 Prihlásený: 08.12.19 Príspevky: 68 Témy: 12 | Napísal autor témy funny102: 08.05.2014 18:59 | |
|
ved to by na napadlo aj mna. Ale ak si si všimol mám tam ešte premennú Page takže to robím cez php include a otváram stránky ako cez iframe. Kebyže to takto jednoducho spravím tak nepotrebujem .httacces a spravim to pekne uvodnístránka.html. No ale ja to takto nehcem robit. To som mohol spravit ako školkar a robit si to rovno v priečinkoch /sk/uvodnastranka.html /cz/uvodnistranka.html /en/home.sk. Ja som sa pýtal skôr či sa to nedá spraviť z index.php?page=home&lang=cz krajšie url. Bez toho aby som menil jazyk a include. Bolo by to trošku na hlavu menit v .httacces keby ze to mozem premenovať v ftp.
|
|
Registrovaný: 17.07.11 Prihlásený: 29.12.20 Príspevky: 1516 Témy: 3 | Napísal BX: 08.05.2014 19:42 | |
|
Ak si si všimol, tak som ti na to odpovedal. Daj si do htaccess toto a sleduj kúzlo Kód: RewriteRule ^(\w+)(/?(\w\w)?)$ index.php?page=$1&lang=$3 [L] stranka.sk/home stranka.sk/home/en stranka.sk/home/cz Preštuduj si to a uprav si to tak, aby miesto home bolo uvodnistranka a podobne ostatné.
_________________ Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám! |
|
Registrovaný: 17.07.08 Prihlásený: 08.12.19 Príspevky: 68 Témy: 12 | Napísal autor témy funny102: 08.05.2014 19:53 | |
|
ved dobre to si spravím... Ale stále ked bude klikat uživateľ na stránky v menu bude ho to vzdy presmerovat na tu "škaredu" adresu ktoru uvidí aj hore index.php?page=dopravnistavby&lang=cz
|
|
Registrovaný: 17.07.11 Prihlásený: 29.12.20 Príspevky: 1516 Témy: 3 | Napísal BX: 08.05.2014 19:55 | |
|
No tak daj do menu tú peknú, o to celý čas ide. Tú škaredú by si nemal používať vôbec nikde.
_________________ Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám! |
|
Registrovaný: 17.07.08 Prihlásený: 08.12.19 Príspevky: 68 Témy: 12 | Napísal autor témy funny102: 08.05.2014 20:00 | |
|
jáááj prepač asi som to už pochopil.. Ja si zadefinujem v .httacces už premmennu lang aj page. A v hrefe dám tu peknú.. Joj prepáč za spam a za hovadiny.. Vary som to dobre pochopil
|
|
Registrovaný: 17.07.11 Prihlásený: 29.12.20 Príspevky: 1516 Témy: 3 | Napísal BX: 08.05.2014 20:15 | |
|
Asi si to konečne pochopil správne
_________________ Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám! |
|
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| (HTML) Menu, submenu a CSS v HTML, XHTML, XML, CSS | 5 | 707 | 29.03.2013 9:49 julo | | Ako na MENU pomocou HTML+CSS+PHP ??? v HTML, XHTML, XML, CSS | 3 | 1128 | 20.11.2006 15:19 javo | | CSS- php,html v HTML, XHTML, XML, CSS | 3 | 635 | 15.09.2009 21:08 1daemon1 | | Html, css... rady v HTML, XHTML, XML, CSS | 5 | 673 | 25.07.2012 9:17 DeiForm | | Zaciatocnik HTML + CSS v HTML, XHTML, XML, CSS | 9 | 661 | 28.08.2014 15:33 erikzet | | html,css problém v HTML, XHTML, XML, CSS | 6 | 1891 | 07.03.2019 17:00 weroro | | HTML a CSS v HTML, XHTML, XML, CSS | 3 | 636 | 13.01.2012 17:51 Ďuri | | HTML/CSS obrazok v HTML, XHTML, XML, CSS | 2 | 578 | 16.02.2011 15:40 unkown2552 | | menu css v HTML, XHTML, XML, CSS | 3 | 944 | 23.12.2008 15:14 buslo | | menu css v HTML, XHTML, XML, CSS | 6 | 760 | 08.01.2011 17:11 ner1xess | | Menu css v HTML, XHTML, XML, CSS | 3 | 515 | 22.08.2010 22:32 Pades | | CSS menu v HTML, XHTML, XML, CSS | 8 | 904 | 26.10.2010 20:07 walther | | CSS menu v HTML, XHTML, XML, CSS | 5 | 1328 | 25.04.2009 16:19 shaggy | | CSS: menu v HTML, XHTML, XML, CSS | 3 | 927 | 08.10.2007 6:21 HAE07 | | menu css v HTML, XHTML, XML, CSS | 3 | 697 | 14.03.2009 18:13 Tominator | | Otázky HTML a CSS [ Choď na stránku: 1, 2 ] v HTML, XHTML, XML, CSS | 59 | 1815 | 25.01.2016 16:36 chrono |
| 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
|
|