扩展:HideCategorizedOrphans

From MediaWiki.org
Jump to navigation Jump to search
This page is a translated version of the page Extension:HideCategorizedOrphans and the translation is 50% complete.
Other languages:
English • ‎polski • ‎中文 • ‎日本語
MediaWiki扩展手册
OOjs UI icon advanced.svg
HideCategorizedOrphans
发布状态: 测试
实现 我的Wiki
描述 Makes MediaWiki consider pages that belong to a category not be orphans
作者 Steven Orvis (Sorvistalk)
最新版本 0.2.0 (2014-06-09)
MediaWiki 1.23+
PHP 5.3+
数据庫更新
许可协议 GNU通用公眾授權條款2.0 or later
下载 请查阅代码部分
翻译HideCategorizedOrphans扩展如果在translatewiki.net可用
检查使用和版本矩阵。

The HideCategorizedOrphans extension makes MediaWiki consider pages that belong to a category not be orphans. This is useful if you want to link to a category off of a page, but the links to that individual page show up nowhere else.

安装

  • 将下列代码放置在您的LocalSettings.php的底部:
    require_once "$IP/extensions/HideCategorizedOrphans/HideCategorizedOrphans.php";
    
  • Yes 完成 – 在您的wiki上导航至Special:Version,以验证扩展已成功安装。

代码

HideCategorizedOrphans.php
<?php
/**
 * HideCategoizedOrphans extension
 *
 * For more info see https://mediawiki.org/wiki/Extension:HideCategorizedOrphans
 *
 * @file
 * @ingroup Extensions
 * @author Steven Orvis, 2014
 * @license GNU General Public Licence 2.0 or later
 */

$wgExtensionCredits['other'][] = array(
        'path' => __FILE__,
        'name' => 'HideCategorizedOrphans',
        'author' => array(
                'Steven Orvis',
        ),
        'version'  => '0.2.0',
        'url' => 'https://www.mediawiki.org/wiki/Extension:HideCategorizedOrphans',
        'descriptionmsg' => 'Hides orphaned pages that belong to a category',
);

/* Setup */

// Register files
$wgAutoloadClasses['HideCategorizedOrphansHooks'] = __DIR__ . '/HideCategorizedOrphans.hooks.php';

// Register hooks
$wgHooks['LonelyPagesQuery'][] = 'HideCategorizedOrphansHooks::onLonelyPagesQuery';


HideCategorizedOrphans.hooks.php
<?php
/**
 * Hooks for HideCategorizedOrphans extension
 *
 * @file
 * @ingroup Extensions
 */

class HideCategorizedOrphansHooks {

        /**
         * Add condition to LonelyPagesQuery to hide pages in categories
         */
        public static function onLonelyPagesQuery( &$tables, &$conds, &$joinConds) {
                $joinConds['categorylinks'] = array(
                        'LEFT JOIN', array(
                                'cl_from = page_id'
                        )
                );

                $tables[] = 'categorylinks';

                $conds[] = 'cl_from is null';
                return true;
        }
}