Questions tagged «development»

这个标签是关于Joomla中功能或扩展的开发的问题。



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

1
在组件中添加拖放顺序
我已经基于Joomla Hello World教程开发了一个小型组件,现在我想实现与许多其他Joomla组件相同的拖放重排序功能: 通过按第一列进行排序,可以拖动每个表格行以更改位置。 是否有在Joomla中添加此功能的本地方法,还是我必须自己对其进行编程? 任何朝着正确方向前进的人都表示赞赏。

2
网站上线后如何更新?
网站上线后,如何将实时更新推送到模板和模块? 当我们在一个站点上进行开发时,我们倾向于做一些不同的解决方案,然后进行akeeba备份以使该站点首次投入使用。但是,此后再次重复此过程意味着破坏旧站点。 一种解决方案显然是通过ftp上传不同的文件,模板,css,图像等,但这并不是很快,某些链接可能会中断几分钟直到完成。 另一个方法是使用git hub,那里有代码,但我们是一个小型团队,因此致力于许多分支和发行版可能会使项目工作量过多,以至于无法使master是唯一可以实时更新的版本。 基本上,任何将事物放置在暂存站点上然后将其推送到生存环境的技巧或解决方案,同时该生存站点会将文章和用户注册等作为生存站点放置,因此不能替换。 谢谢

1
如何在组件视图中使用Joomla的缓存?
与CMS通常一样,点击率最高的事件仍然是“新的”。我想在给定时间段内首次呈现页面输出时对其进行缓存,以减少生成页面所需的繁重工作量。 我一直在研究JCache文档,并制定了基本的机制,如下所示: $cache = JFactory::getCache('MyCache', ''); $cache->setCaching(true); $cache->setLifeTime(86400); //24 hours $cache_id = 'MyCache_page_123'; $cached_page= $cache->get($cache_id); if (!empty($cached_page)) { $the_page_output = $cached_page; }else{ $the_page_output = ...<div>the generated view HTML</div>.... $cache->store($the_page_output, $cache_id); } // echo or return "$the_page_output" 我一直试图确定应该在哪里创建缓存,然后在再次开始所有工作之前先确定要使用该缓存的“最佳位置” 。
13 development  mvc  cache 

3
检查组件是否已安装/启用的最佳方法?
在joomla 2.5和3.x之间,检查是否已安装和/或启用另一个组件的最佳方法是什么?存在一个名为的帮助程序类,JComponentHelper但我相信isEnabled如果某些joomla版本未安装要检查的组件,则该函数实际上会引发错误。 这可以像直接建立数据库一样简单,但是我想看看是否有人使用其他类/帮助程序/方法。

4
如何显示用户资料信息?
我想创建一个自定义配置文件页面,该页面仅显示已登录我的网站的用户的详细信息。我需要展示 用户名 名称 注册的电子邮件 是否还可以创建自定义字段,但不能在注册表单上创建,仅当他们登录时,他们才应该能够编辑其个人资料页面。

1
如何将第3方库添加到Joomla,以使其在我的代码中普遍可用
我们使用了许多第三方开源产品,例如PhpExcel和HtmlPurifier。过去,我们始终为它们提供一个单独的文件夹,并相应地对其进行命名,但现在想知道是否存在使用Joomla \libraries文件夹安装/使用它们的更常规方法。 我已经在扩展中使用了自己的库,但是尚不清楚这是否确实适用于编写自己的库,或者是否可以与“文件夹中的任何内容”一起使用。在开始研发之前,我希望有一些建议或见识,但会在发现时有所更新。

2
将自定义按钮添加到核心后端组件
是否可以在不修改原始源代码的情况下向标准Joomla 3组件(com_contents)的JToolbar中添加自定义按钮(当然是具有自定义操作)? 背景:我需要在com_contents主屏幕上添加一个按钮(所有文章的列表),以创建大量的邮件功能。我当然可以修改标准的Joomla文件,但是如果我对其进行修改,那么当我将Joomla升级到新版本时,我将失去自定义功能。但是,如果我可以添加按钮,那么更新时我不会丢失任何更改... 如果有可能做到这一点,怎么办呢?创建一个插件?是否有任何教程可以指导我完成此插件的创建?

3
如何限制对自定义组件视图的访问?
在我的自定义组件中,我希望能够将特定视图限制为仅特定用户组。如果我为其中一个视图创建一个菜单项,那将很容易做到:我只需选择该菜单项的访问级别即可。 现在,问题来了,如果有人尝试直接使用option = com_mycomponent访问URL,或者我组件的任何内部重定向都转到没有分配Itemid的页面...在这种情况下,组件本身就是需要的检查用户组并确定是否能够查看该页面...如何在我的代码中进行限制?只是对用户的用户组进行简单的硬编码检查?还是有一种“标准”的方式来做到这一点? 我一直在检查文档,发现了这一点: http://docs.joomla.org/J2.5:How_to_implement_actions_in_your_code 但这是用户可以做的,而不是用户可以看到的。我也找到了这个论坛主题: http://forum.joomla.org/viewtopic.php?t=530721 开头的代码很旧,但是最后建议使用以下代码: http://api.joomla.org/cms-3/classes/JUser.html#method_authorise 我应该如何进行呢?是否应该为视图生成的主要对象定义资产,以便可以使用JUser测试对其的访问? 提前致谢。

2
如何从组件向#__content添加文章?
我的组件需要以一种非常规的方式从前端添加文章。我意识到我可以将它们插入MySQL,但我想使用核心功能来实现(如果可能的话)。 在研究了components \ com_content中的代码之后,我对所有需要发生的事情有点不知所措,并希望我只是使它过于复杂。 在Joomla中是否有任何示例,或者完成该操作要遵循的步骤约定?

4
如何使用Joomla构建RESTful API
自v1以来,我一直在构建Joomla扩展,但是我很快需要使自己构建并使用了一段时间的API生效。目前,我正在使用Joomla 2.5,并为此系统编写了插件: https://github.com/techjoomla/com_api 在上线之前,我希望将来尽可能地对系统进行验证。该API组件直到最近才开始升级以与Joomla v3一起使用,因此目前阻止该网站升级。我还认为,将公共API和用户门户分开是有意义的,因为作为移动应用程序将使用API​​,因此将其作为集成扩展没有任何好处。 当前的计划是在子域上重建API,这将使我们能够升级用户门户。我一直在阅读有关新的Joomla框架的信息,该框架看起来很令人兴奋。这是否适合为我们的移动应用程序构建RESTful API?如果是这样,他们是否有入门提示?我读过FoF可用于构建API,这是一个不错的选择吗?我看到了Kickstarter项目打算完全构建这种API,这是一个潜在的选择吗?我应该只为子域剥离当前的2.5个站点,使其仅运行API吗? 对于构建用于移动交互的基于Joomla的RESTful API的最佳方法的任何建议,将不胜感激。

3
是否有Joomla开发路线图?
我知道大部分(全部?)代码都是由志愿者编写的,因此任何人都很难说“这”是必须要做的事情的顺序,而“这”是我们接下来要做的。 被接受之后,我认为核心贡献者已经讨论了路线图,并且被普遍接受为Joomla开发和目标计划。有地方可以通读此书吗?可以提出建议吗?如果我未在计划中提供代码,那么它可能会被接受吗?

1
如何从PHP动态生成表单的XML?
我需要根据用户的项目列表生成页面/表单。照原样,用户可以指定一个项目列表,这些项目具有该项目的文本说明,以及它是a text还是list字段类型。(想象一下可以检出的设备列表,并且要检查的项目列表随设备的类型而变化。肯定有一些共享项目,但是它们随设备类型,型号等而有所不同。)因此,可以简单地models\forms\添加一个新的字段集和一系列新的字段,而不是简单地从该文件夹中加载现有的XML文件并运行它。 如果是这样的话, 如何完成的? 正确的位置在哪里,以便MVC像对待“标准” XML格式一样对待它? 如何最好地检索这些字段的列表以在视图中显示? models \ myform.php $form = $this->loadForm('com_mycomponent.myform', 'myform', array('control' => 'jform', 'load_data' => $loadData)); 控制器/myform.php // Get the user data. $data = JFactory::getApplication()->input->get('jform', array(), 'array'); // Validate the posted data. $form = $model->getForm(); if (!$form) { JError::raiseError(500, $model->getError()); return false; } ... // Validate …

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.