誰もがtp = 1プロセスを説明できますか?


8

誰かがmod位置プレビューのtp = 1の背後にあるプロセスを説明できますか?templates / system / html / module.php関数から呼び出されるモジュール出力を見つけました modChrome_outline(...)

tp = 1 var https://github.com/joomla/joomla-cms/blob/7d55d68cfbfe2b86589f2df9aab1771afce4fab0/libraries/cms/module/helper.php#L229を介してサイトにアクセスすると、スタイルが強制されることがわかります

私が想定していることは、tp = 1を介してアクセスすると、サイトはシステムテンプレートを使用することを強制されますが、実際のプロセスを探していて、それを見つけることができないということです。

ここにある場合 https://github.com/joomla/joomla-cms/blob/7d55d68cfbfe2b86589f2df9aab1771afce4fab0/libraries/cms/module/helper.php#L231

私は変える

$attribs['style'] .= ' outline';

$attribs['style'] .= ' customoutline';

また、modules.phpにcustomoutline chromeを追加しました。すべてのモジュール位置ではなく、そのページで公開されているmodのみを取得します。

だから誰もがプロセスがどこにあるか(どのファイル)が説明されているか教えてもらえますか?

ありがとうございました!

回答:


6

それを見つけました、次のオーバーライドがありませんでした

https://github.com/joomla/joomla-cms/blob/7d55d68cfbfe2b86589f2df9aab1771afce4fab0/libraries/cms/module/helper.php#L98

まとめると、

あなた自身の改造をプレビューしたい場合

templates / your_template / html / modules.phpにプレビュークロムを作成します

追加することにより、モジュールヘルパークラスをオーバーライドします(これを参照

    // my preview
    if ($app->input->getBool('myoutline'))
    {
        $attribs['style'] .= ' myoutline';
    }

ここに

https://github.com/joomla/joomla-cms/blob/7d55d68cfbfe2b86589f2df9aab1771afce4fab0/libraries/cms/module/helper.php#L233

そして、このifステートメントを拡張し ます

 || $input->getBool('myoutline')

これで、template / html / module.phpからモジュールの位置のプレビューを制御して、1.0以降のjのデフォルトよりも見栄えをよくすることができます

経由でプレビューにアクセス

sitename/?myoutline=1

これをもう1つ拡張して、なぜこれを行ったのかを示します。

テンプレートフレームワークで使用可能なすべてのモジュール位置をユーザーに示すため

単なるHTMLである50以上のモジュール位置を公開する必要があります。私の目にはこれは過負荷です。

オーバーライドを配置すると、50以上のモジュールをすべて削除してプレビューを制御できるようになります

そして、chrome関数を介したコンテンツ

http://prntscr.com/3im4yl

以前のデモと同じプレビューがまだあります

はるかに少ないモジュールで。

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