新しい拡張機能でv2.3またはv3を使用する必要があるBootstrapバージョン


9

拡張機能開発者として、私は今度の拡張機能でどのBootstrapバージョンを使用するか混乱しています。

  • 多くの議論の中で、私はJoomla 3.xがbootstrap-3.0を利用しないことを発見しました。
  • ほとんどのテンプレートプロバイダーはブートストラップv3を使用しています
  • ブートストラップv3も使用する多くの拡張機能

何を選ぶ?

回答:


6

Joomla 3.xにはBootstrap 2用のファイルが同梱されており、下位互換性のため、これはJoomla 3.xシリーズで変更される可能性はほとんどありません。

Bootstrapは2つの主要な領域で構成されていることを理解することが重要です。

  • CSSファイル
  • JavaScriptフレームワーク

CSS

Joomlaには、ソースLESSファイルとコンパイル済みCSSファイルの両方としてこれらのファイルが含まれています。Joomla自体はBootstrap CSSファイルをロードしません。テンプレートを使用して、これらのファイルを使用するか、独自のCSSファイルを同梱するかを決定します。

バックエンドでは、アクティブなテンプレートは通常「Isis」で、Bootstrap 2ファイルを多用します。したがって、拡張バックエンドでBootstrap 2スタイルを使用することは理にかなっています。特にとにかく多くの代替管理テンプレートがないので

フロントエンドではしかし、それは完全に異なるトピックです。ユーザーがどのテンプレートを使用し、どのフレームワークに基づくかはわかりません。個人的には、コア出力もそれらを使用するという唯一の理由で、ここでもBootstrap 2スタイリングを使用することにしました。したがって、テンプレートがこれらのクラスをサポートする可能性は高くなります。それ以外の場合は、出力をオーバーライドします。コアにオーバーライドを使用する場合、拡張機能はおそらくとにかくオーバーライドも必要になります。

もちろん、Bootstrap 3のサポートを追加することもできますが、これは作業を2倍にすることを意味します。ただし、Bootstrap 2のレイアウトをロードするオプションなしで、Bootstrap 3のレイアウトのみを提供することは決してありません。

JavaScript

Joomlaには、ツールチップやタブのように、Bootstrap JavaScriptコードをロードするメソッドがあります。このコードは拡張機能で使用でき、使用する必要があります。必要に応じてテンプレートでオーバーライドできるように、必ずレイアウトにロードしてください。


1

すでに指摘したように、Joomla 3.xはBootstrap 3.xを使用しないため、Bootstrap 3を使用することを決定した場合、ユーザーは2つのバージョンのBootstrapをロードすることになり、競合が発生する可能性があり、これも減少しますページ読み込み速度。

あなたができることは、Bootstrapのどのバージョンがテンプレートに電力を供給しているかを検出する小さなスクリプトを記述し、そのバージョンを使用して拡張機能をスタイルすることです。NoNumberとAkeebaのどちらでも、使用するBootstrapバージョンを選択できます。どちらを覚えているかはわかりませんが、その方法を確認する価値はあります。

しかし、Bootstrapを使用して拡張機能をスタイルするのではなく、別のオプションとしてカスタムスタイルを設定してみませんか?すべてのテンプレートがBootstrapに基づいているわけではありません。

これがあなたに少し洞察を与えることを願っています。


問題は、テンプレートプロバイダーと競合しないように拡張する必要があることです。カスタムスタイリングを行う場合、さまざまなテンプレートを使用しているときに問題が発生します。
Shyam 2014年

Bootstrap 2.xを使用するのが最善の方法です。Joomlaがプリパックされているので、Joomlaのほとんどのテンプレートはまだこのバージョンに基づいています。問題は、そこにいるすべての人に対応できないことです。たとえば、おそらくFoundationを使用してテンプレートを強化するいくつかのテンプレートプロバイダーがありますが、Foundationクラスをサポートする開発者は知りません
Lodder

1

拡張機能では、拡張機能、特にバックエンドで常にBootstrap 2構文を使用するようにすべきです。これはJoomlaコアによって公式にサポートされているバージョンであるため、常にスタイルが期待どおりに機能し、テンプレートにブートストラップを同梱する必要がありません。Bootstrap 3に同梱される拡張機能には、これを含める必要があります(たとえば、Akeeba製品に付属するかなり大きなAkeeba Strapperクラスに注意してください)。

Bootstrap 3を使用するテンプレートプロバイダーは、通常、両方のバージョンのブートストラップを考慮に入れるためにそれらの少ないファイルを編集することにより、ブートストラップ2構文を許可します。とにかくテンプレートのオーバーライドを使用する必要があると期待してはいけない人。

JoomlaがBootstrap 2に同梱され、Bootstrap 3に移行しないのは、Joomlaシリーズ全体にab / cクロスエクステンションCSS / JSフレームワークがあるためです。


0

Bootstrap 3を使用する必要がある場合、私の意見では、Bootstrap 3 CSS全体(Community Builder V2など)に名前空間を付ける必要があります。たとえば、フロントエンドにBS3を使用している場合、フロントエンドのメニューとモジュールを編集するjoomlaコア関数が壊れます。

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。

また、Bootstrapは巨大な不要なものもロードしているため、CBは常に完全なBootstrapライブラリをロードします(サイトのログインモジュールだけの場合も)。

いいえ、Twitter Bootstrap JSは使用していません。

現時点ではCSSのみを使用しています(JS機能を提供する他のより優れたjQueryプラグインがあります)。また、ネームスペースを使用してTwitter Bootstrapをロードするため、ネームスペースの外でスタイルを競合したり変更したりすることはできません。現在、常にロードするわけではありません。CBsテンプレートが読み込まれるときは、常にtemplate.cssとfontawesome.cssのみを読み込みます。CBsモジュールはCBスタイルを使用しないことに注意してください。これらはJoomla 1:1に一致するように設計されているため、モジュールはサイトに正しく適合します。

別の解決策は、上記の問題を回避するために、SkeletonやFoundationなどのフレームワークを使用することです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.