Человекопонятные адреса в Joomla 1.5

Опубликовано: 01.09.2018

видео Человекопонятные адреса в Joomla 1.5

Общие настройки. Часть 2. Joomla CMS (42/48)

В Joomla более ранних версий, чем 1.5.х ссылки нельзя было видоизменять и сделать их, как в WordPress, человекопонятными. Начиная с версии 1.5.ч такая возможность появилась – теперь ссылки можно редактировать и видоизменять. Модуль mod_rewrite на apach включать совсем необязательно. Как пример, приведем статью «Welcome to Joomla». Пример первой ссылки – без применения mod_rewrite, пример второй – с применением модуля mod_rewrite:



http://www.example.com/index.php/the­news/1­latest­news/1­welcome­to­joomla

http://www.example.com/the­news/1­latest­news/1­welcome­to­joomla

Псевдонимы (алиасы)

Псевдоним сайта добавляется в адрес сайта вместо заголовка. В целях безопасности некоторые символы в UTF-8 подменяются эквивалентными, но кодированными в ASCII7. Псевдоним, или алиас создается самим пользователем и может быть любым, но в любом случае – безопасным, в случае неправильного применения символов вы получите предупреждение. Простейший способ получить безопасный псевдоним – применить метод Jtable::check(). Пример:


Настройка ЧПУ в Joomla 2 5

1 2 3 4 5 6 7 8 9 function check() { jimport( 'joomla.filter.output' ); $alias = JOutputFilter::stringURLSafe( $this->title ); if(empty( $this->alias ) || $this->alias === $alias ) { $this->alias = $alias; } /* Все проверки */ return true; }

function check() { jimport( 'joomla.filter.output' ); $alias = JOutputFilter::stringURLSafe( $this->title ); if(empty( $this->alias ) || $this->alias === $alias ) { $this->alias = $alias; } /* Все проверки */ return true; }


15-seo-secret-07. Что такое ЧПУ и страница 404

Если алиас небезопасен или является пустым полем, то вместо него будет использован заголовок сайта.

Слаг (код для вставки в сайт)

Как продолжение – использование кода «1­welcome­to­joomla». Первая часть кода – идентификатор записи, вторая часть – псевдоним. Разделяются эти составляющие дефисом.

1 2 $query = 'SELECT a.* CASE WHEN CHAR_LENGTH (a.alias) THEN CONCAT_WS(\':\', a.id, a.alias) ELSE a.id END as slug,'. [...];

$query = 'SELECT a.* CASE WHEN CHAR_LENGTH (a.alias) THEN CONCAT_WS(\':\', a.id, a.alias) ELSE a.id END as slug,'. [...];

Дальше вместо идентификатора задействуется слаг-код.

Метод JRoute

Данный метод переводит существующие ссылки в ссылки произвольные. Метод имеет 3 параметра значения:

1 JRoute::_( $url, $xhtml = true, $ssl=0 );

JRoute::_( $url, $xhtml = true, $ssl=0 );

$ssl — целое число, указывающее на шифровку адреса. 1 – безопасный адрес, 0 — обычный, -1 означает, что адрес небезопасен.

$url — содержти относительную или абсолютную внутреннюю ссылку.

$xhtml – необязательное значение, указывающее на преобразование результата в XHTML.

Работа метода происходит следующим образом:

1 JRoute::_( 'index.php?view=article&id='.$row->slug );

JRoute::_( 'index.php?view=article&id='.$row->slug );

$row->slug — параметр, комбинирующий идентификатор и заголовок-псевдоним.

Еще одно преимущество JRoute – возможность обработки имени компонента и идентификатора меню — $option и $Itemid. Теперь ссылка не использует эти компоненты, в отличие от более ранних версий Joomla.

Построение JRouter производится в два этапа:

1. Создается маршрутизатор. В действующих приложениях это делает JRouter.

2. Создается обработчик маршрута. Для этого JRouter должен найти router.php в каталоге.

router.php

Функции в router.php выполняют следующие задачи – построение адреса и обработка ссылки. Существует три вида – вид рубрик view = categories, вид одной рубрики option = category и вид статьи view=article.

Работа маршрутизатора:

1 2 3 4 5 6 7 8 9 10 11 12 function [Componentname]BuildRoute( &$query ) { $segments = array(); if(isset($query['view'])) { $segments[] = $query['view']; unset( $query['view'] ); } if(isset($query['id'])) { $segments[] = $query['id']; unset( $query['id'] ); }; return $segments; } JRoute::_( 'index.php?view=article&id='.$row->slug );

function [Componentname]BuildRoute( &$query ) { $segments = array(); if(isset($query['view'])) { $segments[] = $query['view']; unset( $query['view'] ); } if(isset($query['id'])) { $segments[] = $query['id']; unset( $query['id'] ); }; return $segments; } JRoute::_( 'index.php?view=article&id='.$row->slug );

Массив $query передается к [Componentname] BuildRoute. Этот метод добавляет в правильном порядке части в $segments. Значение $query должно быть отключено, в противном случае JRouter будет добавлять его в адрес ссылки.

Продолжение статьи читайте здесь .

Понравилась запись? Подпишитесь на обновления по почте:

Facebook

Читайте похожие статьи

3D стерео фильмы для 5D
    Как купить билеты на поезд

    Я всегда в последнее время пользуюсь услугами настоящего интернет сайта. Он у меня внушает доверие. И здесь придбати квитки возможно в любое

    Магазин видеонаблюдения
    При создании системы видеонаблюдения необходим целый ряд определенного оборудования. Для этого сегодня существует огромное количество различных магазинов по продаже специальной техники для организации

    Заказ такси в Киеве от 30 грн
    Если неудачи в жизни для вас нормой, в первую очередь необходимо проанализировать, откуда растут корни ваших проблем. Скорее всего, вы человек неорганизованный и постоянно опаздываете. В мегаполисе это

    Тайверб Тайверб
    Прочие ингредиенты: целлюлоза микрокристаллическая, повидон К30, натрия крахмалгликолят, магния стеарат, opadry желтый YS-1-12524-A. Лапатиниб содержится в форме лапатиниба дитосилата моногидрата. № UA/8847/01/01

    Шкафы купе в наличии
    Известно, что шкафы-купе поступили в ассортимент магазинов корпусной мели более 20 лет назад и сразу же заняли ведущие роли среди другой мебели. Их используют в помещениях, где разместить стандартный

    Копаксон
    Конкурентно замещает антигены миелина в местах связывания с молекулами главного комплекса гистосовместимости класса II на поверхности клеток, несущих антигены. Следствием этого является активация образования

    Begin.com.ua/
    Подбором персонала занимается HR-менеджер, но часто такая должность отсутствует в компании, и его обязанности берут на себя или директор, или его заместитель. Если выбор сотрудников окажется неправильным 

    Бесплатная раскрутка сайтов ucoz
    Необходимо для себя выяснить, какая цель преследуется при раскрутке Интернет проекта. Здесь всё просто, так как чаще всего это возможность при помощи различных способов и средств увеличить поток посетителей.

    Шкафы купе
    Не смотря на то, что такой вид мебели как шкаф-купе появился относительно недавно, он уже успел завоевать сердца многочисленных поклонников. Несомненно, шкаф-купе очень вместительный и прекрасно вписывается

    Где купить качественные ссылки
    Большинство информации предлагаемой для изучения информации по продвижению ресурсов, непременно во главу угла ставят использование в интернет ресурсах качественного, уникального контента. Также для продвижения

rss