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中block直接代码输出

drupal7中可以用函数module_invoke()自由输出block,可以那你把制作的block用代码输出任何你想要的地方,并加上自己的div层。具体代码结构如下: print module_...
  • ableengine
  • ableengine
  • 2013年03月21日 12:15
  • 438

drupal 自定义block

1.生成一个自定义的block function keats_main_block_info(){ $blocks['keats_main_mainmenu'] = array( ...
  • wang350
  • wang350
  • 2013年10月18日 17:01
  • 544

Block学习-关于Block是如何实现的,以及block中参数传递

要在block对外部参数进行修改时,不能直接对局部变量(本文涉及的局部变量为block外定义的局部变量)进行修改,能修改的有加了__block修饰符的自动变量(局部变量)、全局变量、静态变量修改、oc...
  • qq_30107991
  • qq_30107991
  • 2015年11月21日 12:18
  • 1409

Drupal——module开发实现简单block

sites\all\modules\test.info name = "Test" description = "exampal for test" core = "7.x" package = ...
  • joker_wqz
  • joker_wqz
  • 2013年12月04日 13:02
  • 828

Explore block module in Drupal

block.info is the block module description file and the "package" property tells us that block is Dr...
  • wonderfan
  • wonderfan
  • 2012年12月15日 11:07
  • 459

Drupal 7 模块开发 建立

为Drupal 7建立一个简单的模块
  • stevenhzhang
  • stevenhzhang
  • 2014年09月29日 05:08
  • 1452

关于BLOCK逆向传值和PickerView的使用

block使用一般分为3步 1.声明 可以使用typedef 2.调用 可以定义一个property 属性 3.实...
  • HC_DS
  • HC_DS
  • 2015年07月04日 00:28
  • 682

在Drupal中灵活使用区块代码

$block = module_invoke('modules', 'block', 'view', 0);             print $block['title'];          ...
  • railsbug
  • railsbug
  • 2014年06月26日 12:29
  • 747

Drupal Views教程

(一):简介 打个比方来说明一下 Views 的作用: Drupal的核心就像一个毛坯房,墙窗户门都有了,也简单的粉刷过了,搬进来也能住;外观主题(Theme)就像室内装修,可以按照自己的喜...
  • hzcyclone
  • hzcyclone
  • 2012年03月13日 15:32
  • 2223

drupal:hook_menu 的基本应用

一篇hook_menu的详细说明资料: Drupal 模块开发实例:hook_menu 的基本应用 web 网站,几乎都是以路径为基础,废话,没路径用户咋访问呢?所以,ho...
  • hhy_huang
  • hhy_huang
  • 2012年08月22日 15:06
  • 1381
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Drupal——module开发实现简单block
举报原因:
原因补充:

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