web-dev-qa-db-ja.com

カスタム構成フォーム:拒否された翻訳アクセス

カスタム構成フォームを作成しているときに、アクセスが拒否されました。ただし、フォームの/ translationページのみ。設定フォーム自体に問題なく到達し、入力し、更新することができます。

構成はadmin/config/regional/config-translationページに表示されますが、何らかの理由で翻訳できません。

何か案は?

ファイルの概要:

schema.yml

faq.settings:
  type: mapping
  label: 'FAQ settings'
  mapping:
    faq_title:
      type: text
      label: 'Title'
    faq_text:
      type: text
      label: 'Text'
    faq_cta_label:
      type: text
      label: 'CTA label'
    faq_cta:
      type: text
      label: 'CTA'
...

routing.yml

aform.faq:
  path: '/admin/config/aform/faq'
  defaults:
    _form: '\Drupal\aform\Form\faqForm'
    _title: 'FAQ block'
  requirements:
    _permission: 'administer site configuration'
...

config_translation.yml

aform.faq:
  title: 'aform FAQ'
  base_route_name: aform.faq
  names:
    - faq.settings
...
3
hofmann

同様の問題に遭遇した人にとっては、スキーマ、ルーティング、config_translationsのymlファイルだけでなく、インストールのymlファイルに各構成を定義して、構成がDrupalによってピックアップされるようにする必要があるようです。

したがって、次のように、カスタムモジュールディレクトリの/ installにfaq.settings.ymlファイルを含める必要がありました。

faq_title: ''
faq_text: ''
faq_cta_label: ''
faq_cta: ''
langcode: en

そして、あなたは翻訳可能な設定フォームを手に入れました。

1
hofmann

すべての名前が正しくなるまでには、かなり時間がかかる場合があります。これに苦労している人のために、ここに実用的な例を含むモジュールを公開しました: https://github.com/VITObelgium/drupal-boilerplate

0