HY
我们有以下问题: 我们的editors-xtd插件包含以下文件:
pluginname.php
pluginname.xml
modal.php
processor.php
出于安全原因和JED中的列表,我们必须包括`
defined('_JEXEC') or die;
因为没有办法在joomla中调用modal.php和processor.php,我们该如何处理呢。 要构建一个通过模态iframe调用文件的组件,这是我们目前看到的唯一方法。但是要编写一个组件,调用一个模态iframe是一个“过度”的小点。
所以如果有人有想法,请告诉我们!
答案 0 :(得分:0)
如果我理解你的问题,你会得到以下信息:
一个editor-xtd插件pluginname.php
,它产生一些HTML / CSS / JS输出。这反过来直接调用(通过AJAX?)其他php文件modal.php
和processor.php
,而不通过Joomla的index.php。由于执行在触及这些文件之前没有通过Joomla的代码,因此没有定义_JEXEC,因此进程die
s。
有两种解决方案。
请勿检查_JEXEC。如果你的modal.php和processor.php没有访问数据库或者需要Joomla的其他部分,那么就没有必要通过Joomla框架。简而言之:如果你没有在代码的那一部分中包含任何Joomla文件,我看不出这个问题。我不确定,但JED编辑是否同意这一观点。
以正确的方式浏览Joomla Framework。创建一个组件,给它一个视图,将modal.php登录放入该视图中。从editor-xtd插件调用该视图。使用processor.php
执行等效操作(根据代码实际执行的任何内容)