Перейти к основному содержимому

Предпросмотр / Iframe-панель

Укажите URL и используте параметр контекста, чтобы отрендерить произвольный ответ.

Конфигурация класса

Class Definition

Обратите внимание: вы можете указать произвольную строку, которая будет добавлена в информацию контекста. Ниже приведен пример результирующего вывода.

Пример кода контроллера

<?php  

namespace App\Controller;

use Pimcore\Model\DataObject\Service;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;

class IFrameController extends \Pimcore\Controller\FrontendController
{
/**
* @Route("/iframe/summary")
*/
public function summaryAction(Request $request): Response
{
$context = json_decode($request->query->getString("context"), true);
$objectId = $context["objectId"];
$language = $context["language"];

// получаем текущие данные редактирования, а не сохраненную версию
$object = Service::getElementFromSession('object', $objectId);

// если объект открыт в первый раз, его еще нет в сессии,
// поэтому загружаем сохраненную версию
if ($object === null) {
$object = Service::getElementById('object', $objectId);
}

$response = '<h1>Title for language "' . $language . '": ' . $object->getTitle($language) . "</h1>";

$response .= '<h2>Context</h2>';
$response .= array_to_html_attribute_string($context);
return new Response($response);
}
}


Редактор объектов

Editor


Вы можете предложить улучшение документации или задать вопрос в комментариях.
Если вам нужна полноценная консультация — вы можете заказать её на нашем сайте.