PDA

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

bbruda
20-03-2009, 18:19
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);
}

yota
26-03-2009, 13:39
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

yota
26-03-2009, 13:40
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

jusJack
26-03-2009, 18:07
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

astepas
13-05-2009, 22:21
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:)

astepas
13-05-2009, 22:57
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:)

Tomaxo
27-07-2009, 13:09
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

Tomaxo
27-07-2009, 13:13
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

nigraS
21-09-2009, 19:49
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

oprych
09-02-2010, 22:29
Szkoda, że trik nie działa w nowszych wydaniach Joomla

działa, tylko ze na końcu musisz dodać wskazówki astepas

keran
02-03-2010, 22:17
Potwierdzam, w Joomla 1.5.15 ten plugin nie działa

keran
10-03-2010, 12:25
Chyba już tu kiedyś pisałem, że plugin nie działa z joomla 1.5.15

fIlek
07-05-2010, 17:54
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

DarioB
18-06-2010, 23:09
z 1.5.18 też działa.

DarioB
28-06-2010, 10:57
1.5.18 również wszystko ok!
W końcu będę miał polskie znaki w adresach :)

keran
07-09-2010, 09:22
Działa z Joomla! 1.5.20

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 :/

boskoff
14-11-2010, 19:49
Wydaje się, że bez problemów na J! 1.5.22