MV framework logo
  • Архитектура
  • Философия
  • Админ панель
  • Поддержка
  • Обратная связь
Документация
Скачать .zip версия 3.2.0 от 25.12.2024
  • Архитектура
  • Философия
  • Админ панель
  • Поддержка
  • Обратная связь
Начало работы
  • Установка и запуск
  • Структура папок
  • Запуск простого сайта
  • Предустановленные модели
  • SQLite начало работы
  • Системные настройки
  • Миграции
  • Отладка
Модели
  • Общие принципы моделей
  • Типы данных
  • Настройка модели
  • Простые модели
  • Внешние ключи
  • Деревья
  • Многие ко многим
  • Группа
  • Управление записями
  • Управление простыми моделями
  • Дополнительные возможности
Шаблоны и маршрутизация
  • Общие принципы шаблонов
  • Объект класса Router
  • Объект MV
  • Создание нового шаблона
  • Вывод данных в шаблоне
  • Объект класса Record
  • Файлы и изображения
  • Дата и время
  • Редиректы и Http
  • Отправка email
  • Специальные методы
Формы
  • Создание форм
  • Настройка полей формы
  • Валидация полей формы
  • Безопасность форм
  • Работа с данными формы
  • Использование данных из моделей
  • Методы форм
SQL запросы
  • Конструктор запросов
  • Прямые запросы
  • Постраничная разбивка
  • Сортировка
  • Фильтрация
Дополнительно
  • AJAX
  • Плагины
  • Кэширование
  • Безопасность
  • Дополнения к административной панели
Документация
Начало работы
  • Установка и запуск
  • Структура папок
  • Запуск простого сайта
  • Предустановленные модели
  • SQLite начало работы
  • Системные настройки
  • Миграции
  • Отладка
Модели
  • Общие принципы моделей
  • Типы данных
  • Настройка модели
  • Простые модели
  • Внешние ключи
  • Деревья
  • Многие ко многим
  • Группа
  • Управление записями
  • Управление простыми моделями
  • Дополнительные возможности
Шаблоны и маршрутизация
  • Общие принципы шаблонов
  • Объект класса Router
  • Объект MV
  • Создание нового шаблона
  • Вывод данных в шаблоне
  • Объект класса Record
  • Файлы и изображения
  • Дата и время
  • Редиректы и Http
  • Отправка email
  • Специальные методы
Формы
  • Создание форм
  • Настройка полей формы
  • Валидация полей формы
  • Безопасность форм
  • Работа с данными формы
  • Использование данных из моделей
  • Методы форм
SQL запросы
  • Конструктор запросов
  • Прямые запросы
  • Постраничная разбивка
  • Сортировка
  • Фильтрация
Дополнительно
  • AJAX
  • Плагины
  • Кэширование
  • Безопасность
  • Дополнения к административной панели
MV tracker

Читабельные ссылки для страниц ЧПУ

Ответов: 2
Viktor
11.11.2014 13:28

Здравствуйте, как можно настроить ЧПУ для страниц модели? и есть ли возможность установить автоматику для преобразования названия страницы в ссылку?

Прочтений: 2229
Ответов: 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

Большое спасибо

Ответить на вопрос
Ответить
MV tracker

© 2014-2025, MV framework team

English MV tracker project Github

Поделиться