Extension:ContactPage

This page is a translated version of the page Extension:ContactPage and the translation is 30% complete.
MediaWiki 拡張機能マニュアル
ContactPage
リリースの状態: 安定
実装 特別ページ , フック
説明 Provides a contact form for visitors
作者 Daniel Kinzler, Sam Reed
最新バージョン Continuous updates
互換性の方針 MediaWiki とともにリリースされるスナップショット。 master には後方互換性がありません。
MediaWiki >= 1.42.0
PHP 5.4+
データベースの変更 いいえ
ライセンス GNU 一般公衆利用許諾書 2.0 以降
ダウンロード
README
nl.wikipedia.org
  • $wgContactConfig
Quarterly downloads 75 (Ranked 77th)
translatewiki.net で翻訳を利用できる場合は、ContactPage 拡張機能の翻訳にご協力ください
Vagrant role contactpage
問題点 未解決のタスク · バグを報告

The ContactPage extension implements a contact form for visitors. It creates a special page "Special:Contact", which is similar to "Special:EmailUser", but it has a fixed recipient, and may be used without registering.

インストールと設定

  • ダウンロードして、ファイルをextensions/フォルダー内のContactPageという名前のディレクトリ内に配置します。
    開発者とコード寄稿者は、上記の代わりに以下を使用してGitからインストールします:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/ContactPage
  • 以下のコードを LocalSettings.php ファイルの末尾に追加します:
    wfLoadExtension( 'ContactPage' );
    $wgContactConfig['default'] = [
    	'RecipientUser' => 'WikiUser',  // Must be the name of a valid account which also has a verified e-mail-address added to it.
    	'SenderName' => 'Contact Form on ' . $wgSitename,  // "Contact Form on" needs to be translated
    	'SenderEmail' => null,  // Defaults to $wgPasswordSender, may be changed as required
    	'RequireDetails' => true,  // Either "true" or "false" as required
    	'IncludeIP' => true, // Either "true" or "false" as required
    	'MustBeLoggedIn' => true,  // Check if the user is logged in before rendering the form. Either "true" or "false" as required
        'NameReadonly' => false, // Set to "true" to make the name field read only
        'EmailReadonly' => false, // Set to "true" to make the email address field read only
        'SubjectReadonly' => false, // Set to "true" to make the subject line field read only
        'MustHaveEmail' => false, // Set to "true" to require that the user submitting the form must have an associated email address
    	'AdditionalFields' => [
    		'Text' => [
    			'label-message' => 'emailmessage',
    			'type' => 'textarea',
    			'rows' => 20,
    			'required' => true,  // Either "true" or "false" as required
    		],
    	],
    	'DisplayFormat' => 'table',  // See HTMLForm documentation for available values.
    	'RLModules' => [],  // Resource loader modules to add to the form display page.
    	'RLStyleModules' => []  // Resource loader CSS modules to add to the form display page.
    ];
    
  • See the README file for further options to customize and adapt as it convenes.
  •   完了 – ウィキの「Special:Version」に移動して、拡張機能が正しくインストールされたことを確認します。
You can require a CAPTCHA test for the contact page, if you have the ConfirmEdit extension installed. CAPTCHAs are enabled by adding
$wgCaptchaTriggers['contactpage'] = true;
to "LocalSettings.php" below the invocation of both extensions.


Further customization

Adding a link to special page "Contact" to the footer

MediaWiki 1.37.0 or later
  1. Add the following code without changing it to your "LocalSettings.php" file:
    $wgHooks['SkinAddFooterLinks'][] = function( Skin $skin, string $key, array &$footerlinks ) {
        if ( $key === 'places' ) {
            $footerlinks['contact'] = Html::element( 'a',
                [
                    'href' => 'https://www.example.org/wiki/Special:Contact',  // URL to "Special:Contact"
                    'rel' => 'noreferrer noopener'  // not required, but recommended for security reasons
                ],
            $skin->msg( 'contactpage-label' )->text()
            );
        };
    };
    
  2. Add the label for "Special:Contact" to system message MediaWiki:Contactpage-label.
MediaWiki 1.36.x or earlier
  1. Add the following code without changing it to your "LocalSettings.php" file:
    $wgHooks['SkinTemplateOutputPageBeforeExec'][] = function( $skin, &$template ) {
    	$contactLink = Html::element( 'a', [ 'href' => $skin->msg( 'contactpage-url' )->escaped() ],
    		$skin->msg( 'contactpage-label' )->text() );
    	$template->set( 'contact', $contactLink );
    	$template->data['footerlinks']['places'][] = 'contact';
    	return true;
    };
    
  2. Add the URL of "Special:Contact" to system message MediaWiki:Contactpage-url and
  3. Add the label for "Special:Contact" to system message MediaWiki:Contactpage-label.

Creating complex forms

See HTMLForm and related pages for more information on the possibilities available to create more complex forms.

Issues

Users of some hosting providers such as SiteGround and Amazon SES may get a PHP mail error or one that says that the FROM email address is not configured in the server, despite $wgPasswordSender being configured correctly and other email functionality working as expected. A fix for this issue is described here.

関連項目

  • Extension:EmailPage - Allows sending fully rendered articles with embedded CSS to users, groups, or contact lists
  • Extension:CIForms - Forms with auto-validation, multiple choice questions and cloze tests