Questions tagged «component»

组件是Joomla!的主要功能单元。它们可以看作是微型应用程序。一个简单的类比就是Joomla!是操作系统,组件是桌面应用程序。


1
如何在核心组件中保存自定义字段
我正在尝试为每个#__content项目添加一个简单字段,并且我非常仔细地遵循了“向核心组件添加自定义字段”中的教程,用“ content”代替“ contact”。我现在有一个可安装的插件,该插件成功包含了“管理员内容项”编辑表单上的选项卡/字段,并且工作出色,除了令人讨厌的“保存”功能之外。 关于保存的唯一参考是(再次,内容而不是联系): 其他字段是从插件目录中的forms / contact.xml文件加载的。重要的是,这些字段位于一个具有name属性设置为“ params”的字段元素中。如果您未设置此属性名称,则这些字段将显示在管理站点中,但不会保存这些值。 该警告说明存在的事实向我暗示Joomla应该知道其中的字段,并且核心代码会处理它,但是由于它没有保存,我想知道是否应该添加另一个事件。 这是我需要的简单字段-用户不可见,但仍然很关键,并且几乎不需要CCK来存储它。 是什么错误/遗漏导致无法保存自定义字段? 更新:希望超出了自定义字段存储在数据库中的希望,我在#__content表中添加了一个具有相同名称的列,并尝试过-祝您好运。 gdp.php class plgContentGdp extends JPlugin { protected $autoloadLanguage = true; function onContentPrepareForm($form, $data) { $app = JFactory::getApplication(); $option = $app->input->get('option'); switch($option) { case 'com_content': if ($app->isAdmin()) { JForm::addFormPath(__DIR__ . '/forms'); $form->loadFile('content', false); } return true; } return true; …

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
如何测试Joomla 2.5组件
我在StackOverflow上问了这个问题,有人建议我在这里问。 我熟悉单元/系统/集成测试,并且希望能够测试我的Joomla组件。有这样做的标准方法吗? 我正在研究这个joomla mvc组件示例,其中不包含测试。我在Joomla文档和各个网站上都能找到的只是测试代码和bootstrap.php文件的片段。我特别想知道的是: 组件测试代码放在哪里 我是否需要提供自己的bootstrap.php,还是有某种方法可以仅“包括joomla”并运行测试 理想情况下,有人可以将我定向到一个开放源代码的Joomla组件,该组件具有有关如何运行它们的测试和说明(快速浏览,前5个左右没有测试)。 我找到的最接近的是this,它基于我的虚拟测试。 到目前为止我做了什么 组件目录结构: 你好,世界/ 管理员/ ... 测试/ bootstrap.php phpunit.xml modelHelloWorldsTest.php 现场/ ... helloworld.xml 第一次尝试 要运行测试,我将组件安装/复制到我的Joomla安装中。然后,我从〜joomla / administration / components / com_helloworld / tests运行以下命令: php phpunit-4.2.phar --bootstrap bootstrap.php . 我从中收到 Fatal error: Class 'ContentController' not found in C:\inetpub\wwwroot\ws_cairnstest\administrator\components\com_helloworld\tests\modelsHelloWorldsTest.php on line 5 我收集到这意味着我的bootstrap.php不正确,并且尚未加载必要的Joomla类。我会在某个时候对此进行调查,但这似乎是为了进行一些测试而进行的大量设置。 bootstrap.php: <?php …

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

6
Joomla组件工具还是脚手架?
我为Joomla 3.2创建了两个插件,最近开始使用一个组件来管理公寓租金。我想知道是否有一个框架已经建立了基本的文件/文件夹结构,其中包含使组件快速运行所需的文件。 我不想每次启动时都必须重新创建轮子,并且使组件运行所需的文件和类具有基本的必要结构。那里已经有人了吗? 如果没有,那么使用哪个Joomla库存组件是一个很好的例子? 编辑:看到答案后,我认为也许“框架”是术语的错误选择。我不是在寻找具有自己代码库的东西。我一直在寻找具有所有Joomla组件通用且必须运行的文件/文件夹结构的东西,例如控制器,views文件夹,models文件夹等。 我要查找的内容应该没有Joomla核心代码中尚未包含的依赖项。 我为joomla 1.5找到了一个具有所有必需文件的文件,您要做的就是重命名类和文件以匹配组件的名称并安装,您将拥有基本的管理员视图,前端菜单视图等...我希望有人在那里创造一个

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

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

3
防止错误消息显示SQL
在我的表中,我已经在'col1'上创建了一个索引,以防止重复条目正常工作,但是在用户尝试添加重复条目时向用户显示的结果错误消息在我看来似乎是安全问题,因为它显示了SQL,包括表前缀。 有什么方法可以阻止Joomla在错误消息中显示SQL? 我试过更改全局配置中的错误报告设置,但据我所知,它没有任何作用。 消息示例: 错误 保存失败并出现以下错误:键'TestKey'的条目'Test'复制了SQL = INSERT INTO`jml_mycomp_tbl1`(`id`,`col1`,`ordering`,`state`,`created_by`)VALUES('0' ,“测试”,“ 2”,“ 1”,“ 730”)

1
向现有组件添加标签功能
我正在寻找让标签在扩展程序内工作的功能。我看到了这一点,并且已经将该字段显示在编辑视图中,但是它当然不会保存在任何地方。 查看com_content文章标签的处理方法,它会在关系完成之前进行彻底的映射交换。因此,我看到它在内部建立了标签与内容的关系#__contentitem_tag_map。我是否需要在我的组件中为标记专门创建一个新表,或者这仅仅是com_contant处理它的方式,并且我可以像其他任何字段类型一样将标记保存到一列中? 我是否需要对扩展进行此操作,或者我没有利用某些东西使流程变得更加简单? 也许“将标签简洁地添加到扩展名101”可能有用。 在这种情况下,我还没有从任何文档中提到标签的地方看到任何具体的信息,但是如果相关,我使用FOF / RAD开发了此扩展。

2
在组件视图页面中添加joomla的默认工具栏
我正在为joomla 2.5和3开发一个mvc组件。在许多组件中,我看到它们在管理端的设置页面顶部添加了joomla的默认命令按钮,例如new,edit,publish,trash,选项。例如。如果去组件->网络链接->链接页面,我正在谈论右上角的那些命令按钮。 那么,如何在组件的设置页面中添加这些命令按钮?单击时,它将执行相应的操作并显示相应的视图。例如,如果单击“新建”按钮,它将按原样显示我的mvc组件的添加条目视图。 因此,如何在管理员端的组件设置页面中添加完全可用的joomla命令按钮。


1
如何使用过滤器和分页创建视图
我想为Joomla 3.x创建带有过滤器和分页的视图,但是我不确定必须包含哪些内容以及在何处。 现在,我的模型扩展了JModelList,我开始使用该getListQuery()方法来获取数据: <?php defined('_JEXEC') or die; class smartModelProducts extends JModelList{ protected function getListQuery(){ // Initialize variables. $db = JFactory::getDbo(); $query = $db->getQuery(true); // Create the base select statement. $query->select('*') ->from($db->quoteName('#__smart_products')); return $query; } } 我的view.html.php看起来像这样: <?php defined('_JEXEC') or die; class smartViewProducts extends JViewLegacy{ function display($tpl=null){ $app=JFactory::getApplication(); $jinput = $app->input; …

1
如何在组件中使用其他组件的模型?
我正在构建一个组件,它需要访问#__content表。组件com_content完成了该表中我的组件需要做的所有事情。如何将com_content模型导入组件中的控制器? 使用现有表代替创建自己的表是一种好习惯吗?我的组件将显示带有评论的相册,我想使用#__content表存储评论。我应该为评论创建一个新表吗?
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.