单独的MODx上下文将数据存储在与modx_site_content表不同的表中

时间:2015-12-29 16:29:19

标签: modx modx-revolution

我拥有其他外部软件在" modx_site_content"中使用的所有数据。表。一切都很棒 - 我们在一个表中查看/添加/编辑/删除数据,这些表由MODx和其他2个PHP / JS脚本使用。但我希望有另一个表,MODx和其他脚本都使用。是否有可能创建新的上下文,例如" modx_site_content2"表

1 个答案:

答案 0 :(得分:1)

这是可能的,但实际上并不是一个好方法。首先,它需要很多插件才能弄清楚它是如何工作的。我想做的是(我没有运行实例)。并且需要一些摆弄php和sql。

创建插件到onLoadWebDocument,检查你有$ modx->资源对象插件的$ modx-> context->键(或那个指向那个方向)的上下文键是什么,你可以实际覆盖它。

接下来使用url路径加载资源(需要拆分),这将使用sql查询匹配资源的别名。有一个像下一个PHP部分:

$res = $modx->query('your_modResource_clone', 214); // 214 is the resource id and the object needs to inherit modResource
$obj = new modResource($modx);
$obj->fromArray($res->toArray()); // Could be that you can actually assign the object directly to line below.
$modx->resource = $obj;

这实际上应该可以正常工作,因为对象只是加载而不是渲染。代码可能有点不对(就像说没有任何正在运行的实例)。 modx也有可能不会缓存它。它应该但现在不确定。请注意,您还需要解析网址以获得正确的ID,这将使这更加困难。但基本概念就在那里。希望