php - 在 Octobercms 的页面中运行外部 PHP 脚本
问题描述
为了加快在前端创建 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 发生冲突。有没有人尝试过类似的方法并解决了这个问题?
编辑:我尝试了这些建议,但它对我不起作用,也许我错过了一些东西。就在几个小时前,外部程序的作者进行了升级,而我之前的代码运行良好。我知道没有正确使用该框架,但我需要一个解决方法来面对最后期限。感谢大家!
解决方案
为此目的使用 PDOCrud 会忽略 OctoberCMS 中内置的大量功能。为自己创建一个自定义插件并将非常强大且易于使用的后端表单集成到一个组件中以在您的前端使用是非常简单的。
看
推荐阅读
- javascript - 如何等待 API 返回 JSON 响应,然后 console.log 该响应?
- python - 如何从屏幕实例外部切换 Kivy Python 文件中的屏幕
- linux - 源命令在 shell 脚本中运行时找不到文件
- javascript - 使用 moment.js 生成进入第二天的 30 分钟时间段
- google-analytics - BigQuery 中 Google Analytics 用户 ID 自上次会话以来的天数?
- python - 来自非 Selenium 浏览器的 Cookies\Sessions\Site 信息是否会污染 Selenium 浏览器?
- angular - 如何在 typescript angular 中使用 angular-svg-icons 包显示 svg 图像?
- flutter - 美国电话号码 E.164 的 Flutter TextInputFormatter 不起作用。如何使用美国 (+1) 代码进行格式化
- python - 刷新 Kivy 中数据更改的回收视图
- database - 按时间戳排序不能提供准确的最近记录