Скрыть объявление
ВАШИ ПРАВА ОГРАНИЧЕНЫ!

Зарегистрируйтесь на форуме, чтобы стать полноценным участником сообщества!

Нумерация изображений в полной новости

Тема в разделе "Хаки DLE", создана пользователем byroot, 26 июн 2017.

26.06.17 в 10:17
13.12.17 в 05:53
15
1.258
0
  1. TopicStarter Overlay
    byroot

    Команда форума Администратор VIP Кинотрафик v2

    Регистрация:
    10 окт 2015
    Сообщения:
    11.024
    Лучших ответов:
    43
    Рейтинги:
    +4.615 / 41 / -50
    Попался старый хак, решил что он должен быть. Работу не проверял на 11.3, но по коду проверил и он присутствует в файлах версии 11.3 и раньше.

    1412224491_count_images.jpg
    Хак на нумерацию изображений. Суть заключается в том, что есть такие развлекательные сайты с паком изображений в полной новости, и для удобства пользователей их нужно пронумеровать, чтобы вышесказанные люди могли ссылаться на них по номеру в комментариях,а не по "третья с конца улыбнула".

    Открываем файл engine/modules/show.full.php и находим:
    PHP:
    $tpl->set'{full-story}'"<div id=\"news-id-" $row['id'] . "\" style=\"display:inline;\">" $row['full_story'] . "</div>");
    если данного кода нет, то находим:
    PHP:
    $news_find = array ('{comments-num}' => $comments_num'{views}' => $row['news_read'], '{category}' => $my_cat'{link-category}' => $my_cat_link'{news-id}' => $row['id'] );
    или
    PHP:
    $news_find = array ('{comments-num}' => number_format($row['comm_num'], 0','' '), '{views}' => number_format($row['news_read'], 0','' '), '{category}' => $my_cat'{link-category}' => $my_cat_link'{news-id}' => $row['id'] );
    и выше вставляем:
    PHP:
    $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']);
    В любой файл CSS добавить:
    HTML:
    .image-counter {
    position: absolute;
    margin: 10px;
    padding: 5px 10px;
    color: #FFF;
    font-size: 18px;
    background-color: rgba(28, 9, 41, 0.6);
    }
    2017-06-26_14-14-06.png

    Как использовать это на киносайтах думаю сам решит каждый для себя, кто использует поле полной новости для кадров.
     
  2. PunPun

    PunPun Гуру

    Регистрация:
    11 июн 2015
    Сообщения:
    7.244
    Лучших ответов:
    27
    Рейтинги:
    +3.818 / 73 / -100
    Плохой php код. Не нужно создавать функцию тут никакую
     
  3. TopicStarter Overlay
    byroot

    Команда форума Администратор VIP Кинотрафик v2

    Регистрация:
    10 окт 2015
    Сообщения:
    11.024
    Лучших ответов:
    43
    Рейтинги:
    +4.615 / 41 / -50
    PunPun код старый, автор его указан на первом скрине. Есть вариант сделать это более лучше? Почему бы не написать тогда свой вариант?
     
    • Нравится Нравится x 1
  4. Winston?!

    Winston?! Бывалый

    Регистрация:
    31 дек 2016
    Сообщения:
    985
    Лучших ответов:
    2
    Рейтинги:
    +71 / 12 / -12
    byroot а не знаешь хака, который будет выводить под изображением его alt? Идет картинка, а ниже описание (заполненное в поле alt при добавлении).
     
  5. TopicStarter Overlay
    byroot

    Команда форума Администратор VIP Кинотрафик v2

    Регистрация:
    10 окт 2015
    Сообщения:
    11.024
    Лучших ответов:
    43
    Рейтинги:
    +4.615 / 41 / -50
    текст из титла картинки:
    Код:
    <script type='text/javascript'>
    $(window).load(function(){
    $('img.catalog').each(function() {
        $(this).after( "<div class='img-title'>" + $(this).attr('title') + "</div>" );
    });
    }); 
    </script>
    текст из альта картинки:
    Код:
    <script type='text/javascript'>
    $(window).load(function(){
    $('img.catalog').each(function() {
        $(this).after( "<div class='img-title'>" + $(this).attr('alt') + "</div>" );
    });
    }); 
    </script>
    catalog - это класс, в котором показывать текст под картинкой, например class="full-story"
     
    • Лучший Лучший x 1
  6. Winston?!

    Winston?! Бывалый

    Регистрация:
    31 дек 2016
    Сообщения:
    985
    Лучших ответов:
    2
    Рейтинги:
    +71 / 12 / -12
    byroot не работает :( Нечего не выводит под img(
     
  7. Frosty

    Забанен

    Регистрация:
    31 мар 2017
    Сообщения:
    943
    Лучших ответов:
    1
    Рейтинги:
    +188 / 18 / -42
    Интересует нумерация для главной. Вывожу через custom
     
  8. TopicStarter Overlay
    byroot

    Команда форума Администратор VIP Кинотрафик v2

    Регистрация:
    10 окт 2015
    Сообщения:
    11.024
    Лучших ответов:
    43
    Рейтинги:
    +4.615 / 41 / -50
    если нужен номер подключаемой новости кастоме, то в show.custom.php после
    PHP:
     $row['date'] = strtotime$row['date'] );
       
    $i ++; 
    добавить
    $tpl->set( '{numcustom}', $i );
    В шаблоне выводить {numcustom}. Либо использовать нумерацию по тегу <li>

    Перед постингом кода проверил его на одном сайте - всё должно работать. Скорее всего что-то не так сделал.
     
    • Полезно Полезно x 1
  9. Winston?!

    Winston?! Бывалый

    Регистрация:
    31 дек 2016
    Сообщения:
    985
    Лучших ответов:
    2
    Рейтинги:
    +71 / 12 / -12
    Еще один скрипт вывода описания под картинкой
    Код:
    $('img[alt]').each(function(){
    var e=$(this),t=e.attr('alt');$('<div>'+t+'</div>').insertAfter(e)
    })
    Скрипт выводит описание под всеми картинками сайта. Если кто может добавить условие, чтобы выводило только под картинками выводимыми в {full-story} будет отлично работать. Проверял на своем сайте.
     
    • Не нравится Не нравится x 1
  10. Frosty

    Забанен

    Регистрация:
    31 мар 2017
    Сообщения:
    943
    Лучших ответов:
    1
    Рейтинги:
    +188 / 18 / -42
    решение уже написано выше, никакого грамозкого и лишнего кода... полторы строки и работает идеально, никакой нагрузки лишней и лишнего кода...

    $tpl->set( '{numcustom}', $i );

    ew2ssPPJTfuWFLY9iN04hw.png
     
    #10 Frosty, 8 июл 2017
    Последнее редактирование: 8 июл 2017
  11. TopicStarter Overlay
    byroot

    Команда форума Администратор VIP Кинотрафик v2

    Регистрация:
    10 окт 2015
    Сообщения:
    11.024
    Лучших ответов:
    43
    Рейтинги:
    +4.615 / 41 / -50
    Frosty БОльшая просьба перед ответом читать чему пишешь ответ! Показ текста из альта картиртинки под изображением и нумерация - это разные вещи! За что и Winston?! и получил минус к репе, т.к. задает вопрос не в подходящей теме.

    Winston?! для таких вопросов надо создавать отдельную тему, если таковой ещё не было на форуме, а понятие "изображение" не относится ко всем вопросам про картинки.
     
  12. Winston?!

    Winston?! Бывалый

    Регистрация:
    31 дек 2016
    Сообщения:
    985
    Лучших ответов:
    2
    Рейтинги:
    +71 / 12 / -12
    Ну вот вставил следующий код в js файл, но все ровно не работает...
    Код:
    $(window).load(function(){
    $('img.full-text').each(function() {
        $(this).after( "<div class='caption-text'>" + $(this).attr('alt') + "</div>" );
    });
        });
    Ты не прав! Я выложил еще один метод вывода описания, но который желательно доработать!
     
    • Не согласен Не согласен x 1
  13. 2100001518302

    2100001518302 Посетитель

    Регистрация:
    23 фев 2016
    Сообщения:
    73
    Лучших ответов:
    0
    Рейтинги:
    +4 / 1 / -0
    Здраствуйте!
    Всё мне нравится в этом хаке.Но есть тут одна заковырочка,которая портит весь хак.
    Я думаю Вы посмотрите на скриншот и всё поймёте.
    Так вот вопрос:"Как убрать нумерацию с маленьких картинок?"
    А если люди ставят маленькие картинки на скачивание с файлообменников-они тоже будут нумероваться?
    Это "Не есть хорошо!!!"
    Кто знает подскажите ?
    203811.jpg
     
  14. sanabek

    sanabek Новичок

    Регистрация:
    2 апр 2017
    Сообщения:
    40
    Лучших ответов:
    0
    Рейтинги:
    +5 / 0 / -2
    Дело в том что хак все картинки в {fullstory} делаеи по нумераций. Делай кнопку скачивание через стилей.
     
  15. 2100001518302

    2100001518302 Посетитель

    Регистрация:
    23 фев 2016
    Сообщения:
    73
    Лучших ответов:
    0
    Рейтинги:
    +4 / 1 / -0
    А не подскажите как?Просто никогда не добавлял через CSS картинки в полную новость
     
  16. TopicStarter Overlay
    byroot

    Команда форума Администратор VIP Кинотрафик v2

    Регистрация:
    10 окт 2015
    Сообщения:
    11.024
    Лучших ответов:
    43
    Рейтинги:
    +4.615 / 41 / -50
    ссылки на скачивание в доп поле. потом ссылки выводишь так, как нужно с любыми картинками в файле fullstory.tpl.
     
Яндекс.Метрика