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

做好的网站要怎样打包?

赞成!
0
否决!

做好的网站要怎样打包?
其他用户只要把文件目录全部放进public_html, 安装时就可以选择我制作的主题。

效果如下图。可以选择安装我做的主题或者drupal。

在放入全部的文件后,不需要sql就可以自己安装我之前设定的主题。

3 个回答

赞成!
1
否决!

做好的站有以下几步:

  1. 首先代码,就是放public_html里面的drupal文件。
  2. 另外一块是数据库。数据库你可以选择本地导出为sql文件,然后倒入空间的数据库,最好是上传到空间再导入,导出mysql:mysqldump -uroot -prootpwd yourdatabase > d:\yourdatabase.sql, 导入mysql:mysql -uroot -prootpwd yourdatabase < /yourforder/yourdatabase.sql
  3. 再把sites/default/settings.php 中的数据库连接改为跟服务器对应的
  4. 最后是设置一下文件夹权限,还有设置下服务器环境的临时目录

 

$databases = array (
  'default' => 
  array (
    'default' => 
    array (
      'database' => 'drupaltest',//对应服务器数据库名
      'username' => 'root',//对应服务器数据库用户名
      'password' => '',//对应服务器数据库密码
      'host' => 'localhost',//服务器的地址,如果是代码跟服务器在同一台服务器,那就只需要写localhost
      'port' => '',//服务器mysql 端口,如果服务器没修过过端口,默认设置就ok
      'driver' => 'mysql',
      'prefix' => '',
    ),
  ),
);
赞成!
0
否决!

我要的效果如下图。可以选择安装我做的主题或者drupal。
http://imgur.com/vvG1z
在放入全部的文件后,不需要sql就可以自己安装我之前设定的主题。

赞成!
0
否决!

你这个应该是定制安装包profile吧,类似发行版的做法。你可以研究一下发行版。

定制安装包与模块相似

所有定制安装包都必须有一个 profilename.info ,也有一个 profilename.install 文件。该 profilename.install 文件几乎可以访问所有常用的Drupal modulename.module 文件,这是因为Drupal 在完全启动之前,任何事情几乎都是在定制安装包的配置文件中执行的。主要的区别在于:翻译字符串时,使用用st()函数代替t()函数。这是因为在安装过程未完成之前,本地化( localization)还没有启动。

这个profilename.info 文件应该像下面这样:

; $Id$
name = Profile Name
description = Description of what the profile does.
core = 7.x
dependencies[] = block
dependencies[] = color
dependencies[] = comment
dependencies[] = contextual
dependencies[] = dashboard
dependencies[] = help
dependencies[] = image
dependencies[] = list
dependencies[] = menu
dependencies[] = number
dependencies[] = options
dependencies[] = path
dependencies[] = taxonomy
dependencies[] = dblog
dependencies[] = search
dependencies[] = shortcut
dependencies[] = toolbar
dependencies[] = overlay
dependencies[] = field_ui
dependencies[] = file
dependencies[] = rdf
files[] = profilename.profile

Name、 description和core都是必需的;$Id$ 是Drupal.org打包脚本使用的标识。在定制包安装后,列表中的依赖模块将启用(以上那些模块是默认安装包中的);files[] 列出的文件,应该会在 Drupal 的动态代码注册表中注册。您可以在定制安装包中包括自定义模块或 Drupal.org 中的其它项目,你可以像那些依赖的模块一样列出来。
大多数情况下,你的  profilename.install 文件应该像这样:

<?php
/**
* Implement hook_install().
*
* Perform actions to set up the site for this profile.
*/
function profilename_install() {
  include_once DRUPAL_ROOT . '/profiles/standard/standard.install';
  standard_install();
}
?>

然后theme上面,可以参考一下 drupal 发行版 commerce StartKit。他里面是这么设置默认主题的:

$operations = array();
  // Enable and set as default the correct theme.
  $theme = $install_demo_store ? 'commerce_kickstart_theme' : 'omega_kickstart';
  $operations[] = array('_commerce_kickstart_enable_theme', array($theme));
  // Enable the selected modules.
  foreach ($modules_sorted as $module => $weight) {
    $operations[] = array('_commerce_kickstart_enable_module', array($module, $files[$module]->info['name']));
  }
  if ($install_localization) {
    $operations[] = array('_commerce_kickstart_setup_localization', array(t('Configured localization.')));
  }
  $operations[] = array('_commerce_kickstart_flush_caches', array(t('Flushed caches.')));