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

{fullimage-x} в краткой новости DLE 10.2


     10.06.2014    Все вопросы » Хаки    3041

вопрос
Добрый день, сообщество.

Помогите прикрутить {fullimage-x} в краткую новость.

Да, эта тема тут всплывала как минимум 3 раза, но, увы, решения не работают на 10.2 (убил полдня, ставя по несколько раз каждое). А дело нужное. Вот даже тут одна нормальная форма для добавления, вместо двух.

В общем, помогите, пожалуйста.

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


3 комментария

vitnet
PHP-developer

vitnet - 10 июня 2014 17:41 -

Лично я оставлял рабочий вариант проверенный в 9.7,10.2. Видимо все-таки проблема в вас.

VooDoo
Юзер

VooDoo - 11 июня 2014 15:38 -

vitnet, именно этого поста не видел, но ставил что-то похожее из другого. Попробовал Ваш вариант - заработало. Но вскрылось несколько важных моментов.

Отваливается тег [full-link]...[/full-link]. Точнее с ним не показывается картинка вообще.

Например
[full-link] <img src="{image-full-1}" alt="{title}" title="{title}" />[/full-link]


Все прекрасно работает при конструкции
<a href="{full-link}"><img src="{image-full-1}" alt="{title}" title="{title}" /></a>


Почти наверняка из-за этого и предыдущие попытки не давали результата. Дьявок, как всегда, кроется в мелочах описания.

Если используется только одна форма при добавлении новости, то это должна быть Fullstory иначе выводится no-image

За решение большое спасибо. А вот на личности лучше не переходить.

VooDoo
Юзер

VooDoo - 11 июня 2014 17:03 -

Еще один важный момент. Слетает вывод изображений в Custom

Простая вставка кода
$row['full_story'] = stripslashes($row['full_story']);

        // out this tags "{image-full-x}"
        if( stripos ( $tpl->copy_template, "{image-full-" ) !== false ) {
            $images = array();
            preg_match_all('/(img|src)=("|\')[^"\'>]+/i', $row['full_story'], $media);
            $data = preg_replace('/(img|src)("|\'|="|=\')(.*)/i',"$3",$media[0]);
    
            foreach($data as $url) {
                $info = pathinfo($url);
                if( isset($info['extension']) ) {
                    $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-full-' . $i_count . '}', $url, $tpl->copy_template );
                    $tpl->copy_template = str_replace( '[image-full-' . $i_count . ']', "", $tpl->copy_template );
                    $tpl->copy_template = str_replace( '[/image-full-'. $i_count . ']', "", $tpl->copy_template );
                }
            }

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

        // out this tags "{full-story limit="x"}"
        if( preg_match( "#\\{full-story limit=['\"](.+?)['\"]\\}#i", $tpl->copy_template, $matches ) ) {
            $count = intval($matches[1]);

            $row['full-story'] = str_replace( "</p><p>", " ", $row['full_story'] );
            $row['full-story'] = strip_tags( $row['full-story'], "<br>" );
            $row['full-story'] = trim(str_replace( "<br>", " ", str_replace( "<br />", " ", str_replace( "\n", " ", str_replace( "\r", "", $row['full-story'] ) ) ) ));
    
            if( $count AND dle_strlen( $row['full-story'], $config['charset'] ) > $count ) {
                $row['full-story'] = dle_substr( $row['full-story'], 0, $count, $config['charset'] );
                if( ($temp_dmax = dle_strrpos( $row['full-story'], ' ', $config['charset'] )) ) $row['full-story'] = dle_substr( $row['full-story'], 0, $temp_dmax, $config['charset'] );
            }
    
            $tpl->set( $matches[0], $row['full-story'] );
        } else {
            $tpl->set( '{full-story}', $row['full_story'] );
        }
        // out this tags "{full-story limit=x}"


не дала эффекта. Пока ищу, где может быть подвох. Но помощь крайне приветствуется

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

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

наверх