Как мне включить ASP.NET файл на странице Magento PHP?

#php #asp.net #magento #server-side-includes

#php #asp.net #magento #на стороне сервера -включает

Вопрос:

Вот ситуация: У меня есть 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

Есть идеи о том, как добиться того, что я пытаюсь сделать?

Спасибо

Ответ №1:

Я действительно не думаю, что это чисто возможно с простым стеком сервера. Возможно, вы могли бы что-то сделать, если у вас запущен Varnish с использованием Edge Side Includes.

include Функция PHP предназначена для включения файлов во время компиляции через файловую систему. Это означает, что он не выполняет никаких HTTP-запросов и, следовательно, не выполняется через ASP.NET движок. Вот почему это не работает так, как вы его используете.

Ответ №2:

Вы могли бы вызвать страницу напрямую, используя функцию, подобную веб-запросу PHP.

Комментарии:

1. Согласен, я бы сам не стал использовать этот метод, но я ответил на заданный вопрос. Я не могу понять, почему он хочет делать то, что он делает, и я надеялся, что путаница в методе, который должен был бы работать, подтолкнет его к лучшему решению (написание виджета на PHP, который напрямую взаимодействовал бы с базой данных).

Ответ №3:

Поскольку у вас есть allow_url_fopen , я верю, что вы можете это сделать:

 print file_get_contents('http://siteurl/GetHeader.aspx?l=en');