Какую версию Bootstrap следует использовать v2.3 или v3 в новых расширениях


9

Как разработчик расширений, я все еще не понимаю, какую версию Bootstrap использовать в моем следующем расширении.

  • Во многих обсуждениях я обнаружил, что Joomla 3.x не будет использовать bootstrap-3.0.
  • Большинство провайдеров шаблонов использует bootstrap v3
  • Многие расширения также используют bootstrap v3

Что выбрать?

Ответы:


6

Joomla 3.x поставляется с файлами для Bootstrap 2, и из-за обратной совместимости это вряд ли изменится в серии Joomla 3.x.

Важно знать, что Bootstrap состоит из двух основных областей:

  • CSS файлы
  • Фреймворк JavaScript

CSS

Joomla включает эти файлы как в исходные файлы LESS, так и в скомпилированные CSS-файлы. Сама Joomla не загружает никакие файлы Bootstrap CSS. Это зависит от шаблона, чтобы решить, хочет ли он использовать эти файлы или поставляется с собственными файлами CSS.

В бэкэнде активным шаблоном обычно является «Isis», который активно использует файлы Bootstrap 2. Таким образом, имеет смысл использовать стили Bootstrap 2 в вашей внутренней части расширения. Тем более что альтернативных шаблонов администрирования не так много

Однако во внешнем интерфейсе это совершенно другая тема. Вы понятия не имеете, какой шаблон будет использовать пользователь и на какой основе он будет основан. Лично я согласен с использованием стиля Bootstrap 2 здесь также по единственной причине, что основной вывод также использует их. Таким образом, высока вероятность того, что шаблон будет поддерживать эти классы. В противном случае он обеспечивает переопределение для вывода. Если он использует переопределения для ядра, вашему расширению в любом случае, вероятно, потребуется переопределение.

Конечно, вы можете добавить поддержку Bootstrap 3, но это означает удвоение вашей работы. Однако я бы никогда не предоставил только макеты Bootstrap 3 без возможности загрузить Bootstrap 2.

JavaScript

В Joomla есть методы для загрузки кода JavaScript Bootstrap, например, для подсказок или вкладок. Этот код может и должен использоваться расширениями. Просто убедитесь, что вы загрузили их в свои макеты, чтобы они могли быть заменены шаблонами при необходимости.


1

Как вы уже указали, Joomla 3.x не будет использовать Bootstrap 3.x, поэтому, если вы решите использовать Bootstrap 3, пользователь будет загружать 2 версии Bootstrap, которые могут вызвать конфликты, а также уменьшат скорость загрузки страницы.

Что вы можете сделать, это написать небольшой скрипт, чтобы определить, какая версия Bootstrap поддерживает шаблон и использовать эту версию для стилизации вашего расширения. Я думаю, что NoNumber или Akeeba предоставляют возможность выбрать, какую версию Bootstrap вы хотите использовать. Я не могу вспомнить, что, но, возможно, стоит взглянуть на то, как они это делают.

Но вместо того, чтобы использовать Bootstrap для стилизации вашего расширения, почему бы не сделать несколько пользовательских стилей в качестве другого варианта? Не все шаблоны основаны на Bootstrap.

Надеюсь, это даст вам немного понимания.


Проблема в том, что нам нужно сделать расширение, чтобы оно не конфликтовало с поставщиками шаблонов. Если мы сделаем пользовательские стили, у клиентов будут проблемы при использовании разных шаблонов.
Shyam

Возможно, вам лучше придерживаться Bootstrap 2.x. Большинство шаблонов для Joomla все еще основаны на этой версии, так как она поставляется с Joomla. Иногда проблема в том, что вы не можете обслужить каждого человека там. Например, возможно, есть некоторые поставщики шаблонов, которые используют Foundation для поддержки своих шаблонов, но я не знаю разработчиков, которые поддерживают классы Foundation
Lodder

1

В расширениях вы всегда должны использовать синтаксис Bootstrap 2 в своих расширениях, особенно в бэкэнде. Это официально поддерживаемая версия ядра Joomla и, следовательно, означает, что вы всегда будете работать со своим стилем, как и ожидалось, и вам не придется отправлять загрузчик с вашим шаблоном. Расширения, которые поставляются с Bootstrap 3, должны включать это (обратите внимание на довольно большой класс Akeeba Strapper, который поставляется, например, с продуктами Akeeba).

Поставщики шаблонов, использующие Bootstrap 3, обычно разрешают синтаксис bootstrap 2, редактируя меньшее количество файлов, чтобы учитывать обе версии начальной загрузки. Те, кто не должен ожидать, должны использовать шаблоны в любом случае.

Смысл Joomla в доставке с Bootstrap 2, а не в Bootstrap 3, заключается в том, что во всей серии Joomla есть ab / c кросс-расширение CSS / JS-фреймворка.


0

Если вам нужно использовать Bootstrap 3, по моему мнению, вы должны использовать пространство имен всего CSS Bootstrap 3 (например, Community Builder V2), например, функция ядра joomla для редактирования меню и модулей во внешнем интерфейсе, если вы используете BS3 для внешнего интерфейса.

Цитата с форума Community Builder:

Оригинальная ссылка: http://www.joomlapolis.com/forum/6-news-and-publicity/224106-community-builder-20-b2-released?start=6

Но будет ли CB2.0 использовать Bootstrap 2 или 3?

Бутстрап 3.

И будет ли CB всегда загружать полную библиотеку Bootstrap, даже если это просто модуль входа на сайт), потому что Bootstrap загружает также огромное количество ненужных вещей.

Нет, мы не используем Twitter Bootstrap JS.

В настоящее время мы используем только его CSS (у нас есть другие, более качественные плагины jQuery, которые обеспечивают функциональность JS). Мы также загружаем Twitter Bootstrap с пространством имен, поэтому для него невозможно конфликтовать или изменять стили за пределами пространства имен. Прямо сейчас мы не загружаем это все время. Мы загружаем только наши template.css и fontawesome.css всегда, когда загружается шаблон CB. Примечание Модули CB не используют стилизацию CB. Они спроектированы так, чтобы соответствовать Joomla 1: 1, поэтому модули правильно вписываются в ваш сайт.

Другим решением является использование фреймворка, такого как Skeleton или Foundation, чтобы избежать вышеуказанной проблемы.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.