Возникла задача - разрешить русские алиасы для статей для использования кириллицы в URL. Многие сторонние компоненты , например SH404SEF позволяют это делать, однако при сохранении стандартного материала в Joomla 1.5 система не позволяет использовать кириллицу и подставляет вместо нее дату, в случае использования либо заменяет на "-".
Конечно, такая ситуация меня не устраивала, пришлось углубиться в код CMS.
Опущу тут методы, дам сразу результат - нам необходимо сделать правку в файле /libraries/joomla/database/table/content.php
Ищем нижеследующий кусок
$this->alias = JFilterOutput::stringURLSafe($this->alias);
if(trim(str_replace('-','',$this->alias)) == '') {
$datenow =& JFactory::getDate();
$this->alias = $datenow->toFormat("%Y-%m-%d-%H-%M-%S");
}
и просто комментируем его.
/* $this->alias = JFilterOutput::stringURLSafe($this->alias);
if(trim(str_replace('-','',$this->alias)) == '') {
$datenow =& JFactory::getDate();
$this->alias = $datenow->toFormat("%Y-%m-%d-%H-%M-%S");
}
*/
ВНИМАНИЕ!!! Закомментировав все эти строки мы также отключили проверку на не-HTML символы, поэтому если воспользуетесь советом, то ОБЯЗАТЕЛЬНО заполняйте алиас к статье, не использую пробелы и другие спецсимволы!!
Если Вы также хотите использовать кириллицу в алиасах в категориях и разделах необходимо сделать точно такие же правки в /libraries/joomla/database/table/section.php и /libraries/joomla/database/table/category.php
Joomla 2.5
Если кому интересно, то для Joomla 1.7 добавить возможность написания в url-ах нижнее подчеркивание "_"(вместо дефиса или с ним) надо в файле /libraries/joom la/filter/filte routput.php заменить строку в функции stringURLSafe (у меня строка 77):
$str = preg_replace(ar ray('/\s+/','/[ ^A-Za-z0-9\-]/' ), array('-',''), $str);
на
$str = preg_replace(ar ray('/\s+/','/[ ^A-Za-z0-9\-_]/ '), array('-',''), $str);
в перечне символов добавилось подчеркивание. И геморрой успешно вылечен.
В файле libraries\joomla\filter\filteroutput.php.
Для yootheme zoo 1.0 также нужно править файлы \administrator\ components\com_ zoo\tables\cate gory.php ...tables\item. php ...tables\catal og.php ...framework\fi lteroutput.php ...controllers\ item.php ...controllers\ category.php ...controller\c atalog.php
СПАСИБО ОГРОМНЕЙШЕЕ!!!! ! ))))
Переименовать htaccess.txt в .htaccess и в настройках выставить использовать его (или режим mod_rewrite при использовании 404sef)
JPAGE_CURRENT_O F_TOTAL - обнови язык
otbaldy.ru
А с каких пор в ссылках можно ставить пробелы?
Подскажите
а как это в резукльтате должно выглядеть в коде? подскажите
Как можно сделать в sh404sef, чтобы в админке когда переписываешь алисы на русские буквы, все отображалось или по-русски, или хотя бы по латински, но ровно? Потому что, когда прописываешь русские буквы, сохраняешь, смотришь, а всё кракозябрами непонятными и кривыми буквами. Потом не ясно где какой алиас и пункт меню, что к чему подписано, и каждый раз так не на подписываешься. После каждой очистки, очень затруднительно вспомнить.
В идеале отлично было бы, если бы установленный sh404SEF брал алиасы из алисов материалов, пунктов меню, либо разделов, или категорий. Т.е. в материале прописал русскими буквами и сколько раз не чисти, всегда русские и остались, пока на что-то другое не прописал. Очень удобно.
Буду очень благодарен тому кто подскажет как такой вариант реализовать!
Заранее спасибо!
ЗЫ: сайт вот этот - www.clubtitan.ru - если вдруг кому нужна помощь с байком - вэлкам.
RSS лента комментариев этой записи