PDA

Zobacz pełną wersję : podkreślnik w aliasie artykulu



gosia.kocidom
12-12-2009, 18:06
Ze wzgledu na pozycjonowanie podstron chcialabym aby nowa strona w joomla miala dokladnie takie same adresy jak ma teraz strona statyczna. W tym celu chcialabym ustawic aliasy z podkreslnikiem.
np. adop_koty.htm
niestety jak wpisze alias adop_koty to podkreslnik znika
Gdzie ustawić zeby podkreślnik nie znikał.
Wiem że można gdzieś to ustawić bo jak sie najedzie kursorem na alias to pojawia sie zolta ramka z poradą, gdzie pisze, że - i _ moga być w alisasach.
Tylko co zrobic zeby nie byly wycinane?

moje
12-12-2009, 18:24
Zmienić kod, który jest odpowiedzialny za podmianę spacji na "-", tak, żeby wyświetlał "_". Możesz też spróbować pobawić się z htaccess, w celu przepisywania starych adresów z "_" na nowe z "-".
Moim zdaniem, to drugie rozwiązanie jest lepsze, gdyż Joomla standardowo daje "-" w aliasach (tak samo jak inne rozszerzenia), podczas aktualizacji Joomla trzeba by każdorazowo modyfikować kod.

Jola
12-12-2009, 19:33
Witam,
plik libraries/joomla/database/table/content.php linia 123 za wpisem:

$this->alias = JFilterOutput::stringURLSafe($this->alias);dodać:

$this->alias = str_replace ('-','_',$this->alias);

gosia.kocidom
10-01-2010, 15:16
dzieki za podpowiedz ale niestety nic to nie dalo

podkreslnik jest po prostu usuwany, nie da sie go zapisac

Dodalam tą linijke
$this->alias = JFilterOutput::stringURLSafe($this->alias);
$this->alias = str_replace ('-','_',$this->alias);

if(trim(str_replace('-','',$this->alias)) == '') {
$datenow =& JFactory::getDate();
$this->alias = $datenow->toFormat("%Y-%m-%d-%H-%M-%S");
}

ale podkreslnik nadal znika

czy ten trim czegos nie powoduje?

Niestety moja znajomosć programowania jest zadna. Umiem dodac linijke do skryptu i nic wiecej.

moje
10-01-2010, 15:24
...
Dodalam tą linijke
$this->alias = JFilterOutput::stringURLSafe($this->alias);
$this->alias = str_replace ('-','_',$this->alias);

if(trim(str_replace('-','',$this->alias)) == '') {
$datenow =& JFactory::getDate();
$this->alias = $datenow->toFormat("%Y-%m-%d-%H-%M-%S");
}

...

Jak pewnie jak już sama zauważyłaś, to wewnątrz str_replace w trim druga para apostrofów jest pusta, ciekawe dlaczego :rolleyes:

Jola
10-01-2010, 15:52
Chyba powinnam dokładniej to opisać.
Podany przeze mnie kod powoduje, że wpisane w panelu admina aliasy z "-" (myślnikiem) są zamieniane na podkreślnik (dotyczy artykułów).
Czyli należy posługiwać się myślnikami, a kod zamieni je na podkreślniki.