问题描述
|
情况如下:
我有一个ASP.NET主站点,其中有一个Magento在线购买部分。
.NET站点包含带有动态生成的菜单的标头,我必须在该站点的Magento端重用相同的标头。
我不能仅将HTML复制到静态块中,因为菜单项是动态生成的
从数据库。
我尝试使用iframe,但我在菜单中使用的是superfish,因此,当子菜单显示时,它们不适合iframe,因此我们看不到整个菜单。
因此,我尝试使用具有以下两种语法的PHP include:
include(\“ / GetHeader.aspx?l = en \”);
和
include(\“ http://siteurl/GetHeader.aspx?l = en \”);
但两者均无法显示任何内容,页面仅为空白。
我的PHP.ini设置为显示错误和警告,并且两者都显示
allow_url_fopen和allow_url_include设置为On
关于如何实现我要做什么的任何想法吗?
谢谢
解决方法
我真的认为使用普通服务器堆栈绝对不可能做到这一点。如果使用Edge Side Includes运行Varnish,则可能会做一些事情。
PHP的“ 0”功能用于在编译过程中通过文件系统包含文件。这意味着它不会执行任何HTTP请求,因此不会通过ASP.NET引擎运行。这就是为什么它无法以您使用它的方式工作。
,您可以使用Web请求(如PHP功能)直接调用该页面。
,既然您有
allow_url_fopen
,我相信您可以这样做:
print file_get_contents(\'http://siteurl/GetHeader.aspx?l=en\');