dashan 提交于
本文适用于drupal6\drupal 7\drupal 8.
感性认识一下drupal,这里会出现一些编程,是drupal anywhere 的核心,如果用drupal不想自己编程的话,那可以不要考虑再使用drupal了
1.手动发表一篇文章,。发表完后记下它的url. 例如,如果url是http://www.yourdomain/node/1 , 那我们需要的只是这个最后的数字,我们叫他node id . 以 nodeid=1为例吧
2.在drupal的安装根目录下,复制index.php改为为node.php(什么都可以,只要是php结尾),只需要下面几行,其它行都删除
drupal6 比较简单:
<?php
require_once ‘./includes/bootstrap.inc’;
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);print_r(node_load(1));
?>
drupal 7是这样的
//下面的D7代码我是放在一个/demo/test.php的文件中的,所以要第一行$dir=dirname(__DIR__)得到根目录绝对地址
$dir=dirname(__DIR__);chdir($dir);
define(‘DRUPAL_ROOT’, $dir);
require_once DRUPAL_ROOT . ‘/includes/bootstrap.inc’;
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
drupal 8 使用是一样的,不过头部多些代码:
require_once __DIR__ . ‘/core/includes/bootstrap.inc’;
_drupal_bootstrap_configuration();
_drupal_bootstrap_kernel();
_drupal_bootstrap_page_cache();
_drupal_bootstrap_database();
//_drupal_bootstrap_variables();
//require_once DRUPAL_ROOT . ‘/’ . settings()->get(‘session_inc’, ‘core/includes/session.inc’);
//drupal_session_initialize();
require_once DRUPAL_ROOT . ‘/core/includes/common.inc’;
_drupal_bootstrap_code();
//_drupal_bootstrap_full();
$node=node_load(1);
print_r($node);
$node=NULL;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`
//下面是另一个例子 ,修改文章内容
require_once __DIR__ . ‘/core/includes/bootstrap.inc’;
_drupal_bootstrap_configuration();
_drupal_bootstrap_kernel();
_drupal_bootstrap_page_cache();
_drupal_bootstrap_database();
_drupal_bootstrap_variables();
//require_once DRUPAL_ROOT . ‘/’ . settings()->get(‘session_inc’, ‘core/includes/session.inc’);
//drupal_session_initialize();
require_once DRUPAL_ROOT . ‘/core/includes/common.inc’;
_drupal_bootstrap_code();
//_drupal_bootstrap_full();
$node=node_load(1);
$node->title=$node->title.” 2″;
node_save($node);
print_r($node);
$node=NULL;
这一步成功的话,drupal anywhere 就成功了一小步了,如果够熟悉php的话,你现在已经能自由的调用drupal的所有文章信息了。
再进一步,修改一下,增加一句php的输出语句“print”,只输出任意想要输出的行
<?php
require_once ‘./includes/bootstrap.inc’;
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
$node=node_load(1);
print $node->nid;
?>
如此简单的一行就搞定了,何必去看烦人的说明文档?自由的输出文章了,何必再学themes?
drupal的界面很丑,而官方提供的模板更丑,但现在你已经能自由的调出文章了,随便在网上找个漂亮的静态模板,就可以利用drupal的后台发文章,而自由设计文章在任何页面的任何地方显示了。
如果再能自由输入文章了,那drupal不就搞定一小半了吗?对的。
到这里,希望你千万别急着去了解每一行代码的意思,照做然后有个印象就行了,drupal anywhere 主要目的并不是去学习drupal,而是利用drupal而已,将drupal 当工具,正如你有必要去了解一个板手是怎么制作出来的吗,你知道什么时候该用板手就行了。
node_load就是一个常用的API,你可以通过http://api.drupal.org/ 了解更多的drupal api
将node_load换成这个页面的其它api试试吧,这样就又进一大步了。
本文转载于医学博士黎浩江的网站,收录保存使用,感谢浩江。
- 登录以发表评论