很简单,在主题的 *.info文件中添加一句代码:

  这一句很简单,但也很重要,没有这一句,就没在panels的配置界面去显示自定义的布局

plugins[panels][layouts] = layouts

然后再主题文件夹下建立一个layouts文件夹,然后把自己要建立的布局建立即可。

举个例子,我们建立一个名为Front的布局

文件目录结构如下:

1.文件front.inc

$plugin = array(
'title' => t('Front'),
'category' => t('Columns: 2'),
'icon' => 'front.png',
'theme' => 'panels_front',
'css' => 'front.css',
'regions' => array(
'top_left' => t('Top left'),
'top_right' => t('Top right'),
'left' => t('Left side'),
'right' => t('Right side'),
),
);

2.文件panels-front.tpl.php

<div class="panel-front clearfix panel-display" <?php if (!empty($css_id)) { print "id=\"$css_id\""; } ?>>
<?php if ($content['top_left']): ?>
<div class="panel-col-top-left panel-panel">
<div class="inside"><?php print $content['top_left']; ?></div>
</div>
<?php endif; ?>
<?php if ($content['top_right']): ?>
<div class="panel-col-top-right panel-panel">
<div class="inside"><?php print $content['top_right']; ?></div>
</div>
<?php endif; ?>
<div class="center-wrapper">
<div class="panel-col-first panel-panel">
<div class="inside"><?php print $content['left']; ?></div>
</div>
<div class="panel-col-last panel-panel">
<div class="inside"><?php print $content['right']; ?></div>
</div>
</div>
</div>

3.文件front.css

.panel-front {
/* overflow: hidden; */
margin-top:;
padding-top:;
}
.panel-front .panel-col-top-left{
float: left;
width: 70%;
}
* html .panel-front .panel-col-top-left {
width: 69.9%;
}
.panel-front .panel-col-top-left .inside {
margin: 0 0em 0 em 0;
}
.panel-front .panel-col-top-right{
float: left;
width: 29.9%; }
.panel-front .panel-col-top-right .inside {
margin: 0 0em 0em 0;
}
.panel-front .panel-col-first {
float: left;
width: 25%;
}
* html .panel-front .panel-col-first {
width: 24.9%;
}
.panel-front .panel-col-first .inside {
margin: 0 .5em 1em 0;
}
.panel-front .panel-col-last {
float: left;
width: 74.9%;
}
.panel-front .panel-col-last .inside {
margin: 0 0 1em .5em;
}
.panel-front .panel-separator {
margin: 0 0 1em 0;
}
.panel-front .center-wrapper{
clear:both;
}

4.文件front.png

drupal7创建自定义的panels布局的更多相关文章

  1. 【翻译】在Ext JS和Sencha Touch中创建自定义布局

    原文:Creating Custom Layouts in Ext JS and Sencha Touch 布局系统是Sencha框架中最强大和最独特的一部分.布局会处理应用程序中每个组件的大小和位置 ...

  2. Android创建自定义dialog方法详解-样式去掉阴影效果

    在自定义组件时,从已有组件源码中会很大收获.就拿progressDialog来说     间接父类是dialog,想了解dialog继承结构可以去百度,或者    从构造器来说ProgressDial ...

  3. 雷林鹏分享:jQuery EasyUI 数据网格 - 创建自定义视图

    jQuery EasyUI 数据网格 - 创建自定义视图 在不同的情况下,您可能需要为数据网格(datagrid)运用更灵活的布局.对于用户来说,卡片视图(Card View)是个不错的选择.这个工具 ...

  4. 自定义 Collection View 布局

    自定义 Collection View 布局 answer-huang 29 Mar 2014 分享文章 UICollectionView 在 iOS6 中第一次被引入,也是 UIKit 视图类中的一 ...

  5. iOS系列译文:自定义Collection View布局

    原文出处: Ole Begemann   译文出处: 黄爱武(@answer-huang).欢迎加入技术翻译小组. UICollectionView在iOS6中第一次被介绍,也是UIKit视图类中的一 ...

  6. Customize the View Items Layout 自定义视图项目布局

    In this lesson, you will learn how to customize the default editor layout in a Detail View. For this ...

  7. C++ GUI Qt4编程-创建自定义窗口部件

    C++ GUI Qt4编程-创建自定义窗口部件   Qtqt4 通过Qt窗口部件进行子类化或者直接对QWidget进行子类化,就可以创建自定义窗口部件,下面示范两种方式,并且也会说明如何把自定义窗口部 ...

  8. 自定义Collection View布局

    转自answer-huang的博客 原文出自:Custom Collection View Layouts    UICollectionView在iOS6中第一次被介绍,也是UIKit视图类中的一颗 ...

  9. 【WPF学习】第六十七章 创建自定义面板

    前面两个章节分别介绍了两个自定义控件:自定义的ColorPicker和FlipPanel控件.接下来介绍派生自定义面板以及构建自定义绘图控件. 创建自定义面板是一种特殊但较常见的自定义控件开发子集.前 ...

随机推荐

  1. tomcat服务的启动与隐藏启动(win)

    一:  tomcat的启动与隐藏启动 1. 正常启动:D:\apache-tomcat-8.5.24\bin中的   startup.bat  双击启动 2. 启动tomcat服务后,window下方 ...

  2. 03-创建高可用 etcd 集群

    本文档记录自己的学习历程! 创建高可用 etcd 集群 kuberntes 系统使用 etcd 存储所有数据,本文档介绍部署一个三节点高可用 etcd 集群的步骤,这三个节点使用以下机器: 192.1 ...

  3. elasticsearch+logstash+redis+kibana 实时分析nginx日志

    1. 部署环境 2. 架构拓扑 3. nginx安装 安装在192.168.176.128服务器上 这里安装就简单粗暴了直接yum安装nginx [root@manager ~]# yum -y in ...

  4. [Umbraco] Data Type之Render control

    继续探讨Data Type.如果你创建过Data Type,你就会知道创建一个新的Data Type都需要指定一个Render control,这有点类似开始C#时用到的继承. 那么如何创建我们自己的 ...

  5. Android 开发工具类 34_OpenFileUtil

    匹配文件后缀名 MIME 类型. import java.io.File; import android.content.Context; import android.content.Intent; ...

  6. pyenv docter检测出configure: error: OpenSSL is not installed.解决方案

    1 在安装相应版本的python时,前声明 CFLAGS=-I/usr/include/openssl \ LDFLAGS=-L/usr/lib64 \ pyenv install -v 3.5.1

  7. Python核心编程 | 装饰器

        装饰器是程序开发的基础知识,用好装饰器,在程序开发中能够提高效率 它可以在不需要修改每个函数内部代码的情况下,为多个函数添加附加功能,如权限验证,log日志等   涉及点:   1.先梳理一下 ...

  8. Nginx性能优化功能- Gzip压缩(大幅度提高页面加载速度)

    Nginx开启Gzip压缩功能, 可以使网站的css.js .xml.html 文件在传输时进行压缩,提高访问速度, 进而优化Nginx性能!  Web网站上的图片,视频等其它多媒体文件以及大文件,因 ...

  9. 【IT笔试面试题整理】给定二叉树先序中序,建立二叉树的递归算法

    [试题描述]:  给定二叉树先序中序,建立二叉树的递归算法 其先序序列的第一个元素为根节点,接下来即为其左子树先序遍历序列,紧跟着是右子树先序遍历序列,固根节点已可从先序序列中分离.在中序序列中找到 ...

  10. MySQL调研笔记1:MySQL调研清单

    0x00 背景 最近公司正在去微软化,之前使用的SQL Server.Oracle将逐步切换到MySQL,所以部门也会跟随公司步伐,一步步将现有业务从SQL Server切换到MySQL,当然上MyS ...