Я хотел бы иметь возможность обслуживать файл php, который не обременен бэкэнд-темой OctoberCMS, для использования в новом окне. (Автономная страница)
Как получить доступ и запустить определенный php файл в OctoberCMS при создании внутреннего модуля?
Ответы (2)
Как использовать настраиваемую «свернуть свою собственную страницу PHP» при создании внутреннего модуля OctoberCMS
Оказывается, ответ очень прост:
- в каталоге плагинов plugins / acme / cheesyplugin / добавьте папку просмотра.
- Сохраните файл PHP в каталоге просмотра example myphppage.php.
- Создайте контроллер или используйте существующий по вашему выбору.
Создайте метод (например, позвольте мне вызвать мой метод myphppage) в контроллере.
Добавьте, например, следующий код в свой метод на контроллере:
//method inside your chosen controller class public function myphppage(){ return \Response::view( 'acme.cheesyplugin::myphppage', ['a'=>$this])->header('Content-Type', "text/html"); }
Все сделано
Теперь у вас есть своя собственная страница PHP, которая будет отображаться как вам угодно, но при этом имеет все преимущества участия в вашем внутреннем сеансе.
Чтобы перейти на свою страницу php, выполните следующие действия: Пример PHP: http://[server]/backend/[you_as_publisher]/[plugin_name]/[controller_name]/[your_custom_method]
Обратите внимание, что второй атрибут для Response :: view () - это массив переменных, к которым ваша пользовательская страница может получить доступ. вы можете изменить тип контента по своему усмотрению. Идеально подходит для двоичных файлов, таких как PDF-файлы и т. Д.
Это можно сделать двумя способами.
Первый - создать файл с именем routes.php
в любом каталоге ваших плагинов и поместить некоторый код, подобный следующему:
Route::get('/welcome', function(){
?>
//Here goes my HTML,CSS,JS,PHP CODE !
<?php
});
Другой способ также в routes.php
- перенаправить ваш маршрут в представление, подобное следующему коду:
Route::get('/welcome', function(){
return view('mynamespace.mypluginname::welcome');
});
И представление должно находиться в плагине, который вы указали его пространство имен и его имя в предыдущем коде. И он должен находиться в папке с именем views
, поэтому полный путь должен быть plugins/mynamespace/mypluginname/views/welcome.blade.php
Как видите, вы можете использовать Blade
шаблонизатор.
Надеюсь, это поможет.