问题:
首页是template类型,路径为node/71,在meta tags里面设置template类型的meta tags以后首页不显示meta,但是别的页面都是可以的,例如设置文章类型的meta tags以后,node/70是有meta的。(70是文章类型)
有人遇到过这种情况没,单独首页的meta tags设置以后不起作用。drupal7!
解决方法:
把下面的代码加在page--front.tpl.php里:
<?php render($page['content']['metatags']); ?>
如题
Drupal能实现两个关联数据集的关联吗?我们本地有一个RDF数据集,想把它与DBpedia关联数据集进行关联。如果能该如何实现呢?
最近在做两个关联数据集之间的关联方面的研究,查询了很多资料 。发现有篇文章说Drupal能实现这方面的需求,但网上相关的资料太少了,所以跑到这里来求助,不知道有人做过这方面的东西没有。
在下大学生一枚,在寝室学习durpal7,但是我看的模块是durpal6的视频。上面有个development模块,我死活也安不上,请教各位大神这是怎么个情况,谢谢。
IRC 在线交流
欢迎来到Drupal中国社区在线聊天室。
您只需正确输入下方的 CAPTCHA,就可以立即连接到#drupal-china 社区。
请耐心等候,刚开始使用的时候可能需要10秒加载。
更多详细内容请看这里:
原文地址:http://www.lullabot.com/blog/articles/beginners-guide-caching-data-drupal-7
在Drupal 7中建立复杂的,动态的内容是简单的,但是这是有代价的。当一个用户查看一个node或者载入一个特定页面的时候,每一次都执行复杂的查询和大量的计算对于一个大流量的网站来说是一场“恶梦”。
一个解决方案在Drupal管理界面打开性能选项:缓存页面。这可以为匿名用户缓存页面输出来加速,大大的减少了数据库查询。但是这对注册用户并不起作用,然而:因为页面级别的缓存是一见孤注一掷的事情,它只对标准化的,总是相同的的匿名用户看到的页面起作用。最终,你只能深入研究你的代码,找出数据库查询热点并且自己加入缓存。幸运的是,Drupal内建的缓存APIs和一些简单的指导方针可以使这个任务变的简单。
基本原则
第一条优化原则是:不要让可以重用并掌握结果的比较耗费时间的操作执行2次。让我们具体看看一个这条原则的例子:
原文链接:http://www.istos.it/blog/drupal-entities/drupal-entities-part-2-what-where-and-when-entities
在第二部分我们将来探秘Drupal entities。在第一部分中我们介绍了entities的发展过程。在这篇文章中,我们将更深入的了解entities,并且讨论应该在什么情况下使用它。
在前一篇文章中我已经阐述了Drupal如何从以nodes作为其主要抽象单元过渡到entities的,但是我们只是通过Drupal历史来说明为什么使用entities而没有真正的说明白entities到底是什么。
这里我们将要来详细的说一说什么是entities,何时何地来使用它。我将不讲的过于技术(也就是:没有代码) - 我主要的目标是让大家明白entities到底是什么且能做些什么。在这个系列的最后一篇将比较技术(也就是:很多代码)。
What are Drupal Entities
原文地址:http://www.istos.it/comment/2870
使用entity来作为内容的抽象是Drupal7架构层面上最大的改变之一。在这一系列的博客文章中我将介绍entity概念是如何产生的,它到底是什么还有如何能被应用在模块中。第一篇文章将介绍Drupal7中的entity。
Drupal7 在各个层面有许多大的改变。这其中,使用entity作为内容主要的抽象是底层架构的最大改变之一。
Drupal7的changelog中没有提到entity就是一个明显的标志,说明entity被深层嵌入了,entity并不是一个面向用户的工具或者一个抽象概念,而是在架构级别上处理内容的工具。
我本打算只写一片文章来帮助自己来理清对entity的理解并帮助到其他人,但是后来发现一篇文章根本不够!所以我写了一个系列文章。我首相将回顾一下历史来看看entity是如何产生的,然后解释一下entity到底是什么,最后来讲讲如何来使用entity来让一个模块变的更好。
所以首先我们来试着了解entity是如何发展到现在的。
调整错误报告级别
Drupal 6.x版本中,在正式运行的站点中,忽略 E_NOTICE,E_STRICT,和 E_DEPRECATED 的notice级别错误。想要查看所有PHP开发或测试网站上的错误,你可以更改includes/common.inc文件。
<?php if ($errno & (E_ALL ^ E_DEPRECATED ^ E_NOTICE)) { ?>
改为:
<?php if ($errno & (E_ALL | E_STRICT)) { ?>
Drupal的7.x版中,可以给出任何错误级别的E_ALL报告,并允许PHP设置报告的错误级别,例如E_STRICT。在开发或测试站上,要查看所有PHP的错误,你可以在 .htaccess文件中进行设置:
php_value error_reporting -1
使用 isset() or !empty() 函数
如果你想测试一个变量的值,或数组元素,或对象的属性,你可能需要使用:
在书中看到:
You defined permissions in hook_permission(), but how are they enforced? Node modules can limit access to the node types they define using hook_node_access() . The superuser (user ID 1) will always bypass any access check, so this hook isn’t called in that case. If this hook is n’t defined for your node type, all access checks will fail, so only the superuser and those with “administer nodes” permissions will be able to create, edit, or delete content of that type. 自己翻译如下: