Все для DataLife Engine / DLE хаки / Хак для DLE / Хак DLE Получаем thumb и medium из доп. полей

Хак DLE Получаем thumb и medium из доп. полей

Хак достаем thumb и medium из доп. полей
Как достать thumb и medium из доп. полей? Поможет хак DLE Получаем thumb и medium из доп. полей, который позволит вам получать картинки из дополнительных полей разного размера. Если вы применяете доп поля на своего сайте, знаете, что при добавление изображений в дополнительное поле, получаются все картинки одного размера: [xfvalue_"имя поля"] и хотите изменить это, то хак достаем thumb и medium из доп. полей поможет получить картинку и других размеров.

Как мы знаем, 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/фото.формат"

Автор: IDteam
Версия datalife engine : 10 - 13

Скачать хаки dle с инструкцией в архиве по следующей ссылке

haki-dle-dostaem-thumb-i-medium-iz-dop_-polej.rar [30,82 Kb] (cкачиваний: 59)
  • 80
Добавить комментарий

Оставить комментарий

    • bowtiesmilelaughingblushsmileyrelaxedsmirk
      heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
      winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
      worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
      expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
      disappointedconfoundedfearfulcold_sweatperseverecrysob
      joyastonishedscreamtired_faceangryragetriumph
      sleepyyummasksunglassesdizzy_faceimpsmiling_imp
      neutral_faceno_mouthinnocent