Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Хаки » {image-1} для dle 9.3

{image-1} для dle 9.3


     04.09.2013    Все вопросы » Хаки    4134

вопрос
День добрый. Сегодня мучался с блоком на главной странице сайта, который должен был выводить название новости и картинку из короткой новости. И в итоге у меня не отображалось изображение из новости в связи с тем что этот тег не работает на этой версии. Можно ли такое реализовать на 9.3
Заранее спасибо!

Ответа пока нет


5 комментариев

Sander
PHP-developer

Sander - 5 сентября 2013 01:07 -

Да собственно можно конечно, достаточно обработчик тега перенести
Выглядит от примерно так:
            $row['short_story'] = stripslashes($row['short_story']);

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

                $images = array();
                preg_match_all('/(img|src)=("|\')[^"\'>]+/i', $row['short_story'], $media);
                $data=preg_replace('/(img|src)("|\'|="|=\')(.*)/i',"$3",$media[0]);
    
                foreach($data as $url) {
                    $info = pathinfo($url);
                    if (isset($info['extension'])) {
                        if ($info['filename'] == "spoiler-plus" OR $info['filename'] == "spoiler-plus" ) continue;
                        $info['extension'] = strtolower($info['extension']);
                        if (($info['extension'] == 'jpg') || ($info['extension'] == 'jpeg') || ($info['extension'] == 'gif') || ($info['extension'] == 'png')) array_push($images, $url);
                    }
                }
    
                if ( count($images) ) {
                    $i_count=0;
                    foreach($images as $url) {
                        $i_count++;
                        $tpl->copy_template = str_replace( '{image-'.$i_count.'}', $url, $tpl->copy_template );
                        $tpl->copy_template = str_replace( '[image-'.$i_count.']', "", $tpl->copy_template );
                        $tpl->copy_template = str_replace( '[/image-'.$i_count.']', "", $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 );
    
            }

SanDev.pro - мой блог.

Telegram: @sandev
Skype: Sander8804

bembelby
Юзер

bembelby - 5 сентября 2013 19:33 -

Sander, код прикрутил...но не работает ((

Sander
PHP-developer

Sander - 5 сентября 2013 23:25 -

Значит не туда. Его же тоже надо вставлять не куда попало.

SanDev.pro - мой блог.

Telegram: @sandev
Skype: Sander8804

bembelby
Юзер

bembelby - 6 сентября 2013 07:04 -

Ставил в участок отвечающий за обработку дополнительных полей. После 410 строки
$row['short_story'] = stripslashes( $row['short_story'] );
}

Буду признателен за уже исправленный файл show.short.php под мои нужды. Простите за наглость :)

Pashokone
Юзер

Pashokone - 17 февраля 2015 04:00 -

bembelby,Интересует тоже самое, не работает тег {image-x} в {custom

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

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

наверх