Drupal 7 开发内部培训资料, 分头诗人

广州drupal聚会-2015-3-21(周六)14:30

广州drupal聚会啦

      聚会目标:让你不虚此行

        亲们,广州应该半年多没聚会啦,有空就来吧

        这次聚会邀请了多位大神分享drupal经验

        赞助商公司也有可能提供多个待遇丰厚的广州drupal岗位

 

时间:2015.3.21(周六)下午2:30  

地点:广州大道南448号财智大厦1802室       

本次活动组织者:浩江(drupal anywhere (link is external)作者,我的微信或手机:15918779497,加微信请注明聚会,以免我错过结识新朋友哈),赵高欣、分头诗人、nfemuboy

协办&鸣谢:Drupal中国(http://drupalchina.cn

vxplo互动大师公司提供(www.vxplo.com (link is external)):提供会议场所、零食、饮品

他们的后台也是用drupal的,大家顺便也可以一起分享经验

 

会议主题可能与这几个有关:drupal下的html5 & 性能

 

邀请到@赵高欣 进行有关性能的分享

邀请到@分头诗人 进行有关drupal 开发经验的分享

邀请到vxplo互动大师公司CEO进行HTML5的精彩案例 (link is external)的分享

希望更多drupal爱好者主动参与聚会分享!

如果时间充分,我就代表drupal anywhere团队串串场,也做做最近用drupal创业的经验分享和部分开发经验分享。

drupal自定汉化

drupal汉化的方式教程已经说过了,说下自定义汉化,但是仍然有很多没有汉化的字符,这些可能是来自第三方的,也有可能是不需要汉化的。这时候需要我们自己汉化了

例如我在编辑页面加了个保存草稿,和保存对于客户来说概念上不好区分,因为他们发表文章需要审核,所以要改为提交,还有列表页的新建提示的红字不好看,改回原来的new

新建一个后缀名为.po的文件例如drupal-tying.zh-hans.po

然后里面添加代码 

msgid "Save configuration"
msgstr "保存"
msgid "Save"
msgstr "提交"
msgid "Participants"
msgstr "发信人"
msgid "Last Updated"
msgstr "发送时间"
msgid "new"
msgstr "new"
msgid "Actions..."
msgstr "操作"

msgid "英文需要翻译字符“
msgstr   ”翻译后字符“

在dupal中只有t()函数里面的字符可以翻译

drupal与普通编程的相同之处

说说drupal的开发的一些想法。

可以吧drupal看做一个集成了大量api的框架

当然有很多东西必须是必须要用的,例如hook_memu,drupal表单、数据库操作函数、权限处理

很多东西不是必须要用,可以直接使用我们常用的php文件,例如自定义模板,当然对已这个框架来说需要记住的api太多了

这么说可能不是很直观,举个例子吧

/*
 *hook_menu
 *这个函数对于有一些需要自定义的页面的人来说是必须的,例如我想做一个提供接口的api给其他程序
 *
 *user_is_logged_in() 这个是判断用户是否为登陆,drupal定义函数,登陆返回true,否则为ffalse,
 *通过这里我们可以根据需求自定义访问的权限,当然不是drupal的方式,但是他可以实现一些需求,drupal的方式通过hook_permission()
 */
function hook_menu(){
    $items['test']=array(
        'title'=>t('_test_hello'),
        'page callback' => '_test',//页面调用函数
        'access callback' => user_is_logged_in(),//如果全部用户可以反问可以为true
    );
    return $items;
}
function _test_hello(){
  $output = "hello word!";
  return $output;
}
?>

访问localhost/drupal/test, 发现hello word! 出现在了前台的内容页面,当然这个只是最简单的例子,但是对于编程来说这是一种方式,假设当views没有开发出来的的时候,我需要在_test_hello()中操作数据库,这是最原始的解决方法,对于views出现之后,对drupaler来说这也是不推荐的,随便在数据库里面新建个表article吧,然后字段随便建几个和node相同吧,多个nid和node以便关联,既可以修改了

Drupal获取保存外部图片文件的方法

Drupal获取保存外部图片文件的方法

function get_external_image($url) { 
    $external_image = file_get_contents($url);
    $parsed_url = parse_url($url);
    $name_dest = rand(1000,9999)."_". basename($parsed_url["path"]);
    $file = file_save_data($external_image, 'public://'.$name_dest , FILE_EXISTS_REPLACE);
    if (is_object($file) && file_exists($file->uri)) {
        $file->status = 1;
        $file = file_save($file);
        drupal_write_record('file_usage', $file);
        return (array) $file;
    }
    return null;
}

get_external_image("http://www.drupalla.com/logo.gif");

drupal8初探,d8和d7关于模块通用的方式

drupal8的bate版本出来了,据说d8手册已经出来了,在百度上面搜了下没有找到 ,T-T,唉,只能自己没事瞎琢磨了

这些只是自己瞎猜测的没有进行实践

发现目录结构变化了很多,网站的theme和module该到了根目录themes和modules里面。 同时兼容d7的方式sites/all/的方式

在sites下的readme 是这么说的,大意差不多

This directory structure contains the settings and configuration files specific
to your site or sites and is an integral part of multisite configurations.

It is now recommended to place your custom and downloaded extensions in the
/modules, /themes, and /profiles directories located in the Drupal root. The
sites/all/ subdirectory structure, which was recommended in previous versions
of Drupal, is still supported.

See core/INSTALL.txt for information about single-site installation or
multisite configuration.

关于模块

然后看了下d8的模块目录,看了下dblog模块,发现这个就是watchdog的记录插入数据库方式

name.module文件最醒目,和d7差不多

Drupal中inc文件的理解和用法

Drupal中inc文件是可以调用的php文件。

Drupal中Inc文件作用是用来定义函数

Drupal中Inc文件的用法:

1、导入的方法module_load_include();

1
2
3
4
5
6
<?php
// Load node.admin.inc from the node module.
  module_load_include('inc', 'node', 'node.admin');
  // Load content_types.inc from the node module.
  module_load_include('inc', 'node', 'content_types');
?>

2、菜单调用的方法

Drupal 8 分享,9月6日下午2点 广州drupal聚会。

本次交流会将邀请诗人来给大家谈谈他使用drupal8的经验和感受,与大家一齐讨论下还在测试期的drupal8。视频是Drupal 8的分享录像,大家可以打开来看。

链接:http://pan.baidu.com/s/1ntslavJ 密码:7q0s

9月6日下午2点 广州drupal聚会,诚邀您参加。

各位Drupaler,我们将在9月6日下午2点 在广州组织drupal聚会,本次聚会主题是从d7到d8,地点:广州市天河区五山路263~265号 瑞华大厦505室,届时Boz Hogan(Drupal7权威指南英文版的组织者之一)将会给大家介绍Drupal 8,这次Boz Hogan 从(美国) 远道而来,对我们而言意义重大。各位热爱Drupal的朋友们,别错过了这么难得的机会。

 

主题:从Drupal7 到 Drupal8

时间:2014年9月6 日(周六)下午2:00 - 5:30

地点:会议地点:广州市天河区五山路263~265号 瑞华大厦505室(地铁3号线到华师站E出口出站,看到有七天连锁酒店招牌那栋楼即是)

通过Form Api 建立图片上传预览效果。

我们都知道Form API 可以通过managed_file进行增加文件上传字段。但默认的managed_file却没有图片预览功能。那么如果我们需要上传的是图片。如何做到上传图片后有预览图呢?看看下面的代码你就明白了

1,建立form:

6月22日,Drupal 广州交流研讨会

6月22日,广州地区举办了Drupal 交流研讨会,广州、东莞、深圳以及上海等各地的Drupaller如期聚集到了一起。特别是龙马以及希望之翼千里迢迢的从上海过来,并在聚会时候跟大家分享了宝贵的经验。很多大神都参加了,特别需要感谢民健组织了这次聚会,期待广东地区Drupal 交流聚会越办越好!

页面

订阅 RSS - 博客