2016-08-08 7 views
0

バージョン - Joomla 3.6.2joomlaのユーザログアウトでPHPコードを実行3

パッケージには、管理コンポーネント、フロントエンドコンポーネント、モジュールがそれぞれ1つずつ含まれています。

私は、ユーザーログアウトでいくつかのPHPコード(http要求)を実行しようとしています。私はそのコードを書く場所について混乱しています。

  • 私はイベントのimplentationに優れたリソースを見つけることができません - 私はいくつかの質問を持っています。これらのイベントの使い方(https://docs.joomla.org/Plugin/Events
  • 私はこのためのプラグインを書く必要がありますか?
+0

これをプラグインに入れる必要があるようです。 – apokryfos

+0

@apokryfosこのオプションについてはわかりませんが、1つの小さな機能のプラグインファイルです。 drupalフックで使用されている、WordPressにはフィルタがある、これを行う別の方法があるはずですか? – NeiL

+0

drupalでは、どのユーザーコードも技術的にはモジュールまたはテーマの一部です。これはプラグインの一種です。 – apokryfos

答えて

1

はい、ユーザープラグインの作成はあなたが望むものであり、非常に簡単です。次の内容のyourplugin.xml: のxmlファイルを追加し、インストール中に新しいフォルダを作成します

  • 、EX /プラグイン/ユーザー/ yourplugin
  • :以下は、あなたが開始するためのスケルトンで、

<?xml version="1.0" encoding="utf-8"?> <extension version="3.0.0" type="plugin" group="user" method="upgrade"> <name>plg_user_yourplugin</name> <author>NeiL</author> <creationDate>Aug 2017</creationDate> <version>3.1.0</version> <description>Add a description</description> <files> <filename plugin="yourplugin">yourplugin.php</filename> </files> </extension>

  • そして
のようなPHPファイル <?php defined('_JEXEC') or die; class PlgUserYourplugin extends JPlugin { function onUserLogout($credentials, $options){ // call whatever php you like here... return true; } }

ドキュメントによると、onUserLogoutはブール値を返しますが、falseを返すと効果がないようですが、ユーザーはユーザーをログアウトします。

プラグインをフロントエンドでのみ実行する必要がある場合は、これを処理する必要があります。

ファイルの作成後にプラグインをインストールするために、発見機能(拡張機能 - >管理 - >検出)を使用することができます。インストール後にプラグインを有効にすることを忘れないでください。

+0

こんにちは、私は念頭に置いて1つの質問を持っています。私は拡張を行っていると仮定し、他の顧客はZipパッケージ経由で私の拡張機能をインストールします、私はこのメソッドに行く場合、私はフォルダ名plg_myExtensionを作成し、管理者はバックエンドからプラグインを手動で有効にする必要がありますか?またはそのプラグインを自動的に有効にする方法はありますか? – NeiL

+0

こんにちはNeiL、コンポーネントのインストールスクリプトを作成する場合、インストール時にプラグインを自動有効にすることが可能です。私はこれを自分でやったことはありませんが、あなたがグーグルにしようとするといくつかの答えがあるようです。 – jonasfh

+0

これは問題を解決し、私は/plugin/user/joomla/joomla.phpファイルからonUserLogout関数をコピーし、その間に自分のコードを入れました。私はそれが正しいことを願っています。 – NeiL

0

あなたはpluginを使用したり、ログアウト時にカスタムURLを設定することができますログインモジュール& com_user部品のテンプレートオーバーライドを行うのいずれかこれを達成することができます。したがって、ログアウトプロセスが完了した後、ユーザーはあなたのカスタムスクリプトに来ると、あなたはあなたのものを行うことができます。 また、joomlaを更新したくない場合は、com_usersをハックすることができます。

注:より安全なプラグイン方法のみをお勧めします。&目的を達成するための適切な方法。

関連する問題