

При добавлении картинки в дополнительное поле, мы её получаем всего в одном размере: [xfvalue_"имя поля"]. Но как получить картинку иного размера?
Как мы знаем, DLE создаёт уменьшенные картинки в двух размерах (thumb и medium), в связи с чем пришла идея сделать удобное решение для данной проблемы.
Итак:
Будем редактировать 3 файла движка: show.short.php, show.full.php (2 раза) и show.custom.php, которые лежат в /engine/modules.
В каждом из этих файлов находим совпадение такого кода:
$preg_safe_name = preg_quote( $value[0], "'" );
И на следующей строке вставляем:
### Миниатюры фото ###
$tpl->copy_template = strpos($tpl->copy_template, "{thumb_".$value[0]."}") !== false ? is_file(ROOT_DIR . preg_replace("#.*?([0-9]{4}-[0-9]{2}/)(?:thumbs/|medium/)?(.*?)#is", "/uploads/posts/$1thumbs/$3", $xfieldsdata[$value[0]])) ? str_replace("{thumb_".$value[0]."}", preg_replace("#(.*?)?([0-9]{4}-[0-9]{2}/)(?:thumbs/|medium/)?(.*?)#is", "/uploads/posts/$2thumbs/$4", $xfieldsdata[$value[0]]), $tpl->copy_template) : str_replace("{thumb_".$value[0]."}", preg_replace("#(.*?)?([0-9]{4}-[0-9]{2}/)(thumbs/|medium/)?(.*?)#is", "/uploads/posts/$2$4", $xfieldsdata[$value[0]]), $tpl->copy_template) : $tpl->copy_template;
$tpl->copy_template = strpos($tpl->copy_template, "{medium_".$value[0]."}") !== false ? is_file(ROOT_DIR . preg_replace("#.*?([0-9]{4}-[0-9]{2}/)(?:thumbs/|medium/)?(.*?)#is", "/uploads/posts/$1medium/$3", $xfieldsdata[$value[0]])) ? str_replace("{medium_".$value[0]."}", preg_replace("#(.*?)?([0-9]{4}-[0-9]{2}/)(?:thumbs/|medium/)?(.*?)#is", "/uploads/posts/$2medium/$4", $xfieldsdata[$value[0]]), $tpl->copy_template) : str_replace("{medium_".$value[0]."}", preg_replace("#(.*?)?([0-9]{4}-[0-9]{2}/)(thumbs/|medium/)?(.*?)#is", "/uploads/posts/$2$4", $xfieldsdata[$value[0]]), $tpl->copy_template) : $tpl->copy_template;
$tpl->copy_template = strpos($tpl->copy_template, "{full_".$value[0]."}") !== false ? str_replace("{full_".$value[0]."}", preg_replace("#(.*?)?([0-9]{4}-[0-9]{2}/)(thumbs/|medium/)?(.*?)#is", "/uploads/posts/$2$4", $xfieldsdata[$value[0]]), $tpl->copy_template) : $tpl->copy_template;
ВНИМАНИЕ! Для show.full.php в первом совпадении заменить в коде выше все переменные $tpl на $tpl2. Это нужно для работы тегов в relatednews.tpl.
Что же дальше? После проделанных замен вы можете использовать 3 новых тега:
Где "имя" является названием вашего доп. поля с фото. Как вы уже догадались может быть масса полей с разными фото и вы сможете в нужном месте шаблона доставать фото необходимого размера!
Также хочу обратить внимание, что не важно, какая картинка была добавлена в доп. поле (ссылка на миниатюру или на большое фото), вы всё равно получите нужный размер. Все возвращаемые ссылки будут вида: "/uploads/posts/2016-01/фото.формат"
CMS: DLE
Категория: Хаки, плагины, баг-фиксы
Версия движка: 10-13
Язык: Русский
Автор: IDteam
Опубликовал: Дмитрий
а сейчас может Зарегистрируемся?

Навигация
Реклама
ТОП 7 Недели Портала

S.T.A.L.K.E.R. 2 — Новая кровь в зоне | Painter of the Zone Better Blood Wallmarks
Геймплей и изменения

Звездные войны: Опорная команда | Star Wars: Skeleton Crew
Фильмы

Bleach Rebirth of Souls - Ultimate Edition
Action

Kaiserpunk - Supporter Edition [Portable]
Стратегии

Vidar Dicom Viewer Lite
Софт

Kaiserpunk - Supporter Edition [P2P]
Стратегии
Copyright © 2025 | Проект GiG-LiFe.ru
Материалы на этом сайте взяты из общедоступных источников и могут быть удалены по просьбе авторов, при наличии доказательства авторства.
Materials on this site are taken from public sources and may be deleted at the request of their authors when there is evidence of authorship.