在Octobercms页面中运行外部PHP脚本

时间:2019-04-29 16:50:43

标签: php laravel octobercms

为加快前端CRUD接口的创建速度,我尝试在octobercms(PHP 7.2)中使用一个称为PDOCrud的外部工具/程序。当单独工作时,PDOCrud可以很好地完成其工作,但是我在将它集成到Octobercms时遇到了问题(我希望它可以集成)。

这是PDOCrud呈现Crud接口的常规代码:

 require_once base_path('script/pdocrud.php'); 
 $pdocrud = new PDOCrud();
 echo $pdocrud->dbTable("tablename")->render(); 

这就是我将其包含在普通页面中的方式

title = "Make tournament"
url = "/make-tournament"
layout = "Default"
description = "some description"
is_hidden = 0
==
<?php
function onstart() { 
  require_once base_path('script/pdocrud.php'); 
  $this['crud'] = new class {
        public function foo() {
            $pdocrud = new PDOCrud();
            return $pdocrud->dbTable("tablename")->render(); 
            // return phpinfo();
        }
    };
}
?>
==
<h1>Make crud</h1>
{{ crud.foo()|raw }}

出现表格。但是,用于Crud操作的按钮不执行任何操作。 octobercms的会话可能与外部代码的会话冲突,或者jquery可能两次加载了该会话。 是否有人尝试过类似的方法并解决了问题?

编辑:我尝试了这些建议,但对我没有用,也许我错过了一些东西。就在几个小时前,外部程序的作者进行了升级,而我之前的代码运行良好。我知道没有正确使用框架,但是我需要一个变通方法来面对最后期限。谢谢大家!

1 个答案:

答案 0 :(得分:1)

为此目的而使用PDOCrud会忽略OctoberCMS内置的大量功能。为自己创建一个自定义插件,然后将功能强大且易于使用的后端表单集成到要在前端使用的组件中,将非常简单。

请参见