1

情况如下:我有一个 ASP.NET 主站点,其中有一个 Magento 在线购买部分。.NET 站点包含带有动态生成菜单的标题,我必须在站点的 Magento 端重用相同的标题。

我不能只在静态块中复制 HTML,因为菜单项是从数据库动态生成的。我尝试使用 iframe,但我在菜单中使用了 superfish,所以当子菜单出现时,它们不适合 iframe,所以我们看不到整个菜单。所以我尝试使用 php 包含,具有以下两种语法: include("/GetHeader.aspx?l=en"); 并包含(“http://siteurl/GetHeader.aspx?l=en”);但两者都没有显示任何内容,页面只是空白。

我的 php.ini 设置为显示错误和警告,并且 allow_url_fopen 和 allow_url_include 都设置为 On

关于如何实现我想要做的任何想法?

谢谢

4

3 回答 3

1

我真的不认为使用普通的服务器堆栈完全可以做到这一点。如果您使用Edge Side Includes运行Varnish,您可能会做一些事情。

PHPinclude函数用于在编译期间通过文件系统包含文件。这意味着它不执行任何 HTTP 请求,因此不通过 ASP.NET 引擎运行。这就是为什么它不能以您使用它的方式工作的原因。

于 2011-05-26T20:37:19.897 回答
0

您可以使用类似 PHP 的功能的 Web 请求直接调用该页面。

于 2011-05-26T20:34:23.007 回答
0

既然你有allow_url_fopen我相信你可以做到这一点:

print file_get_contents('http://siteurl/GetHeader.aspx?l=en');
于 2011-05-26T23:42:23.090 回答