< Manual:Hooks 
 
 
        
      | ContributeCards | |
|---|---|
| Available from version 1.40.0 Fired on Special:Contribute page to allow extensions to add "card" entry points. | |
| Define function: | public static function onContributeCards( MediaWiki\Specials\Contribute\Card\ContributeCard[] $cards ) { ... }
 | 
| Attach hook: | In extension.json: {
	"Hooks": {
		"ContributeCards": "MyExtensionHooks::onContributeCards"
	}
}
 | 
| Called from: | File(s): includes/specials/Contribute/ContributeFactory.php | 
| Interface: | ContributeCardsHook.php | 
For more information about attaching hooks, see Manual:Hooks.
For examples of extensions using this hook, see Category:ContributeCards extensions.
Summary
Add/Edit cards with onContributeCards hook. These are examples (without i18n):
"Hooks": {
    "ContributeCards": "MediaWiki\\Extension\\ExtensionName\\Hooks::onContributeCards"
}
And in ExtensionName/includes/Hooks.php:
namespace MediaWiki\Extension\ExtensionName;
use MediaWiki\Specials\Contribute\Card\ContributeCard;
use MediaWiki\Specials\Contribute\Card\ContributeCardActionLink;
class Hooks {
	public static function onContributeCards( ContributeCard[] $cards ) {
		$cards[] = ( new ContributeCard(
			'Translation',
			'Translate one section or a whole article. Make more content available in more languages.',
			'language',
			new ContributeCardActionLink(
				SpecialPage::getTitleFor( 'ContentTranslation' )->getLocalUrl(),
				'Start a translation'
			)
		) )->toArray();
		$cards[] = ( new ContributeCard(
			'Suggested edits',
			'Contribute to MediaWiki',
			'lightbulb',
			new ContributeCardActionLink(
				SpecialPage::getTitleFor( 'Homepage' )->getLocalUrl( [ 'namespace' => -1 ] ) . '#/homepage/suggested-edits',
				'View suggested edits'
			)
		) )->toArray();
		$cards[] = ( new ContributeCard(
			'Upload media',
			'Share educational images, videos, and other media files with a free license.',
			'upload',
			new ContributeCardActionLink(
				SpecialPage::getTitleFor( 'UploadWizard' )->getLocalUrl(),
				'Upload a file'
			)
		) )->toArray();
	}
}
The code of the hook callback is the same as for earlier versions (see below).
    This article is issued from Mediawiki. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.