Sapid
  › SAPID CMF r.99   › Пользователи   › Группы   › Регистрация  › Профиль  › FAQ  › Поиск  › Вход
Подстановка расширения файла в конец URL

 
Начать новую тему   Ответить на тему    Список форумов sapid-club.com -> Success stories
Предыдущая тема :: Следующая тема  
Автор Сообщение
Zik
Grandmaster
Grandmaster


Зарегистрирован: 27.06.2005
Сообщения: 490
Откуда: Russia, Moscow

СообщениеДобавлено: Пн Мар 27, 2006 2:07 pm    Заголовок сообщения: Подстановка расширения файла в конец URL Ответить с цитатой

Чтобы получить возможность навигации по сайту через URL’ы вида http://www.some.com/unit1/page.html нужно всего две вещи:
А) подставить во все расширения системы в возвращаемые в DDC URL’ы нужное нам расширение;
Б) «вырезать» это расширение перед разбором URL’a в SAPID’е.

Сначала сделаем пункт Б:
Открываем файл /mvc/controller/requesturi_analysis.inc.php, и после строки
Код:

if (!defined("SAPID_STARTED")) die("Hacking attempt!");

пишем вот так:
Код:

$_SERVER["REQUEST_URI"]=preg_replace("/.html/", "", $_SERVER["REQUEST_URI"]);


Теперь вернемся к пункту А, тут все посложнее. Точнее мороки побольше. Нам нужно просмотреть все файлы папки /usr/extensions/ и повставлять в нужные места расширение, чтобы возвращалась уже ссылка с расширением.

Вт пример такой реализации для get_infochannel.inc.php:

Находим следующие строки (в коде они идут не друг за другом подряд):
Код:

//...
$stream[$key]["MORE"]= $baseurl . ($stream[$key]["ID"]);
//...
 $stream[$key]["to_select"] = $baseurl . 'data/ic_' . $CHANNEL . '/' . ($stream[$key]["ID"]);
//...
$stream[$_key]["prev_to_select"] = $baseurl . 'data/ic_' . $CHANNEL . '/' . ($_prev["ID"]);
//...
$stream[$_key]["next_to_select"] = $baseurl . 'data/ic_' . $CHANNEL . '/' . ($_next["ID"]);
//...
$sapi_obj->env["this.navigation.next.href"]=$sapi_obj->env[$CHANNEL.".navigation.next.href"]= $baseurl."data/$CHANNEL/rowselect-".((int)$limit_finish+1)."-".($limit).( $sapi_obj->env["argv_nav"][2]=="filter"?"filter/".$sapi_obj->env["argv_nav"][3]."/":"" );
//...
$sapi_obj->env["this.navigation.previous.href"]= $sapi_obj->env[$CHANNEL.".navigation.previous.href"]= $baseurl."data/$CHANNEL/rowselect-".((int)$beg)."-".($limit).( $sapi_obj->env["argv_nav"][2]=="filter"?"filter/".$sapi_obj->env["argv_nav"][3]."/":"" );

И заменяем на:
Код:

//...
$stream[$key]["MORE"]= $baseurl . ($stream[$key]["ID"]) . '.html';
//...
$stream[$key]["to_select"] = $baseurl . 'data/ic_' . $CHANNEL . '/' . ($stream[$key]["ID"]) . '.html';
//...
$stream[$_key]["prev_to_select"] = $baseurl . 'data/ic_' . $CHANNEL . '/' . ($_prev["ID"]) . '.html';
//...
$stream[$_key]["next_to_select"] = $baseurl . 'data/ic_' . $CHANNEL . '/' . ($_next["ID"]) . '.html';
//...
$sapi_obj->env["this.navigation.next.href"]=$sapi_obj->env[$CHANNEL.".navigation.next.href"]= $baseurl."data/$CHANNEL/rowselect-".((int)$limit_finish+1)."-".($limit).".html".( $sapi_obj->env["argv_nav"][2]=="filter"?"filter/".$sapi_obj->env["argv_nav"][3]."/":"" );
//...
$sapi_obj->env["this.navigation.previous.href"]= $sapi_obj->env[$CHANNEL.".navigation.previous.href"]= $baseurl."data/$CHANNEL/rowselect-".((int)$beg)."-".($limit).".html".( $sapi_obj->env["argv_nav"][2]=="filter"?"filter/".$sapi_obj->env["argv_nav"][3]."/":"" );


Т.е. просто добавили расширение в конец каждого из возвращаемых в DDC URL'ов.

Тоже самое нужно проделать и со всеми расширениями, которые используются на сайте, например get_tree:

Находим строку:
Код:

$stream[$cnt]["HREF"]=$http_path.substr($item["HREF"], 1, strlen($item["HREF"])-2);

И заменяем её на:
Код:

$stream[$cnt]["HREF"]=$http_path.substr($item["HREF"], 1, strlen($item["HREF"])-2).'.html';


И так далее.

Удачи! Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов sapid-club.com -> Success stories Часовой пояс: GMT
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы можете скачивать файлы

eXTReMe Tracker
CMS SAPID спонсирует компания RG Lab - разработка комплексных интернет-решений и веб-интеграция SAPID Club