如何在创建后端插件时访问和执行OctoberCMS中的特定php文件?

时间:2016-12-22 01:25:01

标签: octobercms octobercms-plugins

我希望能够提供一个不受OctoberCMS后端主题影响的php文件,以便在新窗口中使用。 (独立页面)

2 个答案:

答案 0 :(得分:3)

如何在创建OctoberCMS后端插件时使用自定义“滚动自己的PHP页面”

原来答案很简单:

  1. 在你的插件目录中插件/ acme / cheesyplugin /添加一个视图文件夹。
  2. 将您的PHP文件保存在视图目录示例myphppage.php中。
  3. 创建一个控制器或使用您选择的现有控制器。
  4. 在控制器中创建一个方法(例如,让我的方法 myphppage )。

  5. 将以下代码添加到控制器上的方法中,例如:

      //method inside your chosen controller class
      public function myphppage(){
    
        return \Response::view(
                           'acme.cheesyplugin::myphppage',
                            ['a'=>$this])->header('Content-Type', "text/html");
    
    }
    
  6. 全部完成

    您现在有了“滚动自己的PHP页面,可以随心所欲地呈现,但仍具有成为后端会话的所有优势。

    要导航到您的php页面,您会这样: PHP示例:     http://[server]/backend/[you_as_publisher]/[plugin_name]/[controller_name]/[your_custom_method]

    请注意, Response :: view() 的第二个属性是您的自定义页面可以访问的变量数组。你可以随心所欲地改变内容类型。非常适合PDF等二进制文件。

答案 1 :(得分:0)

有两种方法可以做到这一点。

第一个是在任何一个插件目录中创建一个名为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模板引擎。

我希望这会有所帮助。