« 1 2
Autor Zpráva
Tomáš123
Profil
Tomy:
nav li.otevrenaskupina > a { /*Aby to nevybralo aj hlbšie vnorené odkazy*/
  text-shadow: 1px 2px 10px #ff0000;
  color: #ff0000;
}
Tomy
Profil
Tomáš123:
Jo díky vyzkouším. Tušil sem že tam asi bude ta závorka, ale nevěděl sem kde přesně.
Tomy
Profil
Tomáš123:
Funguje díky moc. A ještě jedna taková drobnost. Potřebuju, aby když se mi načte "index.php"(prostě úvodní obrazovka když zadám adresu stránek), aby mi ta záložka svítíla už když se to poprvé načte. Ona se totiž rozsvítí až když na ni kliknu podruhé a proběhne ta podmínka, která tomu přidá tu třídu. Šlo by to zpouštět nějakým scriptem nebo tak něco?
Tomáš123
Profil
Tomy:
Vymeň druhý riadok posledného skriptu na minulej strane za toto:
$pg = (!empty($_GET['str']) ? $_GET['str'] : "podstranka_ktoru_chces");
Do premennej $pg sa v prípade, že kľúč str v poli $_GET obsahuje nejakú hodnotu priradí hodnota onoho kľúča, v opačnom prípade nadobudne premenná hodnoty "podstranka_ktoru_chces".
Tomy
Profil
Tomáš123:
<?php
$pg = (!empty($_GET['str']) ? $_GET['str'] : "");
echo "<li";
if ($pg == "aktuality") echo " class='otevreno'";
echo "><a href='index.php?str=aktuality'>Aktuality</a></li>\n";
Ale nepochopil sem co tím chceš říct tím "podstranka_ktoru_chces".
mimochodec
Profil
Tomy:
A víš co ten přidaný řádek dělá? Bez jeho pochopení to nepůjde.
Tomy
Profil
mimochodec:
No nejsem si úplně jistý. S PHP sem ještě moc nedělal. Ale ten vykřičník je tuším negace. Empty jakože když je ta proměná prázdná tak provede $_GET['str']. Ten otazník nevím.


Neznám moc ty příkazy.
mimochodec
Profil
Tomy:
Nikoliv "provede", ale do $pg přiřadí. Pokud je $_GET['str'] neprázdné, tak jeho obsah. Pokud je prázdné, tak to "" za dvojtečkou, tedy prázdný řetězec.
Nejdřív si zajisti, abys v interních odkazech na webu neodkazoval na index.php, ale na www.tentvujweb.cz. Má to několik dobrých důvodů. A pak si uprav to php, aby tu položku menu odkazující na úvod zvýrazňovalo při $pg == "".
Tomáš123
Profil
Tomy:
Za reťazec "podstranka_ktoru_chces" si máš dosadiť str tej stránky, ktorú chceš mať predvolene aktívnu.
$pg = (!empty($_GET['str']) ? $_GET['str'] : "aktuality");  //Po príchode na index.php (bez str=...) bude zvýraznený odkaz aktualít

No nejsem si úplně jistý.
Ide o ternárny operátor.
$pg = (!empty($_GET['str']) ? $_GET['str'] : "");
Je to skrátená forma úplneho vetvenia:
if(!empty($_GET['str']) {
  $pg = $_GET['str'];
}
else {
  $pg = ""; #hodnota je iba príklad
}
Pokojne môžeš použiť túto variantu. Robí to isté.

Hodnoty sa priradia do premennej $pg podľa toho ako sa vyhodnotí výraz (!empty($_GET['str']) (TRUE|FALSE). Otáznik je rozdeľovač výrazov a hodnôt. Podobne : slúži na oddelenie kladného (TRUE) a záporného (FALSE) výsledku vyhodnotenia výrazu.

Jedoduchší príklad pre pochopenie:
$vacsie = (($a > $b) ? "a je väčšie ako b" : "b je väčšie ako a");

Ide to použiť aj pri výpise, či v strede reťazca:
echo (($a > $b) ? "a je väčšie ako b" : "b je väčšie ako a");
echo "Premenná ".(($a > $b) ? "a je väčšia ako b" : "b je väčšia ako a");

Všeobecne: ((vyraz) ? "podmienka splnena" : "podmienka nesplnena")
« 1 2

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: