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

Аватар пользователя y-vo y-vo 10 декабря 2019 в 19:04

Приветствую. Есть ли какая либо возможность перенести блок под описание термина на странице термина? Написал небольшой модуль, который выводит промо ноды, вернее их тизеры в определенных разделах, однако если размещать блок над main content в разделе, то он выводится над описанием термина. Теоретически можно конечно рендерить этот блок прям в tpl файле терминов, но думаю это не самый правильный вариант? Может кто то подскажет варианты?

Лучший ответ

Аватар пользователя voviko voviko 11 декабря 2019 в 0:00
1
y-vo wrote:

Спасибо, а можно поподробнее про кеш? Что то открыл страницу его на орге и не пойму зачем эта константа, насколько я понимаю она позволяет задавать разные методы кеширования для разных типов страниц? Так глубоко я еще не копал) Извиняюсь за возможно глупый вопрос.

вопрос правильный, и довольно интересный.
вся суть в том, чтобы снизить время отрисовки страницы после запроса.. И этой разницы почти нет.
Более правильно добавить регион (на простых сайтах) и без кода через views и тп, но мне неудобно когда много блоков в настройках блоков, по коду как то проще в тпл искать.
Но, добавив регион, можно потратить время на реализацию аргументов для отображения блока.

<?php
//Про кеш.  https://api.drupal.org/api/drupal/modules%21block%21block.api.php/function/hook_block_info/7.x
function hook_block_info() {
  
// This example comes from node.module.
  
$blocks['syndicate'] = array(
    
'info' => t('Syndicate'),
    
'cache' => DRUPAL_NO_CACHE,
  );
  return 
$blocks;
}
?>

.

Комментарии

Аватар пользователя y-vo y-vo 10 декабря 2019 в 20:57

Спасибо, а можно поподробнее про кеш? Что то открыл страницу его на орге и не пойму зачем эта константа, насколько я понимаю она позволяет задавать разные методы кеширования для разных типов страниц? Так глубоко я еще не копал) Извиняюсь за возможно глупый вопрос.

Аватар пользователя voviko voviko 11 декабря 2019 в 0:00
1
y-vo wrote:

Спасибо, а можно поподробнее про кеш? Что то открыл страницу его на орге и не пойму зачем эта константа, насколько я понимаю она позволяет задавать разные методы кеширования для разных типов страниц? Так глубоко я еще не копал) Извиняюсь за возможно глупый вопрос.

вопрос правильный, и довольно интересный.
вся суть в том, чтобы снизить время отрисовки страницы после запроса.. И этой разницы почти нет.
Более правильно добавить регион (на простых сайтах) и без кода через views и тп, но мне неудобно когда много блоков в настройках блоков, по коду как то проще в тпл искать.
Но, добавив регион, можно потратить время на реализацию аргументов для отображения блока.

<?php
//Про кеш.  https://api.drupal.org/api/drupal/modules%21block%21block.api.php/function/hook_block_info/7.x
function hook_block_info() {
  
// This example comes from node.module.
  
$blocks['syndicate'] = array(
    
'info' => t('Syndicate'),
    
'cache' => DRUPAL_NO_CACHE,
  );
  return 
$blocks;
}
?>

.

Аватар пользователя y-vo y-vo 11 декабря 2019 в 17:41

Большое спасибо! Так и подумал что это где то в массиве настроек передается, не нашел только где.

Аватар пользователя VasyOK VasyOK 10 декабря 2019 в 23:34

А почему бы не задать в теме регионы, в которые поместить нужные блоки? Хоть над хоть под.

Аватар пользователя y-vo y-vo 11 декабря 2019 в 17:40

Ну насколько я знаю контент раздела выводится taxonomy.tpl.php, при этом в регионах сайта все равно оно рендерится блоком Main page content, то есть даже если я введу дополнительный регион, то все равно контент раздела вместе с его описанием будет выводиться вместе. И это не решит вопрос.

Аватар пользователя VasyOK VasyOK 11 декабря 2019 в 22:22

taxonomy.tpl.php - такого по умолчанию вроде нет.

Есть taxonomy-term.tpl.php - но это не шаблон вывода страницы, а только того, что в области контента. Т.е. регионы не затрагивает. А если вы выводите содержимое термина вьюхой то и этот файл не используется.

Можно сделать page.tpl.php для термина таксономии. Но это bad practice и по умолчанию вырезано.

Но даже если использовать сопосбы выше, все равно можно создать и регионы и блоки, размещенные хоть над контентом, хоть под.