Я загрузил тему и контент блока module_invoke()
и использовал их render()
для рендеринга. Я хочу использовать контекстные ссылки для этого блока. Как я могу сделать их тоже?
Это код, который я использую для шаблона страницы - front.tpl.php.
$block = module_invoke('block', 'block_view', '4);
print render($block);
Какой код я должен вместо этого использовать?
Ответ Барта выдаст предупреждение о строгих стандартах (по умолчанию включено в PHP 5.4). Чтобы это исправить, просто используйте промежуточную переменную для визуализируемого массива:
Причина появления предупреждения заключается в том, что
drupal_render
функция ожидает, что ее параметр является ссылкой. У него есть подписьdrupal_render(&$elements)
. Для получения дополнительной информации см. Ответ на этот похожий вопрос .источник
Контекстные ссылки полезны и действительно просты в реализации. Для вашего
hook_block_view_alter()
варианта использования вам нужно реализовать изменить элемент #contextual_links в соответствии с вашими потребностями. Эти ссылки помогут вам:GL :)
источник