У меня есть плагин ctools ака. тип контента ака. панель панели. Как сделать это программно?
chaos-tool-suite
роги
источник
источник
Ответы:
ctools_content_render()
это решение.источник
ctools_include('content');
ранееctools_content_render()
, так как в противном случае вы получите фатальную ошибку.В этом
ctools_ajax_sample
модуле есть отличный и простой пример того, как это сделать (в наборе CTools).Как уже было отмечено, ключ заключается в использовании функции
ctools_content_render()
.В примере показано, как заполнить аргументы функции, хотя вам, очевидно, нужно настроить ее в соответствии с вашими потребностями.
Этот поток в Drupal Groups дает больше информации о том, как загрузить правильный контекст.
файл
ctools/ctools_ajax_sample/ctools_ajax_sample.module
источник
Если вы загружаете требуемый файл, все, что вам действительно нужно сделать, - это вызвать функцию render (
hook_content_type_render
), которая будет возвращать стандартный объект класса, так же, как иhook_block_view
делает.Все, что вам нужно, - это функция темы, если только вы не хотите визуализировать необработанный вывод напрямую.
В коде это может выглядеть примерно так:
источник
Мне удалось вытащить панель с панорамированием с помощью следующего кода:
источник
module_load_include()
вы можете нарушить процесс загрузки плагинов ctools. CTools используетrequire_once
метод, поэтому, если файл был ранее включен сторонним скриптом, будет невозможно включить его с помощью ctools (и$plugin
массива разбора ). Таким образом, ваша панель не будет работать в других местах.