Нестандартное использование дополнительных полей в DLE
Многие пользователи, не прочитав ни слова из документации DLE совершают такие элементарные ошибки.
Да даже если вы прочтёте эту документацию, я уверен что для большинства пользователей это грань, для них всё заканчивается, как там написано значит так это и работает. Нет! это далеко не предел. Сейчас речь идёт о так называемой функции "Дополнительное поле"
Что такое вообще это дополнительное поле?
Дополнительные поля, позволяют облегчать добавление информации на сайт, по умолчанию имеются только два поля, это краткое и полное описание новости. Однако вы можете создать и другие поля для ввода информации, например ссылку на источник или на программу, и настроив вывод поля всего один раз в шаблонах, отпадает необходимость постоянного форматирования часто повторяющегося ввода информации.
Так пишется в документации по DataLife Engine.Но в этой статье я покажу вам несколько нестандартных способов использования этих самых полей.
Один из примеров я уже показывал - Делаем красивое выделение определенной статейки на сайте.
Но! Давайте сейчас разберемся с функционалом полей.
[xfvalue_поле] | Выводит дополнительное поле "поле" |
[xfgiven_поле] поле [/xfgiven_поле] | Выводит дополнительное поле "поле" если оно заполнено |
[xfnotgiven_поле] текст [/xfnotgiven_поле] | Выводит содержимое если доп.поле не содержит информации |
[xfvalue_поле limit="X2"] | Выводит только текст дополнительного поля без HTML форматирования, при этом сам текст сокращается до указанного X2 количества символов. При этом сокращение текста происходит до последнего логического слова. Например [xfvalue_test limit="50"] выведет только первые 50 символов значения дополнительного поля c именем test |
[ifxfvalue tagname="tagvalue"] Текст [/ifxfvalue] | Выводят текст заключенный в них, если значение дополнительного поля совпадает с указанным. Где tagname это имя дополнительного поля, а tagvalue это его значение. (Вывод содержимого по значению поля) |
[ifxfvalue tagname!="tagvalue"] Текст [/ifxfvalue] | Выводят текст заключенный в них, если значение поля не совпадает с указанным. Где tagname это имя дополнительного поля, аtagvalue это его значение. |
[xfvalue_thumb_url_поле] | Данный тег может использоваться только если дополнительное поле имеет тип "Изображение". Тег выводит только URL для уменьшенной копии загруженного изображения, где "поле" это имя дополнительного поля |
[xfvalue_image_url_поле] | Данный тег может использоваться только если дополнительное поле имеет тип "Изображение". Тег выводит только URL для полноразмерной картинки загруженного изображения, где "поле" это имя дополнительного поля |
[xfvalue_поле image="Nr"] | Выводит загруженные для дополнительного поля с типом "Галерея" изображения, по отдельности. Где "поле" это имя дополнительного поля, а "Nr" это номер изображения из галереи. Например, при использовании [xfvalue_test image="2"] будет выведено изображение номер два, загруженное в дополнительное поле с именем "test". |
[xfinput_поле] | Выводит ваше выбранное дополнительное поле в форме добавления новости в нужном вам месте, где "поле" это имя дополнительного поля для новостей Используется в шаблоне addnews.tpl |
{xfields} | Вывод дополнительных полей при добавлении новости |
И так. Надеюсь функционал вам понятен. Если вы новичок в этом, то советую вам создать несколько дополнительных полей и понять как они работают.
Теперь перейдем непосредственно к примерам.
Самый простой из них это ссылка в виде кнопки. У нас есть поле "link" - это простое поле с одной строкой.
[xfgiven_link] <a href="[xfvalue_link]" class="btn"> Кнопка </a> [/xfgiven_link]
[xfnotgiven_link] Ошибка! Поле не заполнено. [/xfnotgiven_link]
В данном случае у нас выводится кнопка с классом "btn" если дополнительное поле заполнено и содержит информацию(в данном случае ссылку)Если поле не заполнено, то выводится содержимое тегов "
xfnotgiven
" т.е текст "Ошибка! Поле не заполнено."Это простой пример использования доп. полей.
Доп поля можно вписывать в любую строку tpl файла. Не важно будь то это ссылка, будь это CSS класс или любой другой тег.
<div class="[xfvalue_panel]">
Содержимое shortstory.tpl
</div>
CSS код. (вписываем в любой css файл)
.black {background-color: #000;}
.red {background-color: #E9573F;}
.blue {background-color: #4A89DC;}
Поле должно иметь следующие параметры:Таким образом, при публикации статьи нам будет доступен список оформления фона краткой новости. При выборе цвета, будет меняться фон.
Так же доп. поля можно использовать с хаком - Как использовать PHP скрипты в шаблоне?
<?php
echo "<h2>Заголовок</h2>";
echo "[xfvalue_php]";
?>
Вставляем в шаблон полной/краткой новости и вуаля! Поле и там будет работать.Как скрыть определенное доп.поле от остальных пользователей и отображать определенной группе?
<script type="text/jаvascript">
$(document).ready(function() {
if( dle_group != 1 ) {
$('#xfield_holder_panel').hide();
}
});
</script>
dle_group != 1
- id группы которой доступно поле$('#xfield_holder_panel').hide();
- Название поляЭто вставляем в самое начало файла addnews.tpl и поле "panel" будет доступно только администрации
Надеюсь статья была полезна. Буду искать новые способы, и обязательно поделюсь с вами! :wink:
Ссылка для скачивания доступна только авторизованным пользователям, пожалуйста пройдите регистрацию.
Это займёт не более минуты. Не волнуйтесь, мы не спамим!
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Облако тегов
Bootstrap bootstrap css CSS CSS3 DLE dle fruit farm html html шаблон html5 HTML5 Payeer PNG PSD wap Скрипт удвоителя адаптивный адаптивный шаблон бонусник дизайн игровой хостинг иконки лендинг меню модуль панель портфолио сайт скрипт скрипт фермы текстура удвоитель удвоитель Payeer ферма фон фруктовая ферма хак шаблон экономическая игра
За что отвечает атрибут dir в HTML