たとえば、無人インストールを構築する場合:
_drush site-install my_inst_profile \
--account-mail='[email protected]' \
--account-name='siteadm' \
--account-pass='sitepass' \
--db-su='dbadm' \
--db-su-pw='dbpass' \
--db-url='mysql://drupal:drupal@mysqldb/drupal' \
--locale='pl' \
--site-mail='[email protected]' \
--site-name='MY Site' \
--yes
_
そして、最も単純な可能なインストールプロファイル_my_inst_profile.info.yml
_、_my_inst_profile.install
_および_my_inst_profile.profile
_から直接取得 Drupal 8インストールプロファイル 、結果のインストールが誤動作しています。
症状は次のとおりです。
2と3を処理するのは比較的簡単です。
_drush role-create 'administrator'
drush config-set user.role.administrator is_admin true
_
そして
_drush pm-enable seven --yes
drush config-set system.theme admin seven --yes
_
それぞれ。しかし、最初のものは私のDrupal機能を超えています。
いくつかの議論とネット上で待ち行列になっている問題があります( インストール時にインストールプロファイルに翻訳を追加する を参照)。しかし、提案はもはや有効ではありません。 Drupal 8.では/includes/locale.incはなく、locale_add_language()
もありません。
ローカライズされたサイトを構築する必要があるカスタムディストリビューションを使用するという野心をまとめる方法について、何かヒントはありますか?
こちらが_my_inst_profile.info.yml
_です
_name: my_inst_profile
type: profile
description: 'Installation profile dedicated for ACME company.'
core: 8.x
distribution:
name: ACME Installation Profile
# Required modules
dependencies:
- node
- history
- block
- block_content
- breakpoint
- color
- config
- comment
- contextual
- contact
- quickedit
- help
- image
- options
- path
- taxonomy
- dblog
- search
- shortcut
- toolbar
- field_ui
- file
- rdf
- views
- views_ui
- editor
- ckeditor
themes:
# - bartik
- seven
# - stark
_
こちらが_my_inst_profile.install
_です
_<?php
/**
* @file
* Install, update and uninstall functions for the profilename install profile.
*/
/**
* Implements hook_install().
*
* Perform actions to set up the site for this profile.
*
* @see system_install()
*/
function my_inst_profile_install() {
// First, do everything in standard profile.
include_once DRUPAL_ROOT . '/core/profiles/standard/standard.install';
standard_install();
// Can add code in here to make nodes, terms, etc.
}
_
こちらが_my_inst_profile.profile
_です
_<?php
/**
* @file
* Enables modules and site configuration for a standard site installation.
*/
use Drupal\Core\Form\FormStateInterface;
function my_inst_profile_form_install_configure_form_alter(&$form, FormStateInterface $form_state) {
$form['site_information']['site_name']['#default_value'] = 'MY Site';
$form['site_information']['site_mail']['#default_value'] = '[email protected]';
$form['admin_account']['account']['name']['#default_value'] = 'siteadm';
$form['admin_account']['account']['mail']['#default_value'] = '[email protected]';
$form['regional_settings']['site_default_country']['#default_value'] = 'PL';
$form['regional_settings']['date_default_timezone']['#default_value'] = 'Europe/Warsaw';
}
// Add any further custom code here like hook implementations.
_
最初に述べたように、これは、インストールプロファイルをさらに開発するための開始点にすぎません。
これらはバグではなく、ロケールとは関係ありません。
標準のインストールプロファイルは、管理者の役割、テーマの設定、その他多くのものを設定します。standard_install()およびオーバーライドされたsystem.theme.ymlのようなデフォルトの設定ファイルを参照してください。
他の多くのブロックと同様に、「GUIの中央部分」を備えたローカルタスク、つまり、Standardによってセットアップされたブロックでもあると思います。
新しいテーマを作成する場合、それがどのように機能するかに関する標準を見て、必要なパーツをそこからコピーすることは理にかなっています。