J'ai un plugin ctools aka. type de contenu aka. volet du panneau. Comment le restitue-t-on par programme?
12
J'ai un plugin ctools aka. type de contenu aka. volet du panneau. Comment le restitue-t-on par programme?
Réponses:
ctools_content_render()
est la solution.la source
ctools_include('content');
avantctools_content_render()
, car dans d'autres cas, vous obtiendrez une erreur fatale.Il y a un excellent et simple exemple sur la façon de le faire dans le
ctools_ajax_sample
module (dans la suite CTools).Comme cela a été souligné, la clé est d'utiliser la fonction
ctools_content_render()
.L'exemple montre comment remplir les arguments de la fonction, bien que vous deviez évidemment la personnaliser en fonction de vos besoins.
Ce fil dans les groupes Drupal donne plus d'informations sur la façon de charger le bon contexte.
Fichier
ctools/ctools_ajax_sample/ctools_ajax_sample.module
la source
Si vous chargez le fichier requis, tout ce que vous devez vraiment faire est d'appeler la fonction de rendu (
hook_content_type_render
) qui retournera un objet de classe standard, tout comme lehook_block_view
fait.Tout ce dont vous avez besoin à partir de là est une fonction de thème, à moins que vous ne vouliez simplement rendre la sortie brute directement.
Dans le code, cela pourrait ressembler à ceci:
la source
J'ai pu tirer une page panélisée dans le panopole en utilisant le code suivant:
la source
module_load_include()
vous, vous risquez de casser le processus de chargement des plugins ctools. CTools utilise larequire_once
méthode, donc si le fichier a été inclus précédemment par un script tiers, il ne sera pas possible de l'inclure par ctools (et parse$plugin
array). Donc, en tant que resullt, votre volet ne fonctionnera pas dans d'autres endroits.