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

Переопределение классов и методов

Ответов: 1
Иван
03.04.2023 20:02

Такой вопрос, есть ли возможность переопределять классы и методы из ядра. Например есть методы для пагинации, но html код формируется прямо в ядре, и чтобы изменить разметку пагинации, получается, что необходимо вносить правки в ядро, а этого хочется избежать. Так вот можно ли где-то разместить дублирующий метод, вместо исходного? Или это нужно с нуля весь класс переписать в плагин и уже обращаться к собственному классу?

Прочтений: 1047
Ответов: 1
Admin
04.04.2023 10:37

Да, класс Pager вы можете унаследовать, и переопределить для него метод display().
Еще можно например запустить обычный Pager, передать его объект в модель и там уже воспользоваться методами Pager для генерации нужной разметки. Достать параметры пагинации можно из специальных акцессоров у класса Pager

class Pager { 
...

//Total number of elements in list (usually current table).
private $total;
   
//Limit of elements to show per one page.
private $limit;
   
//Total number of pages according to $this -> total and $this -> limit
private $intervals;
   
//First element to show from current page according to params.
private $start;
   
//Current number of page to show (usually passed from GET).
private $page;

//Accessors
public function getTotal() { return $this -> total; }
public function getIntervals() { return $this -> intervals; }
public function getStart() { return $this -> start; }
public function getLimit() { return $this -> limit; }
public function getPage() { return $this -> page; }
Ответить на вопрос
Ответить
MV tracker

© 2014-2025, MV framework team

English MV tracker project Github

Поделиться