原文:Using Classy as a base theme
Classy是Drupal 8核心中的一个主题,用主Bartik和Seven的子主题。它的目的是在标记中提供许多类,以帮助注释和描述在页面上渲染的标记元素。过去,Drupal在对元素如此进行注释方面所做的额外辅助,有的人认为是有益的,而其他人则认为是有害的。在Drupal 8中,您现在可以选择是否包含此种额外辅助。如果您想在您的元素上包含Drupal类,就把Classy定义为您的基主题。更多信息请阅读:学习如何创建子主题。 如果您想您的主题含有尽可能少的类,那么就不要用Classy作为基主题。当您不想Drupal定义的类与您的主题正在使用的CSS和JavaScript框架冲突时,不使用Classy是一个好主意。不包含Classy可让您完全负责您的主题拥有的类。
- 阅读更多 关于 用Classy作为子主题
- 登录或注册以发表评论
原文:Creating a Drupal 8 sub-theme
子主题和其它主题是一样的,但有一点区别:它们继承父主题的资源。子主题链接到其父主题的能力是没有限制的。子主题可以是另一子主题之子。它可以分叉,任您组织。这就给子主题以巨大的潜能。要创建子主题,您先像其它主题一样定义您的主题,用"base theme"键声明基主题。请注意这个键没有下划线。
例子 my_theme.info.yml(Example my_theme.info.yml)
这是一个子主题的例子,它用Classy作为基主题。
drupal 微信登陆
看到很多网站都有微信登陆,也想给自己的网站弄了一个,我这个不是用模块来做的,因为我不会写模块,而且本人对php不是很熟悉,纯粹爱好,drupal用了个模块auto_login_url-7.x-1.3,是通过网址登陆的。经过测试正常。
流程:1、userlogajax.php 文件生成请求微信授权二维码,并且js轮询数据userdata.php文件,等到数据库里有返回信息则跳转到use_wx_login.php。 2、微信授权后返回信息给useroauth2.php ,useroauth2.php把信息写入数据库,数据库里建了个表userlogin。 3、userdata.php文件被轮询后,从数据库里返回信息给userlogajax.php ,有信息后跳转到use_wx_login.php ,在这里注册新用户,以微信针对这个用户的唯一openid为条件,查询drupal数据库里面有没有openid,如果有则跳转到登陆,没有则注册。
这里的auto_login_url 模块就是生成直接登陆网址的:
- 阅读更多 关于 drupal 微信登陆
- 登录或注册以发表评论
在2013年6月24日,Drupal官网公开发布了第一个Drupal8的alpha版本 - Drupal alpha2,当时DrupalChina第一时间编写了一篇安装教程。而截至目前Drupal8的最新版本已是Drupal8 Beta12。从安装界面来看,做了很多美化,安装界面也非常漂亮。本篇将以Drupal Beta12的安装为例,介绍一下Drupal8的安装过程以及主要的界面介绍。
首先是下载源码,请到Drupal官网下载:https://www.drupal.org/project/drupal。
我这里下载的是tar.gz格式,解压后文件大小是49.2MB,可见增加了非常多的文件。
解压好之后,放在我的工作目录下,这里我将文件夹名称修改为:drupal8b12,这样,我就可以在浏览器中输入:http://localhost:8080/drupal8b12/ (备注:8080是端口号,如果默认是80可不写)。我们可以看到以下界面:
原文链接:Adding Regions to a Theme
给主题添加区域(Region)需要满足以下两点:
- 给你的THEMENAME.info.yml文件添加区域标记。
- 编辑你的page.html.twig文件并输出新的区域。
在info文件里添加区域
首先需要在你的THEMENAME.info.yml文件里声明新的区域。区域的声明方式如下(声明在“regions:”下方):
# Regions regions: header: 'Header' content: 'Content' footer: 'Footer'
区域的键名必须是字母或数字,可以包含下划线(_)。键名必须以英文字母开头。在你的THEMENAME.info.yml文件中引用区域时,键名会被作为区域机器名,当然在代码里引用时也是如此。键值则作为人类可读的名字会被使用在区域的管理界面上。
- 阅读更多 关于 给主题添加区域
- 登录或注册以发表评论
原文链接:Discovering and Inspecting Variables in Twig Templates>
在一个Twig模板文件里,你可以发现注释里有很多可用的变量。然而,当变量不是记录在模板文件中,或者是当主题、模块引入新的变量时,我们就需要一种方法来检索和提取模板里所有可用变量的和特定范围的变量,Twig支持在模板文件里使用dump() 函数(转存函数)来提取和检索变量。
Dump函数在启用调试之前不会显示输出的变量内容。学习如何启用Twig调试
开启调试后,dump函数就可以输出模板里的一个变量或多个变量的相关信息。
检索单个变量
假设你的模板里有一个title变量,可以按如下形式,将其内容dump到你的模板:
{{ dump(title) }}
检索模板内所有可用变量
将模板内所有可用的变量和变量的内容添加到你的模板,可用如下示例代码:
Views默认提供了很多功能,而我们平时用到的可能也只是一些简单的。
这里就来了一个问题,平常我们是通过Views加一个标题字段来做一个列表,但是默认的没有加title属性,刚才研究了一下,发现也是可以通过配置来实现这个需求的。
这个还是需要我们对Views比较熟悉的。
1. 原先,我们只有标题和日期字段,这里我们需要再加一个nid字段。
2. 点开标题字段,“链接到原始内容”不要勾选:
3. 再点开nid字段:
本人想修改一下ubercart的shopping cart里显示,一直到找不到正确的hook。
默认显示是
我希望name能显示 Product2 (Regular)
有否高手帮忙指引一下正确 hook,使cart, review,invoice都显示出 这种格式
原文链接:Theme folder structure
主题就是包含了一系列定义前端层展示的文件集合。你还可以创建一个或更更多“子主题”,或者基于一个主题的变体。只有.info.yml 这个文件是必须有的,但是大多数主题和子主题也会用到其他一些文件。这个页面将会在典型的主题或子主题中列出常用的文件和文件夹。
主题位置
你必须将主题放在你的 Drupal 安装包的“themes”文件夹里。注意 Drupal 的核心主题如 Bartik 和 Seven 是放置在安装包的 core/themes 文件夹里。
最好的做法(good practice)是把贡献主题放在一个叫做“contrib”的子目录里,而你自定义的主题放置在“custom”文件夹里。
你的 Drupal 安装包的结构可能会是像这样的:
原文:Working with Twig Template
Drupal允许您覆写用于生成HTML标记的所有模板,这样您就能完全控制定制主题中输出的标记。从高级HTML到小的字段,每个页面元素都有模板。
覆写模板(Overriding templates)
通过向遵循一定命名约定的主题文件夹添加模板,您就可以覆写Drupal核心模板。
要覆写模板,您:
- 找到想覆写的模板;
- 把模板文件从其基本位置复制到您的主题文件夹;
- (可选地)根据命名约定重新名命模板,以便针对要使用模板的更具体区域;
- 按您的喜好修改模板。
一旦您把模板文件复制进您的主题并清除缓存,Drupal就会开始用您的模板文件实例而不是基础模板。对于页面的任何部分,您都可以用Twig调试工具来找到其使用的模板。
- 阅读更多 关于 Twig 模版的运用
- 登录或注册以发表评论