Учебники

CakePHP — Просмотр элементов

Определенные части веб-страниц повторяются на нескольких веб-страницах, но в разных местах. CakePHP может помочь нам повторно использовать эти повторяющиеся части. Эти многократно используемые части называются Элементами — окно справки, дополнительное меню и т. Д. Элемент — это, в основном, мини-вид . Мы также можем передавать переменные в элементах.

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

Есть три аргумента для вышеуказанной функции —

  • Первый аргумент — это имя файла шаблона в папке / src / Template / Element / .

  • Второй аргумент — это массив данных, которые должны быть доступны для визуализированного представления.

  • Третий аргумент — для массива опций. например, кеш.

Первый аргумент — это имя файла шаблона в папке / src / Template / Element / .

Второй аргумент — это массив данных, которые должны быть доступны для визуализированного представления.

Третий аргумент — для массива опций. например, кеш.

Из трех аргументов первый является обязательным, а остальные необязательными.

пример

Создайте файл элемента в каталоге src / Template / Element с именем helloworld.ctp . Скопируйте следующий код в этот файл.

ЦСИ / Шаблон / Элемент / helloworld.ctp

<p>Hello World</p>

Создайте папку Elems в src / Template и в этом каталоге создайте файл View с именем index.ctp . Скопируйте следующий код в этот файл.

SRC / Template / Elems / index.ctp

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

Внесите изменения в файл config / rout.php, как показано в следующей программе.

конфиг / 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();

Создайте файл ElemsController.php в src / Controller / 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: // локальный: 85 / CakePHP / элемент-пример

Выход

После выполнения приведенный выше URL даст вам следующий вывод.