Nie podam instrukcji krok po kroku jak przerobić cały katalog, ale skupię się na ‘Ostanio dodanych’. Po poniższych wskazówkach powinieneś poradzić sobie z modyfikacją całego katalogu.
Na początku utworzymy funkcję, która usunie z tytułu polskie znaki. Następnie zdefiniujemy ją np w usefull.php (plik jest includowany praktycznie wszędzie).
function filtr_znaki($wyraz,$tabulator)
{
$wyraz = str_replace(“ć”, “c”, $wyraz);
$wyraz = str_replace(“¶”, “s”, $wyraz);
$wyraz = str_replace(“¶”, “s”, $wyraz);
$wyraz = str_replace(“ę”, “e”, $wyraz);
$wyraz = str_replace(“ż”, “z”, $wyraz);
$wyraz = str_replace(“ó”, “o”, $wyraz);
$wyraz = str_replace(“ł”, “l”, $wyraz);
$wyraz = str_replace(“±”, “a”, $wyraz);
$wyraz = str_replace(“,,”, “,”, $wyraz);
$wyraz = str_replace(” “, “$tabulator”, $wyraz);
$wyraz = str_replace(“-”, “”, $wyraz);
$wyraz = str_replace(“.”, “”, $wyraz);
$wyraz = str_replace(“,,”, “,”, $wyraz);
$wyraz = str_replace(“¦”, “S”, $wyraz);
$wyraz = str_replace(“Ż”, “Z”, $wyraz);
$wyraz = str_replace(“Ł”, “L”, $wyraz);
$wyraz = str_replace(“¬”, “Z”, $wyraz);
$wyraz = str_replace(“Ľ”, “z”, $wyraz);
$wyraz = str_replace(“ń”, “n”, $wyraz);
$wyraz = str_replace(“Ń”, “n”, $wyraz);
$wyraz = str_replace(“Ć”, “c”, $wyraz);
$wyraz = str_replace(“Ó”, “o”, $wyraz);
return ($wyraz);
}
Powyżej mamy gotową funkcję – usunie ona polskie znaki, puste miejsca (spacje) zastąpi tabulatorem (możemy go zdefiniować w czasie wywołania funkcji).
Do rzeczy … otwórzmy plik last_added.php
Linijka numer 22
if ($mod_rewrite) {
$szcz_adres = “$mod_info-” . $wiersz['id'] . “.html”;
}
Zamienimy
if ($mod_rewrite) {
$tytul=strtolower(filtr_znaki($wiersz['tytul'],’,'));
$szcz_adres = “$tytul-$mod_info-” . $wiersz['id'] . “.html”;
}
strlowet oznacza, że ciąg zamienimy na małe litery (po co nam duże litery w linkach
)
filtr_znaki($wiersz['tytul'],’,') – w tym momencie zmienna zawierająca tytuł wpisu zostanie przefiltrowana funkcją utworzoną wcześniej pt ‘filtr_znaki’. W moim wypadku tabulatorem jest przecinek (,), ale nic nie stoi na przeszkodzie aby był to myślnik(-) czy inny znak ..
Następnie w 48 linijce należy jeszcze zmienić, wyświetlał się nasz link do podstrony
$tpl = str_replace(‘{url}’ , $wiersz['url'], $tpl);
W tym momencie polepszyliśmy linkowanie wewnętrzne i mamy ‘przyjazne linki’
$tpl = str_replace(‘{url}’ , $szcz_adres, $tpl);
Ostanią rzeczą jaką modyfikujemy to plik .htaccess . W pliku musi pojawić się poniższa linijka.
RewriteEngine On
RewriteRule ^(.*)-info-([0-9]+)\.html$ index.php?m=3&wpis=$2 [L]
Analogicznie należałoby przerobić pliki odpowiadające za kategorie, podkategorie, szczegóły wpisów itd.
Zapraszam do komentowania.
Zamieszczony w: Opis modyfikacji
Biorąc pod uwagę, że niektóre wpisy są dużymi literami trzeba uwzględnić pozostałe:
$wyraz = str_replace(”Ć”, “c”, $wyraz);
$wyraz = str_replace(”Ó”, “o”, $wyraz);
itd.
dodatkowo można jeszcze w pliku menu_left.php zmienic w odpowiednim miejscu np.
a href=”info-2.html” > Kontakt
i w .htaccess dodać
RewriteRule ^info-([0-9]+)\.html$ index.php?ms=$1
Dokładnie uchybienie dotyczące dużych liter poprawione w tym mini arcie
Cze,
podalbys chociaz nazwy plikow ktore cza pzerobic
ale tych plików do modyfikacji jest sporoo … najlepiej ściągnąć moją modyfikacje i podpatrzeć pliki
Albo zainstalować .. (http://qlweb.wordpress.com/2007/01/24/upgrade-katalogu-qlweb-do-mojej-modyfikacji/)
Witam
Mam problem
Po włączeniu modrewrite w PA przestaje działać poprawnie wyszukiwarka na stronie.
Tzn. kompletnie nic nie wyszukuje.
Jeśli modrewrite jest wyłączony wyszukiwarka działa poprawnie.
Dzieje się tak na zainstalowanej świeżej, kompletnie czystej wersji qlweb’a by jachu