it-swarm.dev

私のモジュールにGoogleフォントを含める方法は?

モジュールでGoogleフォントを使用したいので、タイプするのではなく、フォントを選択できます。私がグーグルフォントを選んだのは、それが最も「将来を保証する」方法のように思われるので、それを学びたかったからです。

バックエンドの誰かがドロップダウンメニューからこれらの1つを選択できるようにしたい。

これを最善の方法で行うにはどうすればよいですか?
自分ですべてのオプションを入力せずにxmlファイルに入れる最良の方法は何ですか?

1
Hocho

まず、次のようにXMLファイルに選択ドロップダウンフィールドを作成します。

<field name="font" type="list" default="Istok+Web" label="Font">
    <option value="Istok+Web">Istok Web</option>
    <option value="Lato">Lato</option>
</field>

次にmod_mymodule.phpファイルに次の行を追加します:

$font = $params->get('font');
JHtml::_('stylesheet', 'http://fonts.googleapis.com/css?family=' . $font);
1
Lodder

車輪を再発明する意味はありません。T3のようないくつかの大きなフレームワークがこれをどのように行うかを見てください。

https://github.com/t3framework/t3/blob/master/source/plg_system_t3/includes/gfont/T3GFont.php

ただし、これをモジュール内から実行する理由が本当にわかりません。フォントの選択を含むサイトスタイルは、テンプレートで決定する必要があります。モジュール内からこれを行うと、サイト所有者(テンプレートを選択した人、およびテンプレートに付属するフォントスタイル)の希望と競合する可能性があるだけなので、回避するのが最善です。

これはモジュールがすべきことではありません。

0
Seth Warburton