Мы в твиттере Мы в телеграме!

Провеббер » DataLife Engine » DLE хаки » Картинка для краткой новости тегом

Набор в команду! Ведется набор в команду, для наполнения сайта новым, интересным контентом. Если у тебя есть предложения, свободное время, ты обладаешь интересным контентом, и хочешь поделиться с другими?
Обращайся к нам в ЛС группы Вконтакте.

Картинка для краткой новости тегом

Данный материал предоставлен сайтом ProWebber.cc исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Скачать бесплатно Картинка для краткой новости тегом.

Картинка для краткой новости тегом

Недавно возникла необходимость выводить картинку в краткую новость тегом. Решил забирать первую вставленную в новость каритинку и выводить её в краткую новость тегом.

В файле show.short.php найти:

$tpl->set( '{login}', $row['autor'] );



Ниже добавить :

            //get image for the short story
            $tpl->set( '{shortimage}', '' );//ставим пустой тег
            $newsid = $row['id'];
            $imagequery = $db->query( "SELECT * FROM " . USERPREFIX . "_images WHERE news_id = '$newsid'");//запрос в базу

                while ( $rowimgshort = $db->get_row($imagequery) ) {
                                $image = explode('|||', $rowimgshort['images']);//разбиваем картинки
                                $image = '<img src="/uploads/posts/'.$image[0].'" width="72" height="49" />';//тут можно указать высоту, ширину, алт и т.д.
                            $tpl->set( '{shortimage}', $image );//ставим тег
                                
                }


В шаблоне shortstory.tpl , в нужном месте вставить {shortimage}

Радоваться.

P.S. прошу не драться, если сочтёте баяном.


Дополнительные ссылки на скачивание ТОЛЬКО для зарегистрированных


-30
Просмотры: 5 176 :: Комментарии (11) :: :: Нужна помощь? Задайте вопрос на форуме ::
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

#1SaD

  • 5 августа 2012 16:52
  • Регистрация: 23.02.2011
  • Был(а) онлайн: 8.01.2020
  • Комментариев: 498
  • 0
Это в движке уже реализовано

{image-x}

--------------------

#2Almere

  • 5 августа 2012 17:36
  • Регистрация: 14.12.2010
  • Был(а) онлайн: 13.03.2017
  • Комментариев: 22
  • -1
Появился этот тег в 9.6, а я писал на 9.5.

--------------------

#3SaD

  • 5 августа 2012 18:17
  • Регистрация: 23.02.2011
  • Был(а) онлайн: 8.01.2020
  • Комментариев: 498
  • 0
Almere,
Ну а смысл тогда выкладывать? Тем более это не первая реализация.

--------------------

#4Sander

  • 5 августа 2012 19:05
  • Регистрация: 19.02.2010
  • Был(а) онлайн: 20.04.2021
  • Комментариев: 327
  • +5
За реализацию жирный минус.
Во первых добавляется запрос на каждую новость.
Во вторых картинка не будет выведена, если она не загружена в новость.
В третьих во всех новостях первой картинкой обязательно должен быть загружен постер.

--------------------

#5Almere

  • 5 августа 2012 19:50
  • Регистрация: 14.12.2010
  • Был(а) онлайн: 13.03.2017
  • Комментариев: 22
  • -5
Реализацию? Я польщен : ) строчек кода - реализация)

За зрение жирный минус 20. Писал для своих нужд. Кому надо - подправят 5 строк кода.

--------------------

#6tamerlan

  • 5 августа 2012 20:00
  • Регистрация: 11.09.2010
  • Был(а) онлайн: 24.10.2023
  • Комментариев: 301
  • +3
Almere, все он верно сказал.

да и если делал для себя, то и оставляй у себя, а не выкладывай на общее обозрение.

легче реализацию подобного выдрать с dle 9.6.


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

$images = array();
preg_match_all('/(img|src)=("|\')[^"\'>]+/i�
39;, $row['short_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-'.$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 );

}

--------------------

#7Пряник

  • 5 августа 2012 22:18
  • Регистрация: 26.09.2010
  • Был(а) онлайн: 20.08.2012
  • Комментариев: 53
  • 0
Да и вообще я писал самую первую реализацию данной фичи... Вроде всё было шикааарно :)

#8ivntech

  • 5 августа 2012 23:14
  • Регистрация: 7.03.2011
  • Был(а) онлайн: 9.10.2012
  • Комментариев: 20
  • 0
странно, на дле 9,5 для запроса custom в шаблоне ставил {image-1} то выводило нормально первую картинку из записи

#9Sander

  • 6 августа 2012 10:32
  • Регистрация: 19.02.2010
  • Был(а) онлайн: 20.04.2021
  • Комментариев: 327
  • +1
Almere, Со зрением у меня полный порядок, как и с объективностью восприятия.

Решил забирать первую вставленную в новость каритинку

Говоришь про вставленную, а берешь загруженную. Первую вставленную - берет скрипт предоставленный tamerlan-ом.

--------------------

#10planeta

  • 30 октября 2012 01:30
  • Регистрация: 30.05.2010
  • Был(а) онлайн: 16.02.2016
  • Комментариев: 23
  • 0
Написал для 9.5, так хоть укажи это в новости или лучше в заголовке.

#11brabus55

  • 10 августа 2013 19:12
  • Регистрация: 6.04.2010
  • Был(а) онлайн: 7.01.2020
  • Комментариев: 5
  • 0
Image-x же есть. Но за старание СПС

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Архив новостей
Декабрь 2024 (10)
Ноябрь 2024 (9)
Октябрь 2024 (169)
Сентябрь 2024 (13)
Август 2024 (60)
Июль 2024 (12)

Последние комментарии: