Drupal——module开发实现简单block

原创 2013年12月04日 13:02:10

sites\all\modules\test.info


name = "Test"
description = "exampal for test"
core = "7.x"
package = "Exampal"



sites\all\modules\test.module


<?php  
/**   
* Implements hook_help.   
*   
* Displays help and module information.  
*   
* @param path    
*   Which path of the site we're using to display help  
* @param arg    
*   Array that holds the current path as returned from arg() function  
*/  

function test_help($path, $arg) {    
	switch ($path) {      
		case "admin/help#test":        return '<p>'.  t("Displays links to nodes created on this date") .'</p>';       
		break;   
	} 
}
/**
 * Implements hook_block_info().
 */
function test_block_info() {//貌似这个就可以显示在区块里了,然后再改位置
	$blocks['test'] = array(
		'info'		=> t('test'),
		'cache'		=> DRUPAL_CACHE_PER_ROLE,
	);
	return $blocks;
}
function test_contents($display='block')  
{  
    $today = getdate();  
    $start_time = mktime(0, 0, 0,$today['mon'],($today['mday'] - 7), $today['year']);  
    $end_time = time();

    $max_num = variable_get('test_max', 3);

    $query = db_select('node', 'n')  
        ->fields('n', array('nid', 'title', 'created'))  
        ->condition('status', 1) //Published.  
        ->condition('created', array($start_time, $end_time), 'BETWEEN')  
        ->orderBy('created', 'DESC') //Most recent first.
        ->range(0, $max_num);
    return $query->execute();
}  	

function test_block_view($delta = '') {
	switch ($delta) {
		case 'test':
			$block['subject'] = t('test block view');
			if (user_access('access content')) {
				$result = test_contents();
				$items =array();
				foreach ($result as $node) {
					$items[] = array(
						'data' => l($node->title, 'node/' . $node->nid),
					);
				}
				if (empty($items)) {
					$block['content'] = t('No posts available');
				} else {
					$block['content'] = theme('item_list', array('items' => $items));
				}
			}
	}
	return $block;
}

然后即可设置区块显示,最近一星期发表的内容



相关文章推荐

drupal module 开发的例子

需求:开发一个module,列出某一时间段内的所有node。module的名称为current_posts开始1 module的文件放的位置在drupal中,$DRUPAL_ROOT/sites/al...

block传值的简单实现

  • 2014年11月07日 15:20
  • 73KB
  • 下载

Drupal常用开发工具(一)——Devel模块

进行 Drupal 开发时有许多模块和工具可供使用,其中最常用的两项便是 Devel 及 Drupal for Firebug。本文和《Drupal常用开发工具(二)——Drupal for Fire...

Drupal8开发教程:模块开发——创建新页面

之前我们已经通过《Drupal8开发教程:认识.info.yml文件》对模块的YAML文件有了了解,今天我们来看如何通过模块开发的方式添加一个新的页面。   在 Drupal 7 中,通过模块添...

Drupal 7 Module Development 试译

创建你的第一个模块 The focus of this chapter is module creation. In the last chapter we surveyed Drupal's  ...

drupal module-quote

  • 2010年01月26日 22:38
  • 16KB
  • 下载

Learning.Drupal.6.Module.Development

  • 2008年06月25日 07:28
  • 3.99MB
  • 下载

Drupal中添加自定义区域(Region)放置区块(Block)

Drupal的区块(Block)功能可以嵌入HTML和PHP代码,能够按照权限、URL匹配控制显示,还是很方便、灵活的,不过因为MediaWiki的版面格式用习惯了,无法在Title下添加一个区块有时...

drupal module five star

  • 2010年05月26日 08:09
  • 110KB
  • 下载

Drupal.7.Module.Development

  • 2012年09月27日 11:45
  • 7.19MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Drupal——module开发实现简单block
举报原因:
原因补充:

(最多只允许输入30个字)