Drupal 7 开发内部培训资料, 分头诗人

通过 render 渲染drupal 的字段格式。

例如:node里面有一个field_image的字段,读取他的默认显示样式:

方法1:

$node = node_load($nid);
$content = node_view($node, 'full');
$row['image'] = drupal_render($content['field_image']);

方法2:

$node = node_load($nid);
$content = field_view_field('node', $node, 'field_image');
$row['image'] = render($content);

如果你想应用后台内容类型的设置显示格式,就需要改写代码:

$node = node_load($nid);
// Must load field content for entity before using field_view_value()
$fields = field_get_items('node', $node, 'field_image');
// $index corresponds to the value you want to render. First value = 0.
$index = 0;
$content = field_view_value('node', $node, 'field_image', $fields[$index]);
$row['image'] = render($content);

如果想自定义样式,可以

$display = array('type' => 'my_formatter');
$content = field_view_field('node', $node, 'field_image', $display);
$row['image'] = render($content)'

如何在Drupal当中获取node id?

第一种方法:

 //get node id
  global $node;
  print_r($node);
  $nid = $node->nid;
  dsm(strval($nid));

 

第二种方法:使用url ''node/{nid}'  :

if ( arg(0) == 'node' && is_numeric(arg(1)) && ! arg(2) ) {
  $node = node_load(arg(1));
  print_r($node);
  // Do something with $node
  // If all you need is the nid you can use
  // $nid = arg(1)

 

 

第三种方法:

$node = menu_get_object();
$nid=$node->nid;
dsm(strval($nid));

参考资料:

http://drupal.stackexchange.com/questions/6638/get-a-node-id-from-the-url

通过node.tpl.php复写,分页显示node。

如果不使用view,一个node.tpl.php复写,怎么在node.tpl.php中分页显示node

在Windows 下安装drush。

Drush是一个在命令行使用的php脚本库,在服务器本地通过php解释器调用执行,可以用命令行操作的形式管理Drupal站点,功能包括几乎所有的常用操作,比如下载安装模块和主题,管理数据库,管理用户等等。

在过往,windows 安装drush 挺麻烦的。这里有介绍了drush在windows的安装步骤,需要安装一系列的小工具软件。而现在,在windows 下安装变得非常容易,因为现在又了一个新的套件工具叫:Drush Windows Installer

它是把一些必须用到的工具整合起来一起安装并且配置好环境,使用方法:

Drush Windows Installer 安装完后,你会在桌面上发现一个图标,

直接双击它就进入了命令行窗口,cd到你的某个网站文件夹根目录下(index.php所在目录),比如我的是:

D:\wamp\www

然后就可以通过这个进行命令行操作了

最常用的命令有:

drush help (查看命令帮助)

drush cc (清缓存)

drush cron (运行cron)

 

drush dl 模块名 (下载模块,如果你有modules/contrib,那么默认就下载到这里,直接是已经解压缩的文件夹哦!)

drush en 模块名 (启用模块)

drush dis 模块名 (卸载模块)

drush fl (列出所有feature,如果启用了features模块)

drush fr feature名 (revert feature)

 

 

这里以安装drupal 为一个简单例子:

在d:\wamp\www 命令提示符下输入:

如何才能学好Drupal?

一眨眼接触Drupal已经三个多月了,这3个月来,看了一些Drupal资料,中文的有清华大学出版社的《Drupal7宝典》,英文的有《Drupal 7 first look》、《Drupal Views Coolbook》、《Drupal 7 Themes》,目前正在看《The Definitive Guide to Drupal 7》,接下来准备看《Drupal 7 Module Development》和《Pro Drupal 7 Development》。在学习过程中搭建了10几个网站,都是一些实验性的,还没搭建过正式的站点。改过别人的主题和模块,自己没写过,所以远不能算入门,最多只算初窥门径,a little而已。

学习过程中每天必看的是猪跑啦和myDrupal(诗人,你把老梁的链接地址搞错了吧?),知道了国内的一些Drupal大牛,如老葛、Lugir袁、方医生、分头诗人、上海的戴文、香港的老梁等等,对这些人相当敬仰(戴文是公司,不是个人),最大的梦想就是N年后水平能与他们比肩。

接下来学习的路还很长,学习过程中最大的体会就是Drupal太难,不是一般的难,学好它可能需要以下的知识储备:

一、PHP
Drupal是PHP开发的,因此这个是基础。要精通字符型和数组型数据结构,Drupal程序里经常看到"=>"运算符,还有嵌套数组。要学会OOP编程方法,在Drupal里也会经常看到运算符:"->"和"::"。


二、CSS(2.1和3)、HTML(DHTML、HTML5)
HTML5和CSS3是以后的趋势,一定要掌握。Drupal里响应式的主题渐成趋势,Zen、Omega、AT等都支持响应式布局,所以要了解Bootstrap之类的目前比较流行的网页架构。

三、Javascript
主要是jQuery库,以及AJAX方法

四、服务器操作系统
Windows、Linux、Unix是目前常用的服务器操作系统,要精通一个熟悉另2个。

五、WEB服务器
IIS、Apache,Nginx,其中Apache一定要精通

六、数据库
起码得懂MySQL,以及MySQL的Master/Slave配置。最好知道点NoSQL数据库,以后肯定用得着。

七节课掌握DRUPAL7应用之二:了解DRUPAL的基本功能

上一节课我们讲了DRUPAL安装,这节课我们主要了解几个DRUPAL的基础功能和设定。

1、媒体站点的主布局和基本元素

    区域一:头部 (header)

  •     标志(logo)
  •     菜单(menu)

   区域二:顶部(top)

   幻灯片(Slideshow

  

   区域三:内容区(content)

   博客列表(blog post)

  

   区域四:边栏区(sidebar)

   搜索(search)

   导航 (navigation)

   用户登陆(user login)

   投票 (poll)

   最近评论(recent comments)

  

   区域五:后记(postscript)

   自定义区块1

   自定义区块2

   自定义区块3

   自定义区块4

  

    区域六:脚注 (footer)

   底部logo(footer logo)

   底部菜单 (footer menu)

 

 

 

 


区块的管理与配置

正如你上面看到的,这是发行版本专门定制的一个主页页面,它的布局区域划分为六块。

不同区域放置了不同的区块,比如:最近评论、登录、投票等。你可以将不同的内容区块,

放在需要展示的区域中。

区块设置

你可以按照以下步骤进行区块设置:

1、进入后台管理界面——结构——区块管理(英文路径:Admin/structure/blocks),可以看到各区块列表。

七节课掌握DRUPAL7应用之一:让我们轻松进入DRUPAL

不知道各位怎么开始接触DRUPAL,你可能是看了某站上的介绍文,听了某位不怀好意朋友的推荐,又或是某个大虾在某文中提过
,甚至是你们老板要求你用的。嗯,我想你刚从drupal官网下载原生版本之后的数天,可能会像这个暴漫的。
坑爹呀,根本不像人家说的那么好用!还有那些说好的功能都在哪里呢?
呃,你要么选择放弃,又或者选择以下这个方式:
你可以通过下来这7节课去掌握drupal的基本应用,
配合一个专门为入门设计的drupal发行版本(所谓的发行版就是封装了一些特定的模块和功能,安装就可以搭建一个可以直接使用的平台。)
相信你会熟悉怎么使用drupal,更有兴趣去探索drupal之国的,
那么我们现在开始第一节课,轻松进入drupal吧

在block中利用Token + Token Filter,把Drupal中可变的参数(如%user)读出来。

假使我新建一个block,并且block 要输出当前用户的一个链接。如

您好! <a href="user/3">猪跑啦</a> 欢迎光临。

以前一直不知道如何实现。现在终于找到方法了,就是利用Token + Token Filter组合。

 

在block内容中输入

 

 

您好! <a href="user/[useruid]">[username]</a> 欢迎光临。

 

高薪聘请Drupal magento tester。工作地点:上海徐汇 。

Woger is a rapidly expanding Dutch e-commerce company dealing with “life-style” products on the European market. They are currently active in 8 countries. Their selling channels are various European webshops, ebay and b-to-b.

drupal写一个block的过程

1.

hook_block_info(){

 $blocks['xxxx']=array(

    'info' => t('xxxx'),

    'cache' => DRUPAL_CACHE_GLOBAL,

  )

return $blocks;

}

 

2.

function xxxx_block_view($delta = '') {
  
  switch ($delta) {
    case 'xxxx':
      
      $block['subject'] = NULL;
     
      $block['content'] = xxxx_contents($delta);
      break;
  }
  return $block;
}

 

3.

function xxxx_contents($delta = '') {
  
  switch ($delta) {
    case 'xxxx':
    
      $add_xxxx_link = array(
        '#theme' => 'link',
        '#text' => t('xxxx'),
        '#path' => 'node/add/xxxx',
        '#options' => array(
          'attributes' => array(),
          'html' => FALSE,
         ),
      );
      return $add_xxxx_link;
  }
}

页面

订阅 RSS - 博客