web-dev-qa-db-ja.com

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

誰かがmod位置プレビューのtp = 1の背後にあるプロセスについて説明できますか?私はテンプレート/システム/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';

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

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

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

8
Dan

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

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

まとめると、

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

プレビューを作成するchrome in 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#L2

そして、このifステートメントを拡張します https://github.com/joomla/joomla-cms/blob/7d55d68cfbfe2b86589f2df9aab1771afce4fab0/libraries/cms/module/helper.php#L98

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

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

プレビューにアクセスする

sitename/?myoutline=1

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

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

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

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

chrome関数によるコンテンツ

http://prntscr.com/3im4yl

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

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

6
Dan