» » Добавление картинок в новость через дополнительные поля

Добавление картинок в новость через дополнительные поля

7.09
125
64 338
Самый простой и в тоже время самый эффективный способ сделать так, чтобы картинки в новости были одинакового размера, независимо от того, кто и насколько прямыми руками их к новости прикреплял - сделать добавление картинок через дополнительное поле.
Плюсы очевидны: можно регулировать вывод размера изображения, его положение в новости; экономится место на сайте т.к. картинки можно заливать на сайты типа Радикал-Фото; проше сделать вывод новостей в 2 колонки.
Есть и минусы, но все они связаны как правило с кривыми руками юзеров, добавляющих новости.

Итак приступим.

1. Идём в Панель управления - другие разделы - Дополнительные поля новостей и добавляем новое дополнительное поле с параметрами как на картинке:

Добавление картинок в новость через дополнительные поля


Разделы можете указать на свой выбор.
Значение по умолчанию в данном примере является ссылкой на дефолтную картинку на случай если пользователь не станет добавлять картинок к новости. Но это поле можно оставить и пустым, оно нам особо и не нужно сейчас.

Жмём кнопку "Сохранить", всё наше поле добавлено.

2. Открываем shortstory.tpl и в нужное место добавляем следующий код:
[xfgiven_image][full-link]<img src="[xfvalue_image]" alt="Добавление картинок в новость через дополнительные поля" width="200" height="150" border="0">[/full-link][/xfgiven_image]


Остановимся подробнее на этой строчке.
- тег [xfgiven_image] - нужен для скрытия пустого места, если нет картинки в новости.
- тег [full-link] - для того чтобы картинка была одновременно ссылкой на полную новость.
- src="[xfvalue_image]" - сама картинка
- &alt="Добавление картинок в новость через дополнительные поля" - описание картинки - оно же название новости.
- width="200" height="150" ширина и высота картинки - можно править под себя.
- border="0" - для тех у кого не задан CSS-стиль для тега <img>

Вот собственно и всё.

Теперь чтобы добавить картинку в новость, нам нужно просто вставить прямую ссылку на изображение в дополнительное поле при написании новости.

P.S.
Дальше включаем фантазию и делаем свой варезник сайт ещё краше :pleasantry:

Похожие материалы

Комментарии

ПафНутиЙ
ПафНутиЙ 17 октября 2012 07:36
[ xfvalue_poster ] у вас имеет при выводе в шаблон примерно такой вид:
<a href="fullimg.png"><img src="smallimg.png" title="" alt="" /></a>

как думаете что сделает браузер, если увидет вот такой вот код:
<img src="<a href="fullimg.png"><img src="smallimg.png" title="" alt="" /></a>" alt="{title}" width="200" height="250">

Вам нужно для начала понять чего же вы хотите на самом деле. и вывести во всех местах одинаково.
doxvill
doxvill 25 октября 2012 13:45
У меня бы не хватило терпения с 2009 года отвечать на одни и те же вопросы smile Кстати Ваш модуль block.pro просто супер, хотел поблагодарить за него smile
ПафНутиЙ
ПафНутиЙ 25 октября 2012 13:49
Чтоб не отвечать по 100500 раз на одни и те же вопросы - был запущен dle-faq.ru )
Цитата: doxvill
Кстати Ваш модуль block.pro просто супер, хотел поблагодарить за него

Наздоровье!
Сейчас работаю над третьей версией, скоро сделаю небольшой анонс новых возможностей)).
doxvill
doxvill 25 октября 2012 13:57
Это не может не радовать)) Подписался на Ваш блог.
doxvill
doxvill 26 октября 2012 10:24
Кстати такой вопрос, а есть ли какая-нибудь кропалка картинок для DLE, желательно с сохранением пропорций. Мне например понравился кроп в вашем модуле block.pro.
ПафНутиЙ
ПафНутиЙ 26 октября 2012 10:40
Сейчас в модуле используется стандартный класс для создания уменьшенных копий (thumb.class.php).
В blockpro3 я отказался от этого класса в пользу, на мой взгляд, более лучшего класса для ресайза картинок. Если есть желание можете потестировать самостоятельно: https://github.com/pafnuty/Block.Pro.3
Пока по скорости работы и нагрузке на сервер третья версия выигрывает.
doxvill
doxvill 26 октября 2012 14:43
А генератор тот же можно использовать что и от второй версии??
ПафНутиЙ
ПафНутиЙ 26 октября 2012 14:57
нет, генератор не подойдёт.
Там все переменные описаны в readme, писать нужно в строку подключения вида ¶m=value . К примеру: {include file="engine/modules/blockpro/block.pro.3.php?&template=blockpro/blocpro1"} будет загружен шаблон blockpro1.tpl из папки THEME/blockpro/
Но предупреждаю сразу - модуль работает на 9.7, в 9.6 не тестил. и это даже не альфа-версия ещё ))
Daiv
Daiv 26 октября 2012 15:04
Подддержка 2.6 модуля будет удалена из сайта?
doxvill
doxvill 26 октября 2012 15:09
Дак сайт который я счас делаю, как раз на 9.7 и будет работать. По крайней мере это последняя версия на данный момент.
Цитата: ПафНутиЙ
подключения вида ¶m=value

А вот это я не понял))
ПафНутиЙ
ПафНутиЙ 26 октября 2012 15:11
нет, они в паре спокойно работают и не зависят друг от друга. я именно так и определял производительность второй и третьей версии.
Однако в третьей версии нельзя использовать теги типа { short-story limit="XX" }
ПафНутиЙ
ПафНутиЙ 26 октября 2012 15:13
парсер пожрал код
&param=value

param - переменная
value - её значение

Дефолтные значения можно найти в конце файла block.pro.3.php
doxvill
doxvill 26 октября 2012 16:42
А почему нельзя?? Мне как раз эта фишка нравилась тем, чтобы обрезала изображения из короткой новости и выводил без оформления.
ПафНутиЙ
ПафНутиЙ 26 октября 2012 17:06
Обрезка новости, как и все остальные параметры, указывается в строке подключения. Просто я пока не реализовал такие конструкции.

Чую надо выносить обсуждение в отдельную тему ))
doxvill
doxvill 26 октября 2012 17:08
Согласен) Жду появления новой темы, готов пообсуждать))
andrgs
andrgs 15 января 2013 19:53
Цитата: ПафНутиЙ
в 9.2 нельзя вставлять html в однострочное поле, замените на многострочное.


dle 9,7 и список пробовал и многострочное
всё равно на главной отображается стандартная картинка, а в категории отображение в виде битой ссылки на картинку. Но самой картинки нет.
ПафНутиЙ
ПафНутиЙ 15 января 2013 20:10
dle 9,7 и список пробовал и многострочное
всё равно на главной отображается стандартная картинка, а в категории отображение в виде битой ссылки на картинку. Но самой картинки нет.

А как выглядит код в шаблоне? Как вставляете картинку? Безопасный режим выключен для допполей?
andrgs
andrgs 15 января 2013 21:57
безопасный режим выключен
код такой:
[xfgiven_image][full-link]<img src="[xfvalue_image]" alt="{title}" width="300" height="250" border="0">[/full-link][/xfgiven_image]
или нужно больше кода?

вместо картинки стоит стандартная заглушка в виде ссылки templates/clublife15/images/newspic.png

всё в денвере мучу, рабочий сайт пока не трогаю =)

сорри, чуть чуть тупанул в формулировке
имелось ввиду что на главной картинка отображается, а в категории не отображается
вся проблема в этом
ПафНутиЙ
ПафНутиЙ 15 января 2013 22:36
/templates/clublife15/images/newspic.png
andrgs
andrgs 15 января 2013 22:57
так тоже пробовал
результат тот же recourse
вернее результат ещё хуже - когда после добавления слэша добавляешь ещё одну новость - то в этой новости картинка перестаёт отображаться и на главной тоже
ПафНутиЙ
ПафНутиЙ 15 января 2013 23:00
нужно видеть сайт, так сказать сложно.
andrgs
andrgs 15 января 2013 23:18
я сейчас в денвере изменяю сайт
рабочий не трогаю - clublife.pro
могу выслать нужные файлы из шаблона и скрины
andrgs
andrgs 16 января 2013 08:50
что делать?
ПафНутиЙ
ПафНутиЙ 16 января 2013 11:12
лучше всего на сайт выложить, мне файлы ни о чём не скажут.
andrgs
andrgs 16 января 2013 12:13
http://clublife.pro/work/
если надо - куда скинуть логин пароль?
georg
georg 16 января 2013 13:26
а как сделать что бы с права от картинки было описание? и с отступами с право и с лева ?
ПафНутиЙ
ПафНутиЙ 16 января 2013 13:30
float: left у картинки и padding или margin
Natashulay
Natashulay 17 января 2013 12:34
подскажите, а можно сделать аналогично, только чтобы в доп поле можно было не просто ставить ссылку на картинку, а загружать картинку на сервер?
ПафНутиЙ
ПафНутиЙ 17 января 2013 13:25
Natashulay
Natashulay 17 января 2013 14:12
а бесплатные варианты есть? аналогично приведенному в вашей статье

Добавить комментарий

Комментировать могут только зарегистрированные пользователи

Информация

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