0

プロジェクトの 1 つで、オープン ソースのソーシャル ネットワーキング フレームワークである Elgg を使用しています。私はそれをたくさんカスタマイズしなければなりません。問題は、そのファイルシステムがどのように機能するかを理解していないことです!

プロジェクトはlocalhost/elggフォルダーにあります。

これで、ブラウザ内に/register/index.phpおよび/blog/index.phpへのリンクが表示されます。しかし、サーバー上の実際のプロジェクト ディレクトリ ( /elgg ) 内には、 /registerまたは/blogという名前のディレクトリはありません。

それはどのように可能ですか?フォルダを見つけるにはどうすればよいですか?

4

2 に答える 2

1

@emaillenin の回答を拡張するには: Elgg は URL 書き換えを使用します。ほとんどの elgg ページ ビューは、にあるメイン ページ ハンドラによって行われます。

<installdir>/engine/handlers/page_handler.php

page_handler($handler, $page)で定義された関数を呼び出します

<installdir>/engine/lib/pagehandler.php

もちろん、register/index.php コンテンツを生成するものを見つけるには、それよりも深く掘り下げる必要があります。探し始める場所の 1 つはelgg_register_page_handler()呼び出しです。

たとえば、ブログのインデックスは elgg のシステムに登録されますelgg_register_page_handler('blog', 'blog_page_handler');

<installdir>/mod/blog/start.php

同じファイルにはblog_page_handler()関数も含まれています...

プラグインを開発している場合は、Elgg のPageHandler wiki エントリを見る価値があります。

于 2011-11-04T14:15:37.337 に答える
0

Elgg は/register/index.php/blog/index.phpをシステム内の別のファイルにリダイレクトする URL 書き換えを単独で使用していると思います。

.htaccess ファイルに何かがあるかどうか、または elgg がページを内部的にリダイレクトしているかどうかを確認してください。

于 2011-10-23T10:01:14.470 に答える