Autor Zpráva
Dranel
Profil
Zdravím,
mám následující problém: Skuste si kliknout na http://www.demo8.cz/uvodnik/uvod - aktivní položka menu v pořádku. Teď si tam hoďte http://www.demo8.cz/tvorba/clanky/uvod a žádná položka "vysvícená" není... čím to je? Tady jsou kódy:

Levé menu:
<?php
$kat = $_GET['kat'];
$rub = $_GET['rub'];
$str = $_GET['str'];
?>

<h3 class="menutitle">Úvodník</h3>
  <ul class="menu">
<?php
echo "    <li"; if ($kat=="uvodnik" and $str=="uvod") {echo " class='active'";} elseif (!$kat) {echo " class='active'";}
echo "><a href='/uvodnik/uvod' title='Na úvodní stránce naleznete proslov autorů, novinky na webu a další důležité informace'><span>&raquo;</span>&nbsp;Úvod</a></li>\n";

...

<h3 class="menutitle">Tvorba</h3>
  <ul class="menu">
<?php
echo "    <li"; if ($kat=="tvorba" and $rub=="clanky" and $str=="uvod") {echo " class='active'";} 
echo "><a href='/tvorba/clanky/uvod' title=''><span>&raquo;</span>&nbsp;Články</a></li>\n";

...

.htaccess:
RewriteEngine on
RewriteRule ^(.*)/([^.]*)$ index.php?kat=$1&str=$2
RewriteRule ^(.*)/(.*)/([^.]*)$ index.php?kat=$1&rub=$2&str=$3




S tím souvisí i druhá věc: napište mi do .htaccess pls někdo i přepisování na jednu proměnou. Mám tam na dvě, na tři ale na jednu mi to nějak nechce vzít.
djlj
Profil
1. Zkontroluj, zda mají proměnné očekávané hodnoty.

2. RewriteRule ^(.*)$ index.php?kat=$1
Dranel
Profil
djlj
ad 1. Nechápu...
ad 2. Jasny, jenže já tam potřebuju dosadit proměnou $str místo $kat. Navíc právě tohle mi úplně na stránce všechno zničí - přepíše to totiž všechny odkazy a adresy takže vidíš stránku bez CSS a bez obrázků... no podívej se sám, nechám to tam chvíli pro tebe.
Mastodont
Profil
Odkazy a adresy vkládej jako absolutní.
Dranel
Profil
Mastodont
Co? Proč? Jako i v menu? Sakra to budu muset předělávat zase všechno jak vůl...
djlj
Profil
RewriteRule ^(.*)$ index.php?str=$1

A dej to pod ta ostatní pravidla.

K bodu 1: Podmínka se neprovede, zkontroluj, zda jsou v proměnných žádané hodnoty.
Dranel
Profil
djlj
Ok, teď to mám tahle:

RewriteEngine on
RewriteRule ^(.*)/([^.]*)$ index.php?kat=$1&str=$2
RewriteRule ^(.*)/(.*)/([^.]*)$ index.php?kat=$1&rub=$2&str=$3
RewriteRule ^(.*)$ index.php?str=$1

Dotaz: Proč to má být seřazeno zrovna takhle??
Dranel
Profil
djlj
K bodu 1: Podmínka se neprovede, zkontroluj, zda jsou v proměnných žádané hodnoty.
Vždyť to jsou právě ty podmínky
if ($kat=="tvorba" and $rub=="clanky" and $str=="uvod") {echo " class='active'";}
nimiž kontroluju, že když je to /tvorba/clanky/uvod tak se to má označit. Ale ono se to neoznačí...

PS:
<?php
$kat = $_GET['kat'];
$rub = $_GET['rub'];
$str = $_GET['str'];
?>
djlj
Profil
Ano, tak zkontroluj, zda jsou v proměnných žádané hodnoty. (Kolikrát to ještě budu muset psát?)

echo $kat.$rub.$str;
Dranel
Profil
djlj
Jo aha takhle :D
Sry nepochopil jsem tě...
Mimochodem, rád bych to s těmi relativními url...
Dranel
Profil
To víš že tam je problém s $rub:

$kat == "tvorba/clanky"
$rub == ""
$str == "nabozenstvi"

přitom to má bejt:

$kat == "tvorba"
$rub == "clanky"
$str == "nabozenstvi"

PS: Klikl jsem na Náboženství ve Výběru... Btw nechtělo se mi psát co má jakou hodnotu, takže == ber jako "odpovídá hodnotě"

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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