Zobacz pełną wersję : Poprawne aliasy
zwiastun
15-01-2009, 10:22
Aby polskie znaki w aliasach były automatycznie zamieniane na a, e, c, itd.,
należy zmodyfikować plik libraries/joomla/filter/filteroutput.php.
Odszukaj funkcję stringURLSafe (ok. linii 82) i zamienić ją na:
function stringURLSafe($string)
{
$from = array('ą','ć','ę','ł','ń','ó','ś','ź','ż' ,'Ą','Ć','Ę','Ł','Ń','Ó','Ś','Ź','Ż');
$to = array('a','c','e','l','n','o','s','z','z','A','C', 'E','L','N','O','S','Z','Z');
$string = str_replace($from, $to, $string);
$string = preg_replace('/[^a-zA-Z0-9_]/', ' ', $string);
$string = trim($string);
$string = preg_replace('/\s+/', '-', $string);
return strtolower($string);Porada zaczerpnięta z Polskie znaki w adresach w Joomla 1.5 (http://blog.poradnik-webmastera.com/skrypty/polskie-znaki-w-adresach-w-joomla-15,74). Polscy użytkownicy Joomla! zapewne się nie tylko ucieszą, ale i odwiedzą czasem stronę Poradnika webmastera (http://blog.poradnik-webmastera.com).
piotreczek100
14-03-2009, 20:41
Zwiastunie testowałeś już to rozwiązanie? Jestem ciekaw czy jeśli tak to czy po tejz mianie wszystko u Ciebie działa jak poprzednio? Oczywiście poza tym że aliasy zmieniają się tak jak tego oczekujemy po zmienie w/w funkcji. Ja zauwazyłem jedną niewygodną rzecz, ale nie jestem w 100% pewny czy dobrze zrobiłem to co zrobić powinienem:) U mnie po dokonaniu zmian narobiło się coś takiego, że w każdej liście komponentów, modułów jak i dodatków, a także artykułów gdy wybiorę opcję pokaż wszystkie na liście a następnie wejdę w któryś art, moduł, dodatek itp to po wyjściu ponownie pokazuje mi tylko wynik 20 natomiast w artykułach jak chcę żeby pokazało mi artykuły z kategorii np z regionu to po zapisaniu arta wyrzuca mnie do wszystkich artów :( trochę to niewygodne ale nie do końca wiem jak to ma być zmienione :( rozumiem że od function stringURLSafe($string) do function ampReplace( $text ) ? Proszę o podpowiedź czy dobrze to zrozumiałem
hmm zamknęłam funkcje nawiasem, zakomentowałam stare i wstawiłam to, nie działa przynajmniej u mnie joomla 1.5.9 nowa instalka standardowy plik htaccess
function stringURLSafe($string)
{
$from = array('ą','ć','ę','ł','ń','ó','ś','ź','ż' ,'Ą','Ć','Ę','Ł','Ń','Ó','Ś','Ź','Ż');
$to = array('a','c','e','l','n','o','s','z','z','A','C', 'E','L','N','O','S','Z','Z');
$string = str_replace($from, $to, $string);
$string = preg_replace('/[^a-zA-Z0-9_]/', ' ', $string);
$string = trim($string);
$string = preg_replace('/\s+/', '-', $string);
return strtolower($string);
}
Jeżeli nie chcecie ruszać kodu swojej Joomli! zapraszam do pobrania plugin'u, który tą "dolegliwość" naprawia.
PLUGIN DLA JOOMLA 1.5 PL/UTF-8!!
Pozwala też poprawić istniejące już aliasy w bazie danych, które Joomla! źle wpisała lub zostawiła puste. Sprawdza też czy alias został zmieniony przez użytkownika - jeżeli tak - nie rusza go.
Instrukcja naprawiania istniejących (niepoprawnych) aliasów:
Zaloguj się jako Super Administrator
Włącz opcje Napraw Stare w ustawieniach pluginu
Utwórz nowy artykuł
Wpisz w aliasie "naprawaliasy" (bez cudzysłowów, tytuł i sekcja - obojętnie)
Zapisz artykuł
Później możesz usunąć artykuł - jest on podsumowaniem operacjiPlugin przetestowany informatologicznie na www.nowepodhale.pl (http://www.nowepodhale.pl), działa w 100%.
Do pobrania na http://www.nowepodhale.pl/hobby/40-wsieci/1755-plugin-poprawne-aliasy-w-joomla
Pytania proszę kierować na webmaster at nowepodhale dot pl
Jeżeli nie chcecie ruszać kodu swojej Joomli! zapraszam do pobrania plugin’u, który tą “dolegliwość” naprawia.
PLUGIN DLA JOOMLA 1.5 PL/UTF-8!!
Pozwala też poprawić istniejące już aliasy w bazie danych, które Joomla! źle wpisała lub zostawiła puste. Sprawdza też czy alias został zmieniony przez użytkownika - jeżeli tak - nie rusza go.
Instrukcja naprawiania istniejących (niepoprawnych) aliasów:
Zaloguj się jako Super Administrator
Włącz opcje Napraw Stare w ustawieniach pluginu
Utwórz nowy artykuł
Wpisz w aliasie "naprawaliasy" (bez cudzysłowów, tytuł i sekcja - obojętnie)
Zapisz artykuł
Później możesz usunąć artykuł - jest on podsumowaniem operacji
Plugin przetestowany informatologicznie na http://www.nowepodhale.pl (http://www.nowepodhale.pl/), działa w 100%.
Do pobrania na http://www.nowepodhale.pl/hobby/40-wsieci/1755-plugin-poprawne-aliasy-w-joomla
Pytania proszę kierować na webmaster at nowepodhale dot pl
Zrobiliśmy do tego plugin, można go pobrać stąd: http://www.nowepodhale.pl/hobby/40-wsieci/1755-plugin-poprawne-aliasy-w-joomla
Pozdrawiam
W Joomla 1.5.10 działa poniższy sposób:
Otworzyć filteroutput.php i znaleźć frazę:
function stringURLSafe($string)
{
//remove any '-' from the string they will be used as concatonater
$str = str_replace('-', ' ', $string);dodać:
$from = array('ą','ć','ę','ł','ń','ó','ś','ź','ż' ,'Ą','Ć','Ę','Ł','Ń','Ó','Ś','Ź','Ż');
$to = array('a','c','e','l','n','o','s','z','z','A','C', 'E','L','N','O','S','Z','Z');
$string = str_replace($from, $to, $string);I teraz najważniejsze: plik filteroutput.php nie jest kodowany w UTF-8. Dlatego musicie przekonwertować plik do UTF-8 bez BOM, wysłać na serva i translacja aliasów działa jak marzenie :D
Właśnie działam na sh404SEF, który korzysta z aliasów i działa jak ta lala:)
Do ZWIASTUNA: Poprawiona wersja, ponieważ w poprzednim poście machnąłem się o 2 linijki i skrypt nie działał. Teraz wszystko jest ok.
Sposób działa też w Joomla 1.5.10.
Okazało się, że wystarczy zrobić tak:
Otworzyć filteroutput.php i znaleźć frazę:
function stringURLSafe($string)
{
dodać po niej:
$from = array('ą','ć','ę','ł','ń','ó','ś','ź','ż' ,'Ą','Ć','Ę','Ł','Ń','Ó','Ś','Ź','Ż');
$to = array('a','c','e','l','n','o','s','z','z','A','C', 'E','L','N','O','S','Z','Z');
$string = str_replace($from, $to, $string);I teraz najważniejsze: plik filteroutput.php nie jest kodowany w UTF-8. Dlatego musicie przekonwertować plik do UTF-8 bez BOM, wysłać na serva i translacja aliasów działa jak marzenie :D
Właśnie działam na sh404SEF, który korzysta z aliasów i działa jak ta lala:)
a ja mam dalej problem jak wpisuje w menu Strona Główna to mam Strona G?ówna i nic nie pomaga to co wyżej napisane
mam wersje 1.5.11 i mam dalej ten sam problem z znakami ? np. wpisuje w menu Strona Główna to mam Strona G?ówna
Można jeszcze zainstalować plugin
http://nowepodhale.pl/hobby/40-wsieci/1755-plugin-poprawne-aliasy-w-joomla
qbin2001
05-11-2009, 19:13
w kodzie brak zamykającego znaku "}". Mniej doświadczeni użykownicy mogą mieć problem z niepełnym kodem.
piksel-2
06-01-2010, 01:44
Szkoda, że trik nie działa w nowszych wydaniach Joomla ;(
piksel-2
06-01-2010, 01:51
Szkoda, że trik nie działa w nowszych wydaniach Joomla
Szkoda, że trik nie działa w nowszych wydaniach Joomla
działa, tylko ze na końcu musisz dodać wskazówki astepas
Potwierdzam, w Joomla 1.5.15 ten plugin nie działa
Chyba już tu kiedyś pisałem, że plugin nie działa z joomla 1.5.15
No właśnie, czy udało się uporać z tym problemem w nowszych wersjach?
metmusic
19-05-2010, 19:23
Potwierdzam - nie działa na 1.5.17...
metmusic
19-05-2010, 19:39
Próbuję z czymś takim:
$str = str_replace(array('ą','ć','ę','ł','ń','ó',' ','ź','ż','Ą','Ć','Ę','Ł','Ń','Ó','Ś',' ','Ż'), array('a','c','e','l','n','o','s','z','z','A','C', 'E','L','N','O','S','Z','Z'), $str);
Ale nie za bardzo chce działać.
Jendak gdy damy
$str = str_replace(array('a'), array('j',), $str);
To zamienia nam każdą literę "a" na "j".
Nie wiem dlaczego to samo nie dzieje się z polskimi znakami. Plik przekodowałem do UTF-8 ale bez zmian.
Może ktoś ma jakiś następny pomysł
metmusic
19-05-2010, 19:46
Potwierdzam, że plugin http://nowepodhale.pl/hobby/40-wsieci/1755-plugin-poprawne-aliasy-w-joomla działa dla Joomla 1.5.17
1.5.18 również wszystko ok!
W końcu będę miał polskie znaki w adresach :)
tomaszek83
14-09-2010, 20:17
Gdyby ktoś szukał narzędzia do naprawiania aliasów to polecam http://www.design-joomla.pl/do-pobrania.html?func=fileinfo&id=49
metmusic
12-10-2010, 11:32
Szkoda, że nie poprawia aliasów w menu, modułach etc :/
Wydaje się, że bez problemów na J! 1.5.22
vBulletin® v4.2.5, Prawa przedruku © 2024 vBulletin Solutions, Inc. Wszystkie prawa zastrzeżone.
Tłumaczenie: Polskie Centrum Joomla!