在Drupal 6中,使用以下代码将块插入模板很容易:
$block = module_invoke('views', 'block', 'view', 'block_name');
print $block['content'];
Run Code Online (Sandbox Code Playgroud)
但是,在Drupal 7中使用相同的说明似乎不起作用.我环顾四周,找不到新方法.
Drupal 7是否有一个例程,可以允许以编程方式将块插入模板或节点?
只是想知道你们可能要分享的提示或技巧.像这样的帖子一样,每个帖子只需要一个提示,这样他们就可以独立投票.
我最近尝试过各种各样的jQuery插件,我不断收到这个错误......

...无论我尝试使用什么插件.
我已经检查了JS文件的链接,这些文件都在那里,工作正常.如果有任何不同,我正在使用Drupal.
我已经从主站点运行插件,以证明它们正在工作,并且我正在做正确的事情,取得了100%的成功.
有任何想法吗?
更新:
我的jQuery文件在页脚中调用:
$(document).ready(function() {
$('#footer_holder').hide();
// Fancy Box
$("a.fancybox").fancybox({
'hideOnContentClick': true,
'titlePosition' : 'over',
'transitionIn' : 'elastic',
'transitionOut' : 'elastic',
'speedIn' : 600,
'speedOut' : 200,
'overlayShow' : false,
});
$("#homepage_slider").easySlider({
auto: true,
continuous: true,
});
Run Code Online (Sandbox Code Playgroud)
});
*注意 - 花哨的盒子工作正常(除非easySlider代码在它之上).jQuery由Drupal整理出来.我正在运行1.4版本
Drupal是一个"尽力而为"的CMS.有些模块允许您添加几乎任何功能,这很棒.但是,感觉很多功能(v5和v6)似乎散落在用户身上并且不直观.作为一名开发人员,我留下了使用泡泡糖和字符串拼凑一个网站的感觉.
例如,要将文本添加到默认搜索框(单击时消失),您必须添加一些jQuery代码或覆盖主题.我还发现菜单系统比它应该更复杂.
我是唯一有此意见的人吗?关于Drupal的核心你会改变什么(如果有的话)?
在标准的基于php或源代码的项目中,我们可以轻松地将所有代码保存在SVN中,并且每个开发人员都可以签出自己的副本并在相同的代码上进行协作.
然而,在开发Drupal站点时,大部分工作都在"设置"中.除了主题和模块,你没有任何"源代码".如何运行同一站点的多个实例,以便开发人员可以同时工作但共享他们的工作?
示例场景:
我们启动了一个创建内容类型为"X"的Drupal站点的初始版本.我们最初还在网站上启动了一个视图,该视图按时间顺序列出了"X"类型的所有节点.客户端开始使用网站,添加内容,菜单项等.
计划在下一个版本中为该视图添加用户搜索功能.但是,它的设置包含在数据库中.我们可以将生产数据库复制到我们的开发版本,以便在我们更改视图时获取最新数据.但在此期间,客户端仍然可以更新站点,使我们的开发数据库不同步.当我们准备将新视图推向生产时,除了手动重复在生产安装上设置它的步骤之外,还有更简单的方法吗?
我正在编写自己的Drupal 7模块,并喜欢在其中使用JQuery.
$('#field').toggle();
Run Code Online (Sandbox Code Playgroud)
但是我收到了这个错误:
TypeError: Property '$' of object [object DOMWindow] is not a function
Run Code Online (Sandbox Code Playgroud)
似乎没有加载JQuery.否则应定义$.
虽然我实际上将它包含在标题中:
<script type="text/javascript" src="http://rockfinder.de/misc/jquery.js?v=1.4.4"></script>
Run Code Online (Sandbox Code Playgroud)
我是否还必须在Drupal中激活JQuery?是否被Drupal覆盖?
是否可以在Drupal模块中创建自己的钩子以供其他Drupal模块使用?如果没有,Drupal中是否有一个机制可供第三方开发人员提供钩子?如果到目前为止一切都没有,核心中的钩子列表实现了什么?
据我所知,Drupal模块可以处理类似系统的事件,称为钩子.创建新模块时,可以创建实现钩子的函数.例如,有一个hook_delete钩子.如果在模块中实现了一个功能
function mymodule_delete($node)
{
}
Run Code Online (Sandbox Code Playgroud)
删除节点时将调用此函数.
我想知道的是,作为第三方模块开发人员,有没有办法创建我自己的钩子.比方说,hook_alanskickbutthook其他模块开发人员可以订阅这个钩子.
如果可以,你怎么做?我查看了官方文档并且在那里找不到多少,当我开始探索Drupal源代码时,我仍然感到有些晕眩(我理解递归,但是没有花太多时间考虑递归问题).我们欢迎完整的解决方案,但我很高兴能够指出正确的方向.
整个问题如下:
让我们说我们有项目,项目可以有投标,项目可以有问题,问题可以有答案.
显示项目时,还应显示与此项目关联的所有内容.此外,根据角色,应显示某些表格以进行投标,提问和重播答案.
怎么做到这一点?我应该为每种类型分别设置节点类型吗?或者我应该将问题和答案等一些子类型视为评论?我应该使用一些众所周知的模块吗?
我正在使用Drupal 7,我试图编写一个自定义模块,但我没有让它正常工作.
如何修改或预处理<body>标记以添加类主体?我不想创建一个完整的html.tpl.php来添加一个类.
我一直在玩网络开发技术以获得乐趣(是的,我应该得到更多),并且对生产阶段(即开发,测试,性能和生产环境)缺乏明确支持感到有些震惊.实际上支持不是这个词; 内容管理系统似乎积极地反对允许清洁分期的努力.
目前我正在使用Drupal.我很难找到社区如何解决这个问题.我见过的大多数帖子都建议在生产系统上复制开发中的步骤(阅读本文实际上缩短了我的生活一点点).我还听说过将生产数据推回给开发人员,以便他们可以添加增量功能.如果客户端不希望您将数据拉回到开发环境中,那么这可能是不可能的.
最后我的问题是:
您如何管理CMS的现实生产阶段性问题?
我来自一个背景,在那里推动生产感觉就像送人到月球,所以我可能需要放松一点.但是我仍然感兴趣的答案涉及源代码控制,允许生产回滚和测试.