theme wrapper 例子

https://www.drupal.org/node/2342561

$element[‘something‘] = array(
‘#markup‘ => t(‘This is some content‘),
‘#theme_wrapper‘ => ‘paragraph_wrapper‘,
);

/** * Implementation of hook_theme() */
function MYMODULE_theme(){
 return array  (
  ‘paragraph_wrapper‘ = array (  ‘render element‘ => ‘element‘, ),
);}

function theme_paragraph_wrapper(){
$element = $variables[‘element‘];
// #children is the contents of the element that the
 // #theme_wrapper was applied to.
return ‘<p>‘ . $element[‘#children‘] . ‘</p>‘;}

 render($element); 
 
时间: 2024-11-05 08:59:30

theme wrapper 例子的相关文章

Android LayoutInflater&amp;LayoutInflaterCompat源码解析

本文分析版本: Android API 23,v4基于 23.2.1 1 简介 实例化布局的XML文件成相应的View对象.它不能被直接使用,应该使用getLayoutInflater()或getSystemService(Class)来获取已关联了当前Context并为你正在运行的设备正确配置的标准LayoutInflater实例对象. 例如: LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.

LayoutInflater效率分析及源码跟踪

一.效率分析 测试设备 测试设配:魅族MX4 操作系统:Android5.1操作系统 CPU型号:联发科MT6595 内存: 2GB 测试方法 使用LayoutInflater对3组不同复杂度的xml布局进行解析,每次解析100次,测试10次,求其100次的平均运行时间.单位为ms. 测试结果 | | Xml文件 |Time(ms/100)| |---------------|-----------------------|------------| |第一组(简单) |深度2节点4 属性30个

Android XML中引用自定义内部类view的四个why

今天碰到了在XML中应用以内部类形式定义的自定义view,结果遇到了一些坑.虽然通过看了一些前辈写的文章解决了这个问题,但是我看到的几篇都没有完整说清楚why,于是决定做这个总结. 使用自定义内部类view的规则 本文主要是总结why,所以先把XML布局文件中引用内部类的自定义view的做法摆出来,有四点: 自定义的类必须是静态类: 使用view作为XML文件中的tag,注意,v是小写字母,小写字母v,小写字母v: 添加class属性,注意,没有带android:命名空间的,表明该自定义view

UEditor之基于Java图片上传前后端源码研究

开心一笑 一定要快乐学习,所以学习之前先看个笑话: 刚来北京,租了一个小房,一楼,上淘宝买衣服,选了付钱了联系卖家:"我已付款,请发货."谁知那货直接说:"我看到你地址了,自己上楼来拿吧!我就在你楼上." 拿你妹,老子付了邮费的...送下来. 提出问题 Ueditor前后端源码的学习和简单的研究??? 解决问题 前提: 假如你已经看了我的前一篇文章,这一点很重要的啊,当然不看也可以,因为你已经是一个高手,就像我一样,哈哈: 假如你已经安装tomcat服务器: 假如你

UEditor之基于Java图片上传前后端源码研究 (转)

http://blog.csdn.net/huangwenyi1010/article/details/51637439 这是我的项目目录 1.从访问路径http://localhost:8081/Test/_examples/simpleDemo.html,我们主要是要看看,富文本框被加载出来之前,会调用哪些代码, 不卖关子,很明显,会调用后端的controller.jsp代码,因为我们已经在ueditor.config配置了: // 服务器统一请求接口路径 , serverUrl: URL

Ueditor之前后端源码的学习和简单的研究

这是我的项目目录 这里写图片描述 1.从访问路径http://localhost:8081/Test/_examples/simpleDemo.html,我们主要是要看看,富文本框被加载出来之前,会调用哪些代码, 不卖关子,很明显,会调用后端的controller.jsp代码,因为我们已经在ueditor.config配置了: // 服务器统一请求接口路径 , serverUrl: URL + "jsp/controller.js 看看controller.jsp代码,上一篇文章我们已经讲了,要

python第四天装饰器+迭代器+生成器

1.函数嵌套:在调用一个函数的过程中,调用了其他函数 def f1(): x=1 def f2(): print('from f2') f2() f1()  2.名称空间与作用域 a. 名称空间:存放名字与变量值绑定关系的地方 (1)内置名称空间:在python解释器启动时产生,存放一些python内置的名字 (2)全局名称空间:在执行文件时产生,存放文件级别定义的名字. (3)局部名称空间:在执行过程中,如果调用了该函数则会产生该函数的局部名称空间.在调用该函数的时候生效,调用结束时失效 加载

Activtiy完全解析(二、layout的inflate过程)

??在上一篇文章<Activtiy完全解析(一.Activity的创建过程)>中,我们探讨了Activity的启动,从startActivity()到进程创建,再到activity的创建,最后调用onCreate()方法.本篇博客我们接着onCreate()方法继续研究Activity加载layout的过程.我们写好layout布局后,在onCreate()方法中调用setContentView(layoutID)就能将我们的布局加载显示.这一过程到底做了什么?布局中的控件是怎样被加载并显示出

Android主题更换换肤

知识总览android主题换肤通常借助LayoutInflater#setFactory实现换肤. 换肤步骤: 通过解析外部的apk压缩文件,创建自定义的Resource对象去访问apk压缩文件的资源.借助LayoutInfater#setFactoy,将步骤(1)中的资源应用到View的创建过程当中.认识setFactory平常设置或者获取一个View时,用的较多的是setContentView或LayoutInflater#inflate,setContentView内部也是通过调用Layo