По просьбам телезрителей рассказываю как это реализовать в WBG на примере стандартного textlist модуля.
Textlist модуль уже более менее готов под такое применение, но doomаю что никаких проблем у вас не должно возникнуть с любыми другими.
Итак, задача состоит из 3 частей:
а) Надо где-то вводить и хранить текстовой линк.
б) Модуль навигации должен выплюнть в output не ?doc=xxx а /textlink.html
в) Процессинг: WBG должен правильно разобрать URL, перейти в правильную категорию и открыть правильный документ.
а) В случае textlist модуля поле для URL уже готово и при save кладется в поле doc_url. Берем любой документ и в поле URL вводим ubertext.html
б) В файле modules/output/textlist_out/_text_list.php где
$link = '?doc='.$arr['id'];
ставим что-то типа
if ($arr['doc_url']){
$link = $arr['doc_url'];
} else {
$link = '?doc='.$arr['id'];
}
$link = $arr['doc_url'];
} else {
$link = '?doc='.$arr['id'];
}
в) Напоминаю - до категории WBG добирается так - разбирает URL, находит категорию с этим URL и переходит в OUTPUT модуль этой категории.
Поскольку линк мы получаем в виде http://www.site.com/eng/category/ubertext.html то по умолчанию WBG попытается найти категорию /eng/category/ubertext.html что неверно. Чтобы этого не происходило берем index.php и добавляем
$REQUEST_URI = preg_replace("![^/]+\.(php|html|htm|php5)!si" , "" , $REQUEST_URI);
чтобы в процессинг WBG пошло /eng/categoryТеперь WBG будет попадать в правильную категорию, осталось открывать правильный документ. В OUTPUT модуле (textlist_out.php в данном случае) в самое начало добавляем
if (preg_match("!/([^/]+[.]html)!siU", $_SERVER['REQUEST_URI'], $pattern)){
$DOC = mysql_fetch_assoc(mysql_query("SELECT id FROM _mod_textlist WHERE (doc_url='".$pattern[1]."') and active=1 and category_id='".$web->active_category."'"));
if ($DOC){
$_GET['doc'] = $DOC['id'];
}
}
Вот в принципе и все. Если найду времечко - расскажу как реализовывать много других полезных для SEO фишек. Кстати - сильно грамотный с точки зрения SEO сайтик на WBG - www.fashion2you.eu
Примеры и разбор реальных ситуаций
Документы раздела