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

Провеббер » Web » Полезные статьи » Make it cool - красивый вывод новостей без хаков и модулей

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

Make it cool - красивый вывод новостей без хаков и модулей

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



Как сделать красивый вывод новостей на страницах без правки php-кода?
И не просто оформить новости через CSS, а сделать единообразный, удобочитаемый вид новостей, да ещё так, чтобы угодить и пользователям и поисковикам.
Сегодня я расскажу и покажу Вам как это сделать легко, непринуждённо и с минимальным вмешательством в код уже существующего шаблона.
Использовать будем только jQuery и CSS.

Итак, задача озвучена, приступим к её решению.
И что бы не заставлять Вас крутить всю страницу до конца в поисках демонстрации описываемого способа, я дам вам эту ссылку (нажмите на кнопку "Сделать красиво" и всё поймёте), где я специально добавил новости как стандартный криворукий пользователь, чтобы наглядно было видно работу скрипта.

Цель:
- Вывести в короткой новости только первую картинку и кусок описания.
- Настроить внешний вид через CSS.

Решение:

1. Подключаем библиотеку jQuery. (на тот случай если кто забыл - пишем перед
</hеad>
:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>

касается только тех, у кого версия dle ниже 9.0).

2. Ниже строки с подключением библиотеки (опять перед
</hеad>
)
вставляем небольшой скрипт, он и отвечает за все "прелести внешнего вида новостей" на сайте:
<script language="javascript" type="text/javascript">
<!--
$(function cImg () {
    nNews = $("div[id*=news-id-]")
    nNews.each(function (i) {
    $(this).replaceWith("<div id='n-id-"+i+"' class='modnews'><div class='image load'></div>" + $(this).text() + "</div>");
    $(this).find("img").filter("img:first").unwrap().removeAttr("align").fadeIn(2000).prependTo("div[id='n-id-"+i+"'] div[class*=image]");
    $("div[class*=image]:empty").hide(2000);

    });
    });
//-->
</script>


Думаю следует немного пояснить действие скрипта.
Если в двух словах, то скрипт берёт содержимое тега {shоrt-story}, "вытягивает" оттуда текст и первую картинку и создаёт изменённую структуру с картинкой, помещённый в отдельный блок, после которого помещается текст новости, очищенный от всего "мусора", а далее мы всё это оформляем через CSS.

3. CSS-код:
.modnews {
    height: 80px;
    overflow: hidden;
    font: normal 12px/16px Tahoma, sans-serif;
    text-align: justify;
    }
.modnews .image {
    display: block;
    height: 80px;
    width: 80px;
    margin-right: 5px;
    overflow: hidden;
    float: left;
    }
    .modnews .load {
        background: url(../images/loadimage.gif) no-repeat center center;
        }
    .modnews .image img {
        height: 80px;
        }


Данный код дан для примера. Вы можете воспользоваться своими вариантами оформления, главное не забыть для блока с текстом новости применить overflow: hidden и корректно задать размеры изображения.

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

Вот собственно и всё. как всегда жду конструктивных предложений и критику.

Автор: ПафНутиЙ ( _http://pafnuty.name)


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


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

#21SlimYalta

  • 18 ноября 2010 01:41
  • Регистрация: 13.03.2010
  • Был(а) онлайн: 18.04.2024
  • Комментариев: 132
  • 0
Рано радовался((
2 вопроса:
Как это исправить?
http://i051.radikal.ru/1011/89/4963d880101b.jpg
И как регулировать размер картинки?
http://i059.radikal.ru/1011/31/c30ca93e5f39.jpg


Ммм...с первым вопросом разобрался))прочитал пост ПафНутого выше)

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

#22BETEPAH

  • 18 ноября 2010 02:20
  • Регистрация: 12.03.2010
  • Был(а) онлайн: 11.08.2015
  • Комментариев: 293
  • 0
недостаток - у меня в полной новости стоит онлайн плеер, он съедается скриптом, остается только картинка и текст, ПафНутиЙ , если у вас будет время оформите пожалуйста новоть тубом в несколько колонок, чтоб картинка и блок были округлыми, а название обрезалось (съедалось в ксс) и что был хинт отображающий необрезанный текст

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

#23ПафНутиЙ

  • 18 ноября 2010 07:51
  • Регистрация: 8.03.2010
  • Был(а) онлайн: 27.01.2021
  • Комментариев: 400
  • 0
Цитата: SlimYalta
И как регулировать размер картинки?http://i059.radikal.ru/1011/31/c30ca93e5f39.jpg


.modnews {
    height: 80px;
    overflow: hidden;
    font: normal 12px/16px Tahoma, sans-serif;
    text-align: justify;
    }
.modnews .image {
    display: block;
    height: 80px;
    width: 80px;
    margin-right: 5px;
    overflow: hidden;
    float: left;
    }
    .modnews .load {
        background: url(../images/loadimage.gif) no-repeat center center;
        }
    .modnews .image img {
        height: 80px;
        }

это для чего написано? смотрите внимательно код и всё поймёте.... тут указана высота всего блока, высота и ширина блока с картинкой и высота самой картинки.... помоему ничего сложного в том чтобы заменить 80 на 100 или 50 нету....

И вообще я что-то не понимаю народ. Вы все хотите, чтобы было полностью готовое решение "из коробки"? Такого не будет никогда - включайте наконец мозги, начинайте работать пальцами, набирая нужный вопрос в строке поиска google, и сразу увидите как станет проще жить.

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

#24nutbox

  • 18 ноября 2010 08:16
  • Регистрация: 17.10.2009
  • Был(а) онлайн: 19.01.2012
  • Комментариев: 62
  • 0
ПафНутиЙ, спасибо большое, все отлично работает

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

#25SlimYalta

  • 18 ноября 2010 08:57
  • Регистрация: 13.03.2010
  • Был(а) онлайн: 18.04.2024
  • Комментариев: 132
  • 0
height: 80px;
width: 80px;

Это?
Я меняю,размер места увеличивается а картинка то нет....остаётся такой е...я не очень в цсс...

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

#26Maxter

  • 18 ноября 2010 09:00
  • Регистрация: 26.04.2010
  • Был(а) онлайн: 12.11.2012
  • Комментариев: 31
  • 0
Цитата: ПафНутиЙ
ALTERNATE, Maxter,
Интересно, и каким же образом сделать то же самое без jquery или правки php?

Если я правильно понял, то нужно сделать как вот здесь _http://pc-live.ru ?
Или я не так понял смысл данного хака.

#27chak

  • 18 ноября 2010 09:24
  • Регистрация: 3.01.2010
  • Был(а) онлайн: 2.10.2019
  • Комментариев: 446
  • 0
Maxter,
Если не понял - есть же демо в новости...

#28Maxter

  • 18 ноября 2010 10:27
  • Регистрация: 26.04.2010
  • Был(а) онлайн: 12.11.2012
  • Комментариев: 31
  • 0
Цитата: chak
Если не понял - есть же демо в новости...

chok в упор невижу демо.

#29SlimYalta

  • 18 ноября 2010 19:14
  • Регистрация: 13.03.2010
  • Был(а) онлайн: 18.04.2024
  • Комментариев: 132
  • 0
Ну ребята подскажите как сделать картинки в ширину 150!

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

#30ПафНутиЙ

  • 19 ноября 2010 09:46
  • Регистрация: 8.03.2010
  • Был(а) онлайн: 27.01.2021
  • Комментариев: 400
  • 0
SlimYalta,
замени везде 80px на 150px

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

#31SlimYalta

  • 19 ноября 2010 21:25
  • Регистрация: 13.03.2010
  • Был(а) онлайн: 18.04.2024
  • Комментариев: 132
  • 0
ПафНутиЙ,спс

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

#32SlimYalta

  • 19 ноября 2010 21:45
  • Регистрация: 13.03.2010
  • Был(а) онлайн: 18.04.2024
  • Комментариев: 132
  • 0
А как сделать чтобы только для категории (допустим новости) картинка менялась только в ширине и текст был с низу.!?А в остальных как тут!
Кто поможет скажете кину бабла на Вебмани.(100 wmr)

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

#33SlimYalta

  • 19 ноября 2010 23:27
  • Регистрация: 13.03.2010
  • Был(а) онлайн: 18.04.2024
  • Комментариев: 132
  • 0
Всё сделал...спасибо.

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

#34Vizmus

  • 21 ноября 2010 18:27
  • Регистрация: 7.02.2010
  • Был(а) онлайн: 21.04.2022
  • Комментариев: 17
  • 0
Как сделать, чтобы при нажатии на маленькую картинку увеличивалась она? А то не увеличивается :(

Короче лажа, быстрое редактирование блокируется, картинка не увеличивается...

#35ПафНутиЙ

  • 23 ноября 2010 00:22
  • Регистрация: 8.03.2010
  • Был(а) онлайн: 27.01.2021
  • Комментариев: 400
  • 0
Цитата: Vizmus
Как сделать, чтобы при нажатии на маленькую картинку увеличивалась она? А то не увеличивается :(

Руками, поправить код и всё будет ок. только вот нагрузка на браузер пользователя будет такая, что тормоза однокласников покажутся скоростью света.
Цитата: Vizmus
Короче лажа, быстрое редактирование блокируется, картинка не увеличивается...

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

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

#36SlimYalta

  • 24 ноября 2010 01:05
  • Регистрация: 13.03.2010
  • Был(а) онлайн: 18.04.2024
  • Комментариев: 132
  • 0
Класс...без всяких дополнительных полей и прочего бреда,добовляй новость как попало...скрипт всё сам сделает!!
ПафНутиЙ,спасибо большое...

http://i027.radikal.ru/1011/2e/196fe08c4d4f.jpg

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

#37roman33

  • 21 декабря 2010 16:21
  • Регистрация: 21.12.2010
  • Был(а) онлайн: 21.12.2010
  • Комментариев: 10
  • 0
очень полезная статья

#38mobila

  • 7 января 2011 10:41
  • Регистрация: 7.01.2011
  • Был(а) онлайн: 7.01.2011
  • Комментариев: 10
  • 0
мде называется помоги себе сам cool

#39SANOK

  • 17 января 2011 21:58
  • Регистрация: 17.01.2011
  • Был(а) онлайн: 3.02.2011
  • Комментариев: 10
  • 0
спс тем , кто это пишет=)

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

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

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