Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
  • Данный раздел создан исключительно для релизов! Вопросы по лаунчеру или обвязке задавайте ТОЛЬКО в соответсвующей теме автора. Любые другие темы будут удалены, а авторы понесут наказание.

Веб Интегрируем bootstrap с сайтом dle, или много полезных фишек для молодых серверов

Как думаете, надо продолжать писать уроки?

enselerizer

Старожил
Пользователь
Баллы
123
Имя в Minecraft
enselerizer
Всем привет!
Хочу поделиться своим опытом интеграции bootstrap'a в шаблоны DLE,
а так же показать несколько полезных приёмов на бутстрапе для начинающих игровых проектов.

Фишка 1: Делаем постраничную навигацию на bootstrap
image.png

У многих людей при создании кастомной панели навигации возникает вопрос:
Новичок сказал(а):
А как присвоить стиль отдельно к каждой ссылке на страницу?
Шаг 1 - лезем в bootstrap.css
Для начала откроем файл bootstrap.css, лежащий в папке css в дистрибутиве bootstrap'a.
Что бы было удобнее искать, заходим сюда и оставляем только галочки
Buttons и Button groups and dropdowns
(второе нужно, только если вы хотите сделать группу кнопок)

Ищем в bootstrap.css
Код:
.btn {
  display: inline-block;
  *display: inline;
  /* IE7 inline-block hack */
 
  *zoom: 1;
  padding: 4px 12px;
  margin-bottom: 0;
  font-size: 14px;
  line-height: 20px;
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
  color: #333333;
  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
  background-color: #f5f5f5;
  background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));
  background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);
  background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);
  background-image: linear-gradient(to bottom, #ffffff, #e6e6e6);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0);
  border-color: #e6e6e6 #e6e6e6 #bfbfbf;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  *background-color: #e6e6e6;
  /* Darken IE7 buttons by default so they stand out more given they won't have borders */
 
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
  border: 1px solid #cccccc;
  *border: 0;
  border-bottom-color: #b3b3b3;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  *margin-left: .3em;
  -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
  -moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
}


Видите, сколько писанины?
Копируем это в пустой файл .css, и изменяем .btn в начале на что угодно, например .ensnavbar.
Теперь вместо ".ensnavbar {" вставляем ".ensnavbar a {".
Таким образом мы применим стиль только к ссылкам (а значит, к каждой ссылке по-отдельности).

Шаг 2 - настраиваем стиль на кнопки при наведении, и на активные кнопки.
Пропустим несколько строк после нашего первого стиля.
Теперь пишем
Код:
.ensnavbar a:hover {
 
}
И между "{" и "}" вставляем содержимое ".ensnavbar a {" и "}".
После этого нам надо сделать так, что бы при наведении цвет был другим.
Ищем классы, отвечающие за цвет, например класс .btn-primary.
Копируем его содержимое (как мы уже поняли, содержимое - это то, что стоит между "{" и "}"), и вставляем в .ensnavbar a:hover {}, при том если там будет несколько одинаковых параметров с разными значениями, например background: #000000 и background: #111111, то надо заменить те, которые мы вставили ранее на те, что мы скопировали из класса с цветом.

Уже практически готово!
Теперь пропускаем несколько строк ниже, и пишем
Код:
.ensnavbar span {
 
}
Этим мы применим стиль к тэгу span, в который помещается номер текущей страницы и многоточие, если страниц много.

Вставляем в .ensnavbar span {} содержимое .ensnavbar a {}.
Теперь повторяем операцию со a:hover - подыскиваем себе класс цвета, я взял оранжевый (btn-warning), и вставляем содержимое этого класса в .ensnavbar span {}, заменяя старые параметры новыми.

Если вы так же хотите сделать кнопки другого размера, то во все 3 класса, которые мы сделали, копируем содержимое класса размера, например btn-mini, опят ь же заменяя старые параметры новыми.

Шаг 3 - Пихаем на сайт:
Для начала, сохраним наш файл .css, назовём его как хотим.
Теперь заливаем его на свой сервер (туда, где лежит сайт).
Заходим в админку DLE, список всех разделов --> шаблоны сайта.
Выбираем основной шаблон, в 99.9% случаев это main.tpl.
Находим так тег <head>, и после него на следующей строке пишем:
Код:
<link href="путь к вашему файлу .css" rel="stylesheet" media="screen">
Притом, если у вас фал лежит по адресу например "123.ru/navbar/file.css",
то путь к файлу должен иметь вид "navbar/file.css".




Так же, если у вас не подключён bootstrap, надо залить оригинальную библиотеку bootstrap'a (папки img, css, js) в корень сайта и прописать после <head>:
Код:
    <link href="css/bootstrap.min.css" rel="stylesheet" media="screen">
 
    <script src="http://code.jquery.com/jquery-latest.js"></script>
 
    <script src="js/bootstrap.min.js"></script>


Ну и теперь самое лёгкое.





Находим шаблон, в котором у вас лежит навбар, в 90% случаев это navigation.tpl.
И ставим туда код следующего вида:


Код:
[prev-link]<span class="btn btn-success">Назад</span>[/prev-link] <span class='ensnavbar'>{pages}</span>  [next-link]<span class="btn btn-success">Вперед</span>[/next-link]
Здесь видно, что у нас {pages} (список страниц) помещён в тег span с нашим старым добрым классом ensnavbar. Так же, я поместил кнопки "Вперёд" и "Назад" в обычные кнопки bootstrap'a.

Фишка 2: Мониторинг серверов
image.png

Часто возникает вопрос:
Новичок сказал(а):
А как сделать мониторинг сервера? обязательно регаться на сайтах-рейтингах, платить бешеные бабки и вставлять ихнюю картинку с рекламой?
Решение

Фишка 3: Красивые ссылки на топы + закруглённые края картинок

image.png

Предположим, у нас есть код топа, который выглядит вот так:
Код:
<a ...> <img ...> </a>
(три точки означает много-много писанины вида: текст="текст" )

Сначала, добавляем некоторые теги. Должно выглядеть вот так:
Код:
<div> <a ...> <img ...> </a> <span> </span> </div>

Теперь добавляем div'у класс:
Код:
<div class="btn-group"> <a ...> <img ...> </a> <span> </span> </div>

Теперь ссылке (тег a) тоже ставим немного писанины:
Код:
<div class="btn-group"> <a class='btn btn-primary' style="z-index: 9999;" ...> <img ...> </a> <span> </span> </div>

Добавляем писанину тегу span:
Код:
<div class="btn-group"> <a class='btn btn-primary' style="z-index: 9999;" ...> <img ...> </a> <span class="btn btn-success btn-large" style="z-index: 9998; height: 17px; width:115px;"> </span> </div>

Ну и наконец самое интересное. Пишем ниже или выше:
Код:
<style>
.voteimg {
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
-khtml-border-radius:5px;
border-radius: 5px;
}
</style>


Знакомо выглядит, да?
Здесь мы прямо в документе, не создавая отдельный файл, прописываем css,
а именно заставляем элементу с указанным классом закруглять края на 5 пикселей
(строчки с "-" нужны для поддержки эффекта в старых браузерах).


И присваиваем тегу img класс: <img class="voteimg" ...>.

Ах да, забыл сказать:
1. Между тегами <span> и </span> вставляем короткий текст, например название рейтинга.
2. У тега <span> есть настройки в style="..." :
height: 17px; - определяет высоту.
width:115px; - определяет ширину.
Если ширину хотите настраивать автоматически под текст, просто вырежьте width:115px;
3. У тега <span> и <a> есть настройки в class="...", тут всё понятно, просто выставляем класс цвета.
Вырезаем из кода эти фрагменты:
Код:
style="z-index: 9999;"
и
Код:
style="z-index: 9998;"

Это добавит один баг дизайна, но если вы не будете о нём знать, то вы его заметите только после 10 минут пристального наблюдения за кнопкой =).

Фишка 4: Элемент поверх картинки
image.png


Иногда мне задают вопрос:
Новичок сказал(а):
А как разместить кнопку поверх картинки?

Как выкручивались раньше:
  • делали кликабельной всю картинку, вставляя рисунок кнопки в фотошопе
  • размещали div с фоном
  • и так далее...
Помещаем объект (в нашем случае - кнопку) в div:
Код:
<div style="position:relative;bottom:78px;right:95px;">
 
<div>

Как видите, тут я сделал отступ на div'е снизу - 78px и справа - 95px
Делайте любой отступ с любой из сторон по аналогии
(bottom, top, left, right)

Напиши уроки для нубов как делать сайты на bootstrap :creeper:,чтобы они твои фишки знали куда совать).

Ну, я врятли буду писать курсы, но можно самому научиться, причём быстро и "безболезненно":
Есть этот миникурс по вёрстке элементов на bootstrap, а так же это, это, это и эторуководство (это не отдельные руководства, а части одного) по использованию каждого элемента. Остаётся только комбинировать элементы, тут даже знания HTML не требуется. В руководстве уже предоставлен код для вставки, а в видеокурсе показаны все тонкости. Ну а если всё равно не помогает - есть htmlbook.ru, там в лёгкой форме есть описание каждого тэга HTML и CSS.
В будущем уроки будут пополняться, просто на момент написания статьи у меня было мало времени.

UPD: Тема заморожена, мне просто больше нечего сказать про Bootstrap.
Оставлена открытой исключительно в образовательных целях.

P.S. Набрал 43 лайка. Наберем 50?
P.P.S. Набрали 50 лайков! Наберем 70?
 
Картинки только у меня не отображаются?
 
Сделай еще урок как установить бутстрап на дле
Как и на любой другой сайт, заливаешь библиотеки стилей в корень сайта, линкуешь в main.tpl - как я рассказал в 3 шаге 1 фишки.
 
не отображается стиль, у меня мониторинг в отдельной колонке, засовываю туда {include file="/status.php"} и просто Загрузка...
 
не отображается стиль, у меня мониторинг в отдельной колонке, засовываю туда {include file="/status.php"} и просто Загрузка...
Инкудьте через iframe, гайд в теме с мониторингом
 
Полезно для новичков! Молодец!
 
Уже стандартный бутстрап надоел, есть много скинов для него уже привлекательных
 
[NOOB Mode = ON]Как установить Bootstrap на DLEшку?[mode = off]
Наверное никто от лайков не откажется?
1. Качаем бутстрап отсюда. Если надо кастомизировать (убрать те или иные компоненты), заходим сюда.​
2. Выкачиваем папки img, js, css в корень сайта.​
3. Пишем после тега <head> в main.tpl в шаблонах сайта DLE:​
Код:
<link href="css/bootstrap.min.css" rel="stylesheet" media="screen">
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script src="js/bootstrap.min.js"></script>

P.S. Лайкнул :D
​
 

Поделиться этой страницей

Назад
Верх