谁能解释tp = 1的过程?


8

有人可以解释一下tp = 1后面的mod位置预览过程,我发现模块输出是从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,而不是所有模块位置。

所以任何人都可以解释或告诉我该过程在哪里(什么文件)。

谢谢!

Answers:


6

找到了,缺少了一个下面的替代

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

综上所述,

如果您想制作自己的模组预览

在template / 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语句 https://github.com/joomla/joomla-cms/blob/7d55d68cfbfe2b86589f2df9aab1771afce4fab0/libraries/cms/module/helper.php#L98

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

现在您可以从template / html / module.php控制模块位置预览,并使它看起来比我们从1.0开始的默认版本更好

通过访问预览

sitename/?myoutline=1

我将进一步介绍这一点,并向您展示我为什么这样做。

为了让我们向用户展示模板框架的所有可用模块位置

我们必须发布50多个纯HTML的模块位置。在我眼里这是一个超载。

设置好覆盖后,我现在可以删除所有50多个模块并控制预览

和内容通过chrome函数

http://prntscr.com/3im4yl

所以我仍然像以前的演示一样具有相同的预览

与更少的模块。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.