Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по вёрстке » Как реализовать нумерацию картинок в полной новости?

Как реализовать нумерацию картинок в полной новости?


     16.03.2017    Все вопросы » Общие вопросы по вёрстке    1946

вопрос
Доброго всем времени суток. Задался вопросом реализовать нумерацию картинок в полной новости. Существует решение, но оно не работает на DLE 11.2

Вот как предлагают это сделать и как поправить этот код, что бы он работал на новых версиях DLE ?

1. Открываем файл engine/modules/show.full.php

Находим:

$tpl->set( '{full-story}', "<div id=\"news-id-" . $row['id'] . "\" style=\"display:inline;\">" . $row['full_story'] . "</div>");


Вставляем выше:

$o = 1;
function count_images($data) {global $o;return '<span class="image-counter">'.$o++.'</span>'.$data;}
        
$row['full_story'] = preg_replace_callback('/(<img\s+src=["\'])([^"\']+)(["\']\s+[^>]+>)/', create_function('$matches','return count_images($matches[0]);'), $row['full_story']);


Теперь вам остается разве что настроить стиль .image-counter

.image-counter {
position: absolute;
margin: 10px;
padding: 5px 10px;
color: #FFF;
font-size: 18px;
background-color: rgba(28, 9, 41, 0.6);
}


Что бы была нумерация как на картинке

$o = 1;
function count_images($data) {global $o;return '<div class="img-in-full"><span class="image-counter">'.$o++.'</span>'.$data.'&
lt;/ div>';}
        
$row['full_story'] = preg_replace_callback('/(<img\s+src=["\'])([^"
']+)(["\']\s+[^>]+>)/', create_function('$matches','return count_images($matches[0]);'), $row['full_story']);


Меня интересует именно второй вариант, что бы на картинке был номер. Заранее спасибо.

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


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

Dark5ider
Эксперт

Dark5ider - 16 марта 2017 23:21 -

До боли знакомый хак)

Класс img-in-full сделали?

Апельсин
Юзер

Апельсин - 16 марта 2017 23:57 -

Ага, выдаёт ошибку синтаксиса. Да, все стили прописал. Это Ваш хак?

Dark5ider
Эксперт

Dark5ider - 19 марта 2017 16:59 -

Так точно. Он самый.
Какую ошибку выдает? Скрины / Логи.
Может на сайте где вы инструкцию качали парсер чего натворил.

Апельсин
Юзер

Апельсин - 19 марта 2017 17:05 -

А можете ваш код сюда добавить, я его сразу и попробую. Может действительно парсер чего урезал.

Апельсин
Юзер

Апельсин - 4 апреля 2017 21:22 -

И так, получилось разобраться. Версия DLE 11.2

Правим файл engine/modules/show.full.php

Перед

[/code]]$tpl->set( '{full-story}', $row['full_story'] );


вставляем


$o = 1;
function count_images($data) {global $o;return '<div class="img-in-full"><span class="image-counter">'.$o++.'</span>'.$data.'</div>';}
      
$row['full_story'] = preg_replace_callback('/(<img\s+src=["\'])([^"\']+)(["\']\s+[^>]+>)/', create_function('$matches','return count_images($matches[0]);'), $row['full_story']);


и в файл стилей вашего шаблона, в engine.css вставляем


.image-counter {
position: absolute;
margin: 10px;
padding: 5px 10px;
color: #FFF;
font-size: 18px;
background-color: rgba(28, 9, 41, 0.6);
}

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

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

наверх