Questions tagged «module»

Joomla模块是一种扩展,它为站点提供某些功能,通常在站点的指定位置(例如,最新或流行的文章)呈现少量信息,这些信息不应该作为主要内容而放置在可用模块位置中,在组件内容输出周围(例如,边栏,页脚等)。

4
针对初学者的Joomla 3.x扩展开发教程
我在Joomla 1.0.15版本中进行了大量工作,并开发了多个扩展。另外,我继续在Joomla 1.5.x中进行开发,但是在此版本发布后,我的开发就停止了。现在,我想使用Joomla 3.x重新开始开发。我可以看到Joomla进行了多项增强,例如MVC,响应式模板,工作流等等。 有人可以为此提供最简单的路线图和教程链接吗? 现在新的工作流程是什么? 什么是新的MVC架构?

8
如何在组件区域显示模块
我经常需要创建一个菜单项,以在组件区域中显示模块,而没有任何其他内容。 我解决此问题的方法是创建新文章,并仅{loadposition mymodule}在文章内容中添加。然后,为该文章创建一个“单一文章”菜单项。这对于单个模块来说很好,但是如果我要用这种方式显示20个不同的模块怎么办?我将必须创建20个模块,20个(几乎为空)文章和20个菜单项。 还有其他方法可以在模板的组件区域中显示模块(仅显示其他内容)?技巧?骇客?有想法吗?

4
如何开发Joomla模块?
我一直在寻找有关此的教程,但似乎找不到满意的东西。您如何为joomla创建新模块? 现在,我在代码中都使用了自定义HTML模块,并且希望能够使用PHP并将其全部集成到模块中,但是我还没有找到可以做到这一点的教程。我之前已经修改了已安装的模块,但是我不知道如何制作要安装的模块。 joomla文档非常混乱,在阅读了几次之后,我放弃了。谁能帮我解释一下这个过程?谢谢!

2
JHtml:script()和$ doc-> addScript有什么区别?
我最近开发了一个模块,该模块需要将某些JS和CSS文件插入<head>每个页面的中。最初,我使用: $doc =& JFactory::getDocument(); $doc->addScript(JURI::base(true).'/modules/mod_x/js/mod_x.js'); 但是,我注意到,启用缓存后,网站会加载的缓存版本/cache和的非缓存版本/modules/mod_x/js/,从而导致JS错误。 当我将其更改为: JHtml::script(Juri::base().'modules/mod_x/js/mod_x.js'); 该脚本仅从缓存加载一次,从而解决了这些错误。 我在文档中读到,该addScript方法比该JHtml:script方法更“低级” ,但不仅如此... 当然,您还需要手动编写某些步骤[JHtml:script为您完成],这些步骤将使用上面的[JHtml:script方法] [如果使用addScript]自动完成。 ...没有进一步的细节。 那有什么区别呢?我假设JHtml:script最终会addScript在某个时刻调用文档对象,但是是否首先采取了其他中间步骤?



2
在Joomla模块中的何处放置代码
在开发Joomla扩展时,是否有关于将代码的不同部分(PHP和HTML)放置在何处的最佳实践,准则或建议? 我主要考虑的是模块中包含的基本文件: mod_mymodule.php helper.php tmpl/default.php 此外,包含helper.php文件的主要好处是什么,在某些情况下可以将其删除吗?

3
显示模块在多个位置
是否可以在多个位置(最好是本地显示)或通过第三方扩展显示模块? 我知道有解决方法... 克隆模块并更改位置,但是,如果该模块包含自定义HTML,并且这可能经常更改,那么这将很麻烦。 使用load语法将模块拖放到您想要的任何位置,但仍然导致创建模块只是为了容纳其他模块 但两者都会带来我宁愿放弃的额外维护工作。

2
如何允许直接访问要从AJAX使用的Joomla模块中的自定义.php文件?
这是我第一次使用PHP,也是我第一次使用Joomla。我来自沉重的非Web C#/ .Net背景。 我编写了一个自定义的Joomla模块,该模块通过nuSoap与第三方WebService进行交互。 如果我只是在自己的开发机上的非Joomla PHP环境中运行.php文件,那么一切都很好。 但是,如果我理解正确,Joomla会阻止对除以外的所有内容的所有请求index.php,这是正确的吗? 如何允许直接访问自己的.php文件? 这是我如何使用jQuery从客户端javascript请求它的示例: $.ajax({ url: 'MyFile.php', type: 'POST', data: { ... }, success: function(data, status) { .... MyFile.php当前实际位于的位置 /htdocs/modules/mod_mymodule/MyFile.php 我知道允许直接请求此文件可能会带来安全风险,但是我需要尽快运行此文件,稍后我会解决安全问题。

1
谁能解释tp = 1的过程?
有人可以解释一下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,而不是所有模块位置。 所以任何人都可以解释或告诉我该过程在哪里(什么文件)。 谢谢!
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.