Читабельные ссылки для страниц ЧПУ
Ответов: 2
Viktor
11.11.2014 13:28
Здравствуйте, как можно настроить ЧПУ для страниц модели? и есть ли возможность установить автоматику для преобразования названия страницы в ссылку?
Прочтений: 2366
Ответов: 2
Admin
13.11.2014 06:46
Для настройки читабельных URL для страниц необходимо пройти следующие шаги
1. Добавить поле типа url в модель
2. При формировании списка ссылок для модели ставить заполненные значения url
3. При определении страницы учитывать возможные значения поля url
//Добавляем поле в модель
array("Ссылка", "url", "url", array("unique" => true))
//Вывод списка ссылок в модели
public function display()
{
$rows = $this -> select(array("active" => 1, "parent" => 56));
foreach($rows as $row)
{
$url = $this -> root_path."product/".($row['url'] ? $row['url'] : $row['id'])."/";
$html .= '<li><a href="'.$url.'">'.$row['name'].'</a></li>';
...
}
...
}
//Поиск страницы по URL в модели
public function defineProductPage(Router $router)
{
$url_parts = $router -> getUrlParts();
$record = false;
if(count($url_parts) == 2)
if(is_numeric($url_parts[1]))
$record = $this -> findRecord(array("id" => $url_parts[1], "active" => 1));
else
$record = $this -> findRecord(array("url" => $url_parts[1], "active" => 1));
if($record)
$this -> id = $record -> id;
return $record;
}
//В шаблоне для отображения
<?
$product = $mv -> products -> defineProductPage($mv -> router);
$mv -> display404($product);Viktor
13.11.2014 10:58
Большое спасибо
Ответить на вопрос