К содержанию

phpThumbOn и название кэшированного файла

Приветствую!
На сайте используется phpThumbOn. Как реализовать кастомные названия картинок?

В документации нашел такой параметр:

phpthumbon.make_cachename

Сниппет должен вернуть сериализованный массив со следующими ключами:
_cacheFileName (имя файла с полным адресом относительно корня сервера)
_cacheSuffix (суффикс в имени кеш файла)
_globThumb (шаблон поиска других превьюх этого же файла)

К сожалению в написание сниппетов у меня не очень. Подскажите в какую сторону копать или может быть у кого-то есть уже готовые примеры.

Заранее благодарен!
Глеб
Глеб
05 июля 2016, 07:49
modx.pro
3 602
Реклама

Комментарии: 10

Павел Гвоздь
Павел Гвоздь Эксперт
06 июля 2016, 13:20
А какую именно кастомизацию нужно сделать? Вот код сниппета (нужно создать и указать в настройке phpthumbon.make_cachename), который выполняет всё то-же самое, что выполняется в компоненте с названиями превьюх:
// Папка в которой лежат превьюхи текущей картинки
$cacheFileDir = rtrim($phpThumbOn->_config['_cachePath'],'/').'/'.$filename;

// Для поиска других превьюх с этого же файла
$_globThumb = $cacheFileDir."_[0-9]*x[0-9]*_???.{jpeg,gif,bmp,jpg,png}";
$w = isset($phpThumbOn->_config['_options']['w']) ? $phpThumbOn->_config['_options']['w'] : 0;
$h = isset($phpThumbOn->_config['_options']['h']) ? $phpThumbOn->_config['_options']['h'] : 0;

// Уникальный суффикс в имени файла превьюхи
$_cacheSuffix = $w.'x'.$h.'_'.substr(md5(serialize($phpThumbOn->_config['_options'])),0,3);

// Кеш файл превьюхи
$_cacheFileName = $cacheFileDir . "_". $_cacheSuffix . "." . $phpThumbOn->_config['_options']['f'];

return serialize(array(
    '_cacheFileName' => $_cacheFileName,
    '_cacheSuffix' => $_cacheSuffix,
    '_globThumb' => $_globThumb,
));
Его можно подкорректировать под свои нужды.
    Глеб
    Глеб Старожил
    06 июля 2016, 13:26
    Кастомизация нужна, исключительно чтобы кириллицы в названии файла не было.
      Павел Гвоздь
      Павел Гвоздь Эксперт
      06 июля 2016, 14:13
      А откуда качал пакет? Из оф репа или модстор?
        Глеб
        Глеб Старожил
        06 июля 2016, 14:21
        modx.com (официальный реп.)
          Павел Гвоздь
          Павел Гвоздь Эксперт
          06 июля 2016, 14:29
          Я чуть больше полу года назад попросил Евгения Борисова (автор пакета до версии 1.3.0) передать поддержку и доработки над пакетом мне, он любезно согласился, но в modx.com 1.3.1-pl выкладывал не я и в связи с этим не могу обновить пакет там. Так что исправления, которые вносил я (по корректировке кириллицы в названиях превьюх) есть только в версии 1.3.1-pl на modstore.pro. Качай отсюда.
            Глеб
            Глеб Старожил
            06 июля 2016, 14:39
            prntscr.com/bpgyrx
            Это не тот? написано что 1.3.1
              Павел Гвоздь
              Павел Гвоздь Эксперт
              06 июля 2016, 14:43
              Из modstore качал?..
                Глеб
                Глеб Старожил
                06 июля 2016, 14:47
                нет, из официального репозитория
                prntscr.com/bph21g

                там доступен 1.3.1
                  Павел Гвоздь
                  Павел Гвоздь Эксперт
                  06 июля 2016, 14:50
                  Ну тогда перечитай пожалуйста и постарайся сделать так, как я там написал.
                    Глеб
                    Глеб Старожил
                    06 июля 2016, 14:52
                    Хорошо, спасибо!
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    10