最近、XenForoエンジンで実行されているフォーラムのヘルプセクションに別のページを作成する必要がありました。 判明したように、それを単純にします。 さらに、エンジン自体のコードを編集する必要はありませんでした。これはもちろん、カーネルを更新するときに将来私たちの生活を楽にするものです。 記事が革新的なカテゴリのものではなく、自分自身のハウツーであるということをすぐに予約してください。

したがって、2つの
Help.phpおよび
LoadClassController.phpファイルのみを作成し、それぞれ
ControllerPublicおよび
Listenerフォルダーに
分散する必要があり
ます 。
Help.phpコンテンツ<?php class AnyFolder_ControllerPublic_Help extends XFCP_AnyFolder_ControllerPublic_Help { public function actionYouaction() { return $this->_getWrapper('youaction', $this->responseView('XenForo_ViewPublic_Help_ouaction', 'help_youaction') ); } }
LoadClassController.phpのコンテンツ <?php class AnyFolder_Listener_LoadClassController { public static function extendHelpController($class, array &$extend) { if ($class == 'XenForo_ControllerPublic_Help') { $extend[] = 'AnyFolder_ControllerPublic_Help'; } } }
その結果、次のドキュメントツリーを取得する必要があります。
ライブラリツリーにドキュメントツリーを入力します。 その後、同じフォルダー(
library )で
config.phpファイルを開き、そこに追加してデバッグモードを有効にします
$config['debug'] = true;
管理パネルの開発タブにアクセスするために、デバッグモードをオンにしました。 このタブで、新しいイベントを作成する必要があります。 これを行うには、
イベントハンドラーを開き
、新しいイベントを作成します (または、ブラウザーで
http://example.com/path_you_forum/admin.php?code-event-listeners/addの形式のリンクをすぐに開きます)。
次に、
load_class_controllerイベントを選択し、ハンドラーを指定します
AnyFolder_Listener_LoadClassController :: extendHelpController 。 残りは変更されません。
今ではテンプレート次第です。 しかし、前に、上記のコードについて少し説明したいと思います。 おそらく既に理解しているように、
AnyFolderはフォルダーの名前です。 同じ名前が、将来作成し、友達を作るクラスに表示されます。 この状況は、
アクションYouaction関数とそのパラメーター
youaction 、
XenForo_ViewPublic_Help_ouaction 、
help_youactionに似ています。 したがって、ページが
http://example.com/path_you_forum/help/ youaction (CNCが有効な場合)および
http://example.com/path_you_forum/?help/ youactionで開くことを決定し
ました 。 他の名前のフォルダにファイルを配置するために必要なアクションと、ヘルプページのURLを変更する方法を説明する価値はないと思います。
それでは、プログラミングを終了して、レイアウトに取り掛かりましょう。 これを行うには、いくつかのテンプレートを編集して、言語パックにフレーズを追加する必要があります。
help_wrapperテンプレートで
、他のポイントとの類推により、新しい
<li><a href="{xen:link help/youaction}" class="{xen:if "{$selected} == 'youaction'", 'secondaryContent', 'primaryContent'}">{xen:phrase youaction}</a></li>
help_indexでもまったく同じことを
行います <dl> <dt><a href="{xen:link help/gude}">{xen:phrase youaction}</a></dt> <dd>{xen:phrase view_text_youaction}</dd> </dl>
最後に、
navigation_tabs_helpフックを使用してブロックにアイテムを追加して、
ナビゲーションテンプレートを編集します。
<li><a href="{xen:link help/youaction}">{xen:phrase youaction}</a></li>
言語パックでは、次の3つのフレーズを作成するだけです。
- view_text_youaction-ヘルプアイテムの説明
- youaction-ヘルプデスクのタイトル
- gude_rules_text-ページのhtmlコード
最後に、新しい
help_youactionテンプレートを作成します(これは
actionYouaction関数で記述した
名前です)。
<xen:title>{xen:phrase gude}</xen:title> <div class="baseHtml"> {xen:phrase gude_rules_text} </div>
PSデバッグモードをオフにすることを忘れないでください;-)