MV framework logo
  • Архитектура
    • Философия
    • Технологии
    • CMF
    • История версий
  • Админ панель
  • Поддержка
  • Обратная связь
  • Примеры кода
    • Новостная лента
    • Слайдер с баннерами
    • Список с фильтрацией
    • Форма с загрузкой файла
    • AJAX форма на jQuery
    • Вопросы и ответы
    • Каталог с товарами
    • Авторизация пользователя
    • Регистрация пользователя
    • Личный кабинет пользователя
Скачать Версия 2.7 от 06.06.2023
Документация
  • Архитектура
    • Философия
    • Технологии
    • CMF
    • История версий
  • Админ панель
  • Поддержка
  • Обратная связь
  • Примеры кода
    • Новостная лента
    • Слайдер с баннерами
    • Список с фильтрацией
    • Форма с загрузкой файла
    • AJAX форма на jQuery
    • Вопросы и ответы
    • Каталог с товарами
    • Авторизация пользователя
    • Регистрация пользователя
    • Личный кабинет пользователя
Начало работы
  • Установка и запуск
  • Структура папок
  • Запуск простого сайта
  • Предустановленные модели
  • SQLite начало работы
  • Системные настройки
  • Миграции
Модели (models)
  • Общие принципы моделей
  • Типы данных
  • Настройка модели
  • Простые модели
  • Внешние ключи
  • Деревья
  • Многие ко многим
  • Группа
  • Управление записями
  • Управление простыми моделями
  • Дополнительные возможности
Шаблоны (views) и маршрутизация (routes)
  • Общие принципы шаблонов
  • Объект класса Router
  • Объект MV
  • Index, default и 404 шаблоны
  • Создание нового шаблона
  • Вывод данных в шаблоне
  • Объект класса Record
  • Файлы и изображения
  • Дата и время
  • Редиректы
  • Отправка email
  • Специальные методы
Формы
  • Создание форм
  • Настройка полей формы
  • Правила проверки полей формы
  • Проверка полей формы
  • Работа с данными формы
  • Использование данных из моделей
  • Методы форм
SQL запросы
  • Конструктор запросов
  • Прямые запросы
  • Постраничная разбивка
  • Сортировка
  • Фильтрация
  • Загрузка из csv файлов
Сессии и безопасность
  • Работа с сессиями
  • AJAX
  • Кэширование
  • Безопасность
  • Отладка
Плагины
  • Общие принципы плагинов
  • Дополнения к административной панели
Документация
Начало работы
  • Установка и запуск
  • Структура папок
  • Запуск простого сайта
  • Предустановленные модели
  • SQLite начало работы
  • Системные настройки
  • Миграции
Модели (models)
  • Общие принципы моделей
  • Типы данных
  • Настройка модели
  • Простые модели
  • Внешние ключи
  • Деревья
  • Многие ко многим
  • Группа
  • Управление записями
  • Управление простыми моделями
  • Дополнительные возможности
Шаблоны (views) и маршрутизация (routes)
  • Общие принципы шаблонов
  • Объект класса Router
  • Объект MV
  • Index, default и 404 шаблоны
  • Создание нового шаблона
  • Вывод данных в шаблоне
  • Объект класса Record
  • Файлы и изображения
  • Дата и время
  • Редиректы
  • Отправка email
  • Специальные методы
Формы
  • Создание форм
  • Настройка полей формы
  • Правила проверки полей формы
  • Проверка полей формы
  • Работа с данными формы
  • Использование данных из моделей
  • Методы форм
SQL запросы
  • Конструктор запросов
  • Прямые запросы
  • Постраничная разбивка
  • Сортировка
  • Фильтрация
  • Загрузка из csv файлов
Сессии и безопасность
  • Работа с сессиями
  • AJAX
  • Кэширование
  • Безопасность
  • Отладка
Плагины
  • Общие принципы плагинов
  • Дополнения к административной панели
MV tracker

Специальные методы

Даннная группа методов предназначена для проведения разовых операций с данными без взаимодействия с другими свойствами и методами классов. Большая часть таких функций - статические и расположены в классе Service.

  • cutText($text, $length[, $end]) - обрезка текста до нужного количества символов с сохранением последнего слова. В необязательно параметре можно передать строковое значение, которое будет добавлено к обрезанному тексту если, исходный текст длиннее значения $length
  • randomString($length) - возвращает случайную строку на латинице в нижнем регистре
  • strongRandomString($length) - возвращает случайную строку на латинице с символами в верхнем и нижнем регистрах
  • addFileRoot($path) - добавляет корень файловой системы к файлу, $path должен начинаться от корня проекта, без начального "/" (обычно "userfiles/models/...")
  • removeFileRoot($path) - убирает корень файловой системы, оставляя путь до файла от корня проекта без начального "/"
  • getExtension($file) - возвращает расширение файла (без точки)
  • removeExtension($file) - возвращает значение пути файла без расширения
  • setFullHttpPath($path) - добавляет к ссылке текущий домен из файла config/setup.php
  • translateFileName($file_name) - переводит в транслит на латинице название файла
  • addRootPath($path) - добавляет к ссылке корень сайта
  • removeRootPath($path) - убирает у ссылки корень сайта

Примеры использования методов класса Service.

echo Service :: cutText($text, 200, "...");

echo Service :: randomString(7);

echo Service :: setFullHttpPath("news/25/");

Добавление водяного знака на изображение

Для наложения водяного знака на изображение необходимо в начале подготовить файл (желательно полупрозрачный в png формате). Файл можно разместить в папке "media/images/". Далее при создании уменьшенной копии изображения необходимо передать параметры как на примерах ниже. Изначально водяной знак устанавливается по центру, при этом его можно двигать при помощи следующих параметров:

  • "watermark-margin-top" - отступ от верхнего края
  • "watermark-margin-right" - отступ от правого края
  • "watermark-margin-bottom" - отступ от нижнего края
  • "watermark-margin-left" - отступ от левого края

Внимание! Если для изображений ранее уже создавались уменьшенные копии (после вызова методов cropImage или resizeImage), то их необходимо удалить, и тогда новые изображения будут иметь водной знак.

//Добавление водяного знака на уменьшенную копию изображения внутри класса модели

$image_params = array("watermark" => "media/images/watermark.png");

$image = $this -> cropImage($this -> getFirstImage($row['images']), 250, 250, $image_params);

//Добавление водяного знака со смещением

$image_params = array("watermark" => "media/images/watermark.png", "watermark-margin-right" => 10, "watermark-margin-top" => 10);

$image = $this -> resizeImage($this -> getFirstImage($row['images']), 250, 250, $image_params);

//Добавление водяного знака с центровкой
$image_params = array("watermark" => "media/images/watermark.png", "watermark-center-position" => true);

$image = $this -> cropImage($this -> getFirstImage($row['images']), 170, 170, $image_params);

//Добавление водяного знака на первое изображение галереи для лайтбокса

if($product -> images)
{
    $image = $product -> getFirstImage("images");

    $image_params = array("watermark" => "media/images/watermark.png", "only-source" => true,
                          "watermark-margin-left" => 5, "watermark-margin-bottom" => 5);

    $image_source = $mv -> products -> resizeImage($image, 1200, 1200, $image_params);  

    unset($image_params["only-source"]);

    $image_params["alt-text"] = $product -> name;

    echo "<a class="fancybox" rel="group" href="".$image_source."">"; 
        
    echo $mv -> products -> resizeImage($image, 340, 280, $image_params);

    echo "</a>";
}

Предыдущий раздел

Отправка email

Следующий раздел

Создание форм
MV tracker

© 2012-2023, MV framework team

English MV task tracker system Лицензия

Поделиться