Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Шаблоны (TPL) Как узнать путь к полной картинки fullstory

Как узнать путь к полной картинки fullstory


     06.01.2014    Шаблоны (TPL)    3345

вопрос
{image-x} дает путь к маленькой картинке


А как узнать полный путь если текст выводится через

 {full-story limit="x"}


т.е. без форматирования

Спасибо за ответ.

Ответил: rocksmart


Корректировка show.full.php

Это для выборки из $row['short_story']

Строка

if (stripos ( $tpl->copy_template, "{image-" ) !== false)


Изменить на

if (stripos ( $tpl->copy_template, "{image-" ) !== false || stripos ( $tpl->copy_template, "{imageLarge-" ) !== false )


Далее после строки


$tpl->copy_template = str_replace( '[/image-'.$i.']', "", $tpl->copy_template );


Вставить

//Проверяем на нашем ли хостинге находится картинка                    
$checkMyServer = parse_url($url);    
if(stripos($config['http_home_url'], $checkMyServer['host'] ) !== false && stripos($checkMyServer['path'],'/thumbs/') !== false){
$tpl->copy_template = str_replace( '{imagelarge-'.$i.'}', str_replace('thumbs/','',$url), $tpl->copy_template );
}else{$tpl->copy_template = str_replace( '{imagelarge-'.$i.'}',$url, $tpl->copy_template );}    
$tpl->copy_template = str_replace( '[imagelarge-'.$i.']', "", $tpl->copy_template );
$tpl->copy_template = str_replace( '[/imagelarge-'.$i.']', "", $tpl->copy_template );



После строк


$tpl->copy_template = preg_replace( "#\[image-(.+?)\](.+?)\[/image-(.+?)\]#is", "", $tpl->copy_template );
            $tpl->copy_template = preg_replace( "#\\{image-(.+?)\\}#i", "{THEME}/dleimages/no_image.jpg", $tpl->copy_template );


Вставить

$tpl->copy_template = preg_replace( "#\[imagelarge-(.+?)\](.+?)\[/imagelarge-(.+?)\]#is", "", $tpl->copy_template );
            $tpl->copy_template = preg_replace( "#\\{imagelarge-(.+?)\\}#i", "{THEME}/dleimages/no_image.jpg", $tpl->copy_template );    


Это для выборки из $row['full_story']


Строка

if (stripos ( $tpl->copy_template, "{fullimage-" ) !== false)



Заменить на

if (stripos ( $tpl->copy_template, "{fullimage-" ) !== false || stripos ( $tpl->copy_template, "{imagelarge-" ) !== false )


Далее после строки

$tpl->copy_template = str_replace( '[/fullimage-'.$i.']', "", $tpl->copy_template );



Вставить


//Проверяем на нашем ли хостинге находится картинка                    
$checkMyServer = parse_url($url);    
if(stripos($config['http_home_url'], $checkMyServer['host'] ) !== false && stripos($checkMyServer['path'],'/thumbs/') !== false){
$tpl->copy_template = str_replace( '{fullimagelarge-'.$i.'}', str_replace('thumbs/','',$url), $tpl->copy_template );
}else{$tpl->copy_template = str_replace( '{fullimagelarge-'.$i.'}',$url, $tpl->copy_template );}    
$tpl->copy_template = str_replace( '[fullimagelarge-'.$i.']', "", $tpl->copy_template );
$tpl->copy_template = str_replace( '[/fullimagelarge-'.$i.']', "", $tpl->copy_template );



Далее после строк

$tpl->copy_template = preg_replace( "#\[fullimage-(.+?)\](.+?)\[/fullimage-(.+?)\]#is", "", $tpl->copy_template );
$tpl->copy_template = preg_replace( "#\\{fullimage-(.+?)\\}#i", "{THEME}/dleimages/no_image.jpg", $tpl->copy_template );


Вставить

$tpl->copy_template = preg_replace( "#\[fullimagelarge-(.+?)\](.+?)\[/fullimagelarge-(.+?)\]#is", "", $tpl->copy_template );
$tpl->copy_template = preg_replace( "#\\{fullimagelarge-(.+?)\\}#i", "{THEME}/dleimages/no_image.jpg", $tpl->copy_template );    




В шаблоне fullstory.tpl работает также как и теги {image-x}, {fullimage-x}, только со следующим названием

{imagelarge-x}
{fullimagelarge-x}

<a href="{imagelarge-1}"><img src="{image-1}"></a>
        <a href="{imagelarge-2}"><img src="{image-2}"></a>
        <a href="{fullimagelarge-1}"><img src="{fullimage-1}"></a>






Комментарии пользователей (7)

tcse
1

39 | 22

tcse - 7 января 2014 16:02 - Юзер

А можно уточнить, для каких целей необходим прямой путь до картинки?

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

wcw2007
8

94 | 42

wcw2007 - 7 января 2014 23:56 - Юзер

В слайдер засунуть

therezor
3

therezor - 11 января 2014 01:28 - Юзер


Спасибо, давно искал.
Хак применим для show.short и для show.custom.php

ws17
8

ws17 - 28 сентября 2014 08:08 - Юзер

Ребята а как сделать что бы маленькая картинка была кликабельная ??

cygnus
4

cygnus - 16 января 2016 22:33 - Юзер

ws17,С данным хаком в полной новости можно так: <a href="{fullimagelarge-x}"><img src="{fullimage-x}" /></a>

cygnus
4

cygnus - 17 января 2016 01:23 - Юзер

Для вывода полной картинки в этом же окне, при клике на маленькую, можно использовать такую конструкцию:
<a href="{fullimagelarge-1}" title="{title}" target="_blank" onclick="return hs.expand(this);"><img src="{fullimage-1}" alt="{title}"/></a>

З.Ы. Получается аналогично тегам [thumb] [/thumb] в самой новости.

finik
54 | 5

finik - 5 февраля 2016 21:48 - Юзер

В шаблоне shortstory.tpl картинка выводится таким образом:
<div class="img" style="background-image:url({image-1});"></div>

но проблема в том, что изначально для картинки использовалось доп.поле и картинка была одна для шортстри и фуллстори.

картинки в шортстори нет, а в полной новости картинка выводится через доп.поле image

вариант:
<div class="img" style="background-image:url([xfvalue_image]);"></div>

не подходит, так как картинка выводится с thumb, а нужна только одна картинка - либо уменьшенная копия, либо полное изображение.

подскажите, как получить прямую ссылку на картинку (уменьшенную или полную) из доп.поля, с возможностью использования в шортстори?

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы