Возникла задача - разрешить русские алиасы для статей для использования кириллицы в 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
| &larr Избавляемся от дублирования контента на главной странице | Дорабатываем Custom Properties &rarr |
|---|





Комментарии
СПАСИБО ОГРОМНЕЙШЕЕ!!!! ! )))) Цитировать
Переименовать htaccess.txt в .htaccess и в настройках выставить использовать его (или режим mod_rewrite при использовании 404sef) Цитировать
JPAGE_CURRENT_O F_TOTAL - обнови язык
otbaldy.ru Цитировать
А с каких пор в ссылках можно ставить пробелы? Цитировать
Подскажите Цитировать
а как это в резукльтате должно выглядеть в коде? подскажите Цитировать
Как можно сделать в sh404sef, чтобы в админке когда переписываешь алисы на русские буквы, все отображалось или по-русски, или хотя бы по латински, но ровно? Потому что, когда прописываешь русские буквы, сохраняешь, смотришь, а всё кракозябрами непонятными и кривыми буквами. Потом не ясно где какой алиас и пункт меню, что к чему подписано, и каждый раз так не на подписываешься. После каждой очистки, очень затруднительно вспомнить.
В идеале отлично было бы, если бы установленный sh404SEF брал алиасы из алисов материалов, пунктов меню, либо разделов, или категорий. Т.е. в материале прописал русскими буквами и сколько раз не чисти, всегда русские и остались, пока на что-то другое не прописал. Очень удобно.
Буду очень благодарен тому кто подскажет как такой вариант реализовать!
Заранее спасибо! Цитировать
ЗЫ: сайт вот этот - www.clubtitan.ru - если вдруг кому нужна помощь с байком - вэлкам. Цитировать
Если только для меню нужно править файл libraries\joomla\database\table\menu.php - но изменения коснутся всех пунктов меню а не одного Цитировать
а то получаеться я статте алиас руский сделал, а когда присваиваю его меню то алиас сттати уже никуда не идёт.
404 и Artio не меняет ограничение на транслит в псевдониме.. да, там конечно можно использовать генерацию url не по псевдониму.. но зачем когда можно использовать встроенные возможности Joomla в некоторых случаях.. А насчет целесообразност и использования кириллицы - лучше не будем разводить холивар.. пусть каждый сам для себя решает Цитировать
Вапще не надо core ломать для кирилика. Как ты сказал компонент sh404sef решает замечательно эту проблему.
У меня прекрасные урлы на русском на нескольких сайтах благодаря ш404сеф.
Но кирилик в урле - зло вселснское, это ИМХО.
Кроме всего прочего я немного порылся в Артио и ш404 соввместил некоторые части - реализацию можешь посмотреть на d3rc.ru. Цитировать
[^A-Za-z_0-9\-]/ - тут просто добавили символ _ Цитировать
RSS лента комментариев этой записи.