Joomla 2.5: красивые ссылки своими руками |
![]() |
Joomla 2.5 - Установка и настройка Joomla 2.5 | |||
Автор: Наталья Мельниченко | |||
01.04.2013 13:12 | |||
Уж не знаю, как ещё надолго я бы оттягивала важную для сайта операцию, если бы не возникли два обстоятельства: первое - это ученический поток вопросов, связанных с "ужасными" ссылками в Joomla 2.5, а второе - это мой собственный ужас, появившийся в тот момент, когда я, отправляя в письме к своему другу-историку ссылку на выставленную на моём сайте его новую статью, обнаружила, что Gmail не принимает эту ссылку!!! - очевидно, по причине её доходящей до неприличия "человеконепонятности". ...Потратив кучу времени на операцию по спасению, в конце концов всё же почла за благо восстановить сайт по бэкапам за предыдущий день. Зато теперь у меня есть возможность давать всем дружеский совет: Следующим моим шагом было исследование на тему: можно ли в Joomla 2.5 сделать ссылки красивыми (или хотя бы просто нормальными) без установки дополнительных расширений? - оказалось, можно, о чём я и буду сегодня рассказывать. Итак, Шаг 1. После установки и русификации Joomla 2.5 обратим внимание на ссылки, которые будут выглядеть примерно так: localhost/demo25/index.php?option=com_content&view=article&id=22&Itemid=437 Понятно, что такая "красота" нам не подходит, поэтому первое, что мы должны сделать, это переименовать находящийся в корневом каталоге сайта файл "htaccess.txt" в ".htaccess". Делается это просто: в файловом менеджере типа Total Commander находим нужный файл, щелкаем по нему мышкой, потом нажимаем Shift +F6. Строчка с названием файла подсветится, и тогда мы просто стираем в ней ".txt" , а перед "htaccess" ставим точку. Нажимаем Enter, и всё готово, файл переименован. Далее открываем меню Сайт>>Общие настройки и в правой части вкладки "Сайт" - "Настройки SEO" - устанавливаем свои правила, не забывая их потом сохранить. На картинке показано то, что сделала я, а вы при желании можете включить ещё и третью сверху кнопку, т.е. "Добавлять суффикс к URL" - "Да". В этом случае ссылки будут оканчиваться на ".html" . Я данную кнопку в скриншоте примера не включила, а вы делайте так, как вам больше нравится.
Предисловие к Шагу 2. В первом шаге мы сделали подготовительную работу. Теперь ссылки изменили внешность и, если вы ещё не успели создать ни новой категории, ни новой статьи, названия которых будут, естественно, на русском языке, то в предустановленном на Joomla контенте (написанном на английском) и ссылках на него всё будет смотреться прилично. Однако совсем иная картина предстанет перед вами немедленно после перехода к созданию и публикации русскоязычного контента. Далее для практического пояснения я буду использовать свой сайт о Павловске, который работает теперь на Joomla 2.5. Итак, открываем Главную страницу павловского сайта. На ней выставлены несколько статей, среди которых есть и "Женщина, которая спасла Павловск". Прокручивая окно вниз, найдите её и нажмите на заголовок статьи. После того, как она откроется, посмотрите в браузерной строчке, как выглядит ссылка: Как видите, ссылка короткая и по ней путь к статье достаточно понятен. Эту ссылку уже можно скопировать, вставить в электронное письмо и отправить кому угодно. А вот в то время, когда я ограничивалась только описанным выше Шагом 1, видимая в браузерной строке часть ссылки (к сожалению, я не заскриншотила тот момент) выглядела так: Это то, что было видимо. Когда же я скопировала всю ссылку и перенесла её в Блокнот, то название статьи в ней оказалось просто шифром каким-то: Естественно, что Gmail отказывается пересылать подобное безобразие. Шаг 2. Работа с алиасами. У любого материала (будь это статья или категория) есть как заголовок, так и алиас, или заменитель заголовка. Заголовок мы прописываем сами (без этого Joomla откажется сохранять материал), а вот поле для алиаса, как правило, оставляем пустым. После того, как мы нажмём на кнопку "Сохранить", Joomla автоматически и без изысков подставляет алиас. Практически это то же название материала, только все слова разделены знаками "-". При этом в алиас попадают даже запятые, если они есть в заголовке. Демонстрирую сказанное скриншотами: Зная "кухню", легко сделать поправки. Поэтому я стираю в алиасной строчке джумловскую "подставу" и пишу свой - но теперь аглицкими буквами - новый заменитель, который решила обозначить как "peoples". Конечно, можно было бы написать и "svyazani-s-pavlovskom", как это сделало бы дополнительно установленное расширение типа Artio JoomSEF. Но я решила укоротить "заменитель", и, между прочим, в ответ на это Джумла не стала вести себя, как рассерженный верблюд, - значит, она позволяет в этом месте делать творческие отступления. По этой же схеме я заменила подкатегорию "Зеленова А.И." на "zelenova". И тогда я изменила алиас заголовка статьи на "zelenova-spasla-pavlovsk": Однако для меня открытым оставался вопрос "а зачем козе баян?", то бишь цифирьки "77" в ссылке. Исследовав все возможности для изменений через админку, поняла, что придётся копаться в файлах. 2) AkelPad, в котором легко работать с файлами .css и php, особенно когда приходится сохранять файлы в кодировке UTF-8, да ещё и "без BOM" ; 3) Notepad, дающий код построчно, с нумерацией каждой строки. Шаг 3. Вносим изменения в файлы с тем, чтобы убрать из ссылки ID материала. /administrator/components/com_content/config.xml 3.1. 2. Вставляем в файл (на скриншоте ниже показано место для вставки) следующий код (можете скопировать отсюда): <field name="sef_advanced_link" Не забудем сохранить внесённые изменения: Файл>>Сохранить. 3.2. В NotePade открываем файл router.php . Путь к нему следующий: 3.2. 2. Закомментируем (закроем) строчки 228-232 : Это делается просто: подставляем по паре значков до и после выделенного куска кода: /* if (strpos($segments[0], ':') === false) { Естественно, не забудем сохранить файл: Файл>>Сохранить. Шаг 4. Обновляем в лицевой панели страницу со статьёй и смотрим, что получилось. Нажмите на картинку, чтобы посмотреть, как окончательно выглядит сейчас ссылка из урока:
|