サイトを 1.7 から 2.5 に変換しました。これでほぼ完了ですが、問題が 1 つあります。ユーザー登録メカニズムとして K2 を使用していたため、ユーザー登録とユーザー プロファイルの両方に以前のバージョンに存在したこれら 2 つのカスタム K2 テンプレートを使用したいと考えています。
K2 をEnable K2 User Profile
次のように構成しました。
しかし、何らかの理由で、ナビゲートするindex.php?option=com_users&view=register
と、デフォルトの登録フォームがまだ取得されています。今、多分 URL だと思ったのですが、古い 1.7 システムは同じ URL を使用しています。そのため、いくつかのデバッグで、ファイルを検索するようにレイアウトに指示されたときに、K2 パスが配列にないことがわかりました。
ここで何が間違っていましたか?
注:また、User Manager
をAllow User Registration
に設定してみましたが、その K2 テンプレートで上書きされていないため、 thenNo
を取得するだけです。403
アップデート
コメントで述べたように、何らかの理由で K2 登録メニュー項目タイプがありません。ただし、最も奇妙な点は、1.7 バージョンも K2 登録を指していないことです。
もう少し背景。これは本当にハッキングされたシステムです。メニューは実際には、簡単なカスタムの Jumi モジュールで構築されており、ユーザーがプロファイルに使用されるリンクにログインしているときは、たとえば次のようになります。
index.php?option=com_users&view=user&layout=form&id=3
また、カスタムの登録リンク (つまり、カスタム ビューのリンク) は次のとおりです。
index.php?option=com_user&view=register
要するに、私は Joomla ナビゲーション システムについて十分に理解していないため、それらのリンクを取得して/components/com_k2/templates
フォルダー内の K2 ビューに再ルーティングする方法を理解できません。
アップデート
register.php
フォルダーに存在するビューを/components/com_k2/templates
フォルダーに入れ、/templates/tmplname/html/com_users/register
名前を変更しdefault.php
て、デフォルトのユーザー登録ナビゲーションがそのビューを選択するようにしました。そして、実際にそのビューを選択したことは驚くことではありませんが、次のような行でも失敗しました。
<?php if(count(array_filter($this->K2Plugins))): ?>
これK2Plugins
はnull
、この関数では許可されていないためarray_filter
です。これは、このビューがcom_k2
元の場所のようにフォルダー内にある場合、これが利用可能になるためだと思います。今考えられることはすべて試しています。
また、次の行を投げました:
$this->K2Params->get('recaptchaOnRegistration')
K2Params
nullなので、もちろん利用get
できません。