Разные отображения для одной ноды (iframe).

Главные вкладки

Аватар пользователя sdm98 sdm98 1 декабря 2021 в 16:19

Всем привет.

Мне нужно отдавать страницу в стороннее моб.приложение. Т.е. кроме обычного отображения страницы, для посетителей, нужно ещё отображение, где будет только контент без заголовка, футера и т.п. (аналог iframe)
Например, по адресу site.com/catalog/tovar1 - нормальное отображение, а site.com/catalog/tovar1/teaser - только контент.

Подскажите, как это можно сделать. Спасибо!

Комментарии

Аватар пользователя sdm98 sdm98 2 декабря 2021 в 10:53

Спасибо!
То, что делает этот модуль у меня получилось сделать вьюсом с путём catalog/%/teaser. выводится нужный контент.
Не понимаю как задать шаблон страницы для такого вьюса, где путь динамический. Чтобы выкинуть хедер и футер.
views назыается hteaser.
page--hteaser.html.twig не прокатывает. Путь жёстко не задать.... ((((

Аватар пользователя marassa marassa 2 декабря 2021 в 10:59

sdm98 wrote: как задать шаблон страницы для такого вьюса

Есть два пути: как умею я и правильный Wink
Как умею я: на /admin/structure/block сделать все ненужные блоки невидимыми на страницах с шаблоном catalog/*/teaser.
Правильный: через Layout Builder, но я им не владею.

Аватар пользователя sdm98 sdm98 3 декабря 2021 в 9:53

Спасибо. Попробую, но похоже придётся в программировании разбираться. У меня в шаблоне ещё много всего зашито что менять/удалять нужно(фоновое видео, вёрстка, соц.сети, аналитика). Одних блоков мало.

Аватар пользователя sdm98 sdm98 3 декабря 2021 в 10:00

Спасибо. Да. Урлы разные. Вьюс один, но для каждого товара генерится свой урл. В этом главная проблема. Сейчас гляну.

Аватар пользователя sdm98 sdm98 3 декабря 2021 в 13:30

ЗАРАБОТАЛО!!!:

<?php
function THEME_suggestions_page_alter(array &$suggestions, array $variables) {

  if (

$node = \Drupal::routeMatch()->getParameter('node')) {
    
$content_type $node->bundle();
    
$suggestions[] = 'page__'.$content_type;
    
    
    
    
/******teaser*****/
    
$current_path Drupal::service('path.current')->getPath();
    if (
strpos($current_path 'teaser') !== false)    {
        
$suggestions[] = 'page__teaser';
        
    }
    
  }
}
?>

шаблон page--teaser.html.twig