目录

CakePHP - View Elements

网页的某些部分在多个网页上重复,但位于不同的位置。 CakePHP可以帮助我们重复使用这些重复的部分。 这些可重复使用的部件称为Elements − help box, extra menu等。元素基本上是一个mini-view 。 我们也可以在元素中传递变量。

Cake\View\View::element(string $elementPath, array $data, array $options =[])

上述功能有三个参数 -

  • 第一个参数是/src/Template/Element/文件夹中模板文件的名称。

  • 第二个参数是要渲染的视图可用的数据数组。

  • 第三个参数是选项数组。 例如缓存。

在3个论点中,第一个是强制性的,其余的是可选的。

例子 (Example)

src/Template/Element目录中创建一个名为helloworld.ctp的元素文件。 复制该文件中的以下代码。

src/Template/Element/helloworld.ctp

<p>Hello World</p>

src/Template创建一个文件夹Elems ,并在该目录下创建一个名为index.ctpView文件。 复制该文件中的以下代码。

src/Template/Elems/index.ctp

Element Example: <?php echo $this→element('helloworld'); ?>

config/routes.php文件中进行更改,如以下程序所示。

config/routes.php

<?php
   use Cake\Core\Plugin;
   use Cake\Routing\RouteBuilder;
   use Cake\Routing\Router;
   Router::defaultRouteClass('DashedRoute');
   Router::scope('/', function (RouteBuilder $routes) {
      $routes->connect('/elementexample',['controller'=>'Elems','action'=>'index']);
      $routes->fallbacks('DashedRoute');
   });
   Plugin::routes();

src/Controller/ElemsController.php创建一个ElemsController.php文件。 将以下代码复制到控制器文件中。

src/Controller/ElemsController.php

<?php
   namespace App\Controller;
   use App\Controller\AppController; 
   use Cake\ORM\TableRegistry;
   use Cake\Datasource\ConnectionManager;
   class ElemsController extends AppController{
      public function index(){
      }
   }
?>

通过访问以下URL执行上述示例。

http://localhost:85/CakePHP/element-example

输出 (Output)

执行后,上面的URL将为您提供以下输出。

查看元素
↑回到顶部↑
WIKI教程 @2018