Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 覆盖表前缀的Joomla插件_Php_Mysql_Joomla_Prefix - Fatal编程技术网

Php 覆盖表前缀的Joomla插件

Php 覆盖表前缀的Joomla插件,php,mysql,joomla,prefix,Php,Mysql,Joomla,Prefix,概述: 我有一个Joomla网站,它有数据库表的各种副本,都在同一个数据库中,但有不同的表前缀 根据访问站点的用户,我需要更改使用的joomla表前缀,以便显示相关表 这必须是站点范围内的 问题: 通过核心代码破解,我可以根据需要更改前缀,但更愿意将其作为插件 使用该插件,我可以使用$db->getPrefix()获得前缀,并且可以使用$db=JDatabaseDriver::getInstance($option)设置连接的即时实例。但这不是站点范围的,并且被标准$db=JFactory::g

概述: 我有一个Joomla网站,它有数据库表的各种副本,都在同一个数据库中,但有不同的表前缀

根据访问站点的用户,我需要更改使用的joomla表前缀,以便显示相关表

这必须是站点范围内的

问题: 通过核心代码破解,我可以根据需要更改前缀,但更愿意将其作为插件

使用该插件,我可以使用$db->getPrefix()获得前缀,并且可以使用$db=JDatabaseDriver::getInstance($option)设置连接的即时实例。但这不是站点范围的,并且被标准$db=JFactory::getDbo()覆盖

因此,我需要一个系统插件,它将在表前缀的每个实例运行时重新封装


有什么想法吗?

很抱歉,如果您安装了一个新的组件或模块,那么您在同步所有数据库上的更改时会遇到很多问题。我认为最好的方法是将每个用户重定向到他的真实站点(许多joomla文件和许多db)。
否则,您可以创建一个个人组件,读取该用户的表前缀,并只显示您想要的日期,这样只需复制您需要的表,而不是所有的joomla结构。

我认为这是一个非常酷的想法,但您想回答这个问题的人可能在joomla.stackexchange.com网站上。