我正在尝试在查看特定类型的节点时运行一些自定义代码.只是我用nodeapi实现的一小段代码.这在Drupal 7中运行良好,但由于我在ctools页面管理器中覆盖了node_view页面,因此它不会触发.
function mymodule_node_view($node, $view_mode, $langcode) {
if($node->type=='webform') {
drupal_set_message('test');
// actual code will go here
}
}
Run Code Online (Sandbox Code Playgroud)
是否有可以使用的不同核心功能?或者我找不到的ctools页面管理器钩子?
我可能在某个地方执行一些预处理主题覆盖中的代码,但它不是最好的事情.
我正在使用Ctools Dependency使字段集可隐藏.这是我的代码的一部分:
$form['profile-status'] = array(
'#type' => 'radios',
'#title' => '',
'#options' => array(
'new' => t('Create a new profile.'),
'select' => t('Use an existing profile.'),
),
);
$form['select'] = array(
'#type' => 'select',
'#title' => t('Select a profile'),
'#options' => $options,
'#process' => array('ctools_dependent_process'),
'#dependency' => array('radio:profile-status' => array('select')),
);
$form['profile-properties'] = array(
'#type' => 'fieldset',
'#title' => t('View the profile'),
'#process' => array('ctools_dependent_process'),
'#dependency' => array('radio:profile-status' => array('select')),
'#input' => true,
);
Run Code Online (Sandbox Code Playgroud)
在上面的代码片段中,有两个元素,一个是select,一个是fieldset.两者都有#process和#dependency参数,并且都指向依赖值的一个字段.问题是像select或textfield这样的元素可以很容易地隐藏,但它不适用于fieldset.在这个支持请求页面中,CTools创建者提到这'#input' => true …
我有一个模块,它使用页面管理器模块提供了许多页面hook_default_page_manager_pages()
.这很好.但现在我还想为包含的系统提供一个变体node/%node page
.但我找不到任何提供变种的钩子.
我的问题是,我无法创建自己的页面来覆盖节点/%节点,因为这已经由页面管理器模块本身提供,所以只有我可以创建接管正常节点视图的页面,才能提供变体(根据我的理解).但是我该如何以编程方式执行此操作?我可以看到可以导出变量,因此我猜也可以通过钩子提供它?
这有可能吗?
这个问题很普遍,我已经在这里发布了它的一个版本.不过,我希望通过在这个论坛上提问,我会有更好的机会得到回应,对更多人有用.
将内容加载到drupal页面上时将内容关联在一起是一项棘手的工作.在drupal中,每个页面(无论站点)基本相同:您在中间(视图,节点或多个节点)具有主要内容,其中包含围绕该中心内容的块.为了让块在某种程度上意识到中间是什么,(更不了解彼此)你要么必须在你自己的自定义模块中做一些非常花哨的步法,要么你必须在URL中提供"参数".
我一直在学习的空间/上下文/功能/金银丝由developmentseed提供的模块套件,而且我也进去看了面板/Ctools伯爵迈尔斯(谁写的意见的家伙)制成模块.虽然两者都提供了使我的工作更轻松的工具,但我对每一个的理解是,如果我想要由我的"上下文"定义的块的内容,我仍然需要在URL中放置"参数"(我在一般情况下使用它感觉,而不是在上下文模块或Ctools中的上下文概念所指的特定意义上.
我错过了什么,或者是我们与Drupal在一起的地方?
最后,我应该在结束时说,我知道其他模块可以在有限的个案基础上帮助解决这类问题.例如,视图附加模块和节点参考视图模块,每个都针对一个非常具体的用例尝试解决此问题.它们都是很好的模块,还有其他类似的模块,但我真的很想找到解决这个问题的方法.
鉴于此代码在Drupal 6站点中创建并打开ctools模式:
var content = 'my content';
var title = 'my title';
Drupal.CTools.Modal.show();
$('#modal-title').html(title);
$('#modal-content').html(content);
Drupal.attachBehaviors();
Run Code Online (Sandbox Code Playgroud)
如何在将关闭模式的内容中添加链接?
没工作:
onclick="Drupal.CTools.Modal.show();"
onclick="Drupal.CTools.Modal.close();"
我有什么想法可能做错了吗?
我是drupal的新手,我正在尝试用他们的drupal网站帮助一个朋友,即使我专注于Wordpress.我对此做了一些研究,并发现结果表明,通过将permisions更改为777,它将解决问题.我做到了,它仍然没有修复它...我完全失去了因为我还没有改变任何东西它几周前工作