0

FacebookのようなURLを使用できるアプリケーションを作成するにはどうすればよいですか?

  • app.dev/username
  • app.dev/username/pictures
  • app.dev/username/info
  • app.dev/username/posts/post_333
  • app.dev/username/posts/post_333/share

アプリケーションには、異なるURLを持つ他のコントローラーがあります

  • app.dev/events
  • app.dev/site/contact
  • app.dev/site/terms

コントローラーが存在しない場合は、プロファイルコントローラーにリダイレクトします

application.iniで

autoloaderNamespaces[] = "Plugins"
resources.frontController.plugins[] = "Plugins_Profiles"

Bootstrapp.phpで

protected function _initProfiles()
{
    $front = Zend_Controller_Front::getInstance();
    $front->registerPlugin(new Plugins_Profiles());    
}

/library/Plugin/Profiles.phpにあります

class Plugins_Profiles extends Zend_Controller_Plugin_Abstract
{

    public function preDispatch(Zend_Controller_Request_Abstract $request)
    {
        $dispatcher = Zend_Controller_Front::getInstance()->getDispatcher();

        if (!$dispatcher->isDispatchable($request)) {

            $url = $request->getControllerName();

            $request->setModuleName('default');
            $request->setControllerName('profiles');
            $request->setActionName('url');
            $request->setParam('url', $url);

            /** Prevents infinite loop if you make a mistake in the new request **/
            if ($dispatcher->isDispatchable($request)) {
                $request->setDispatched(false);
            }

        }

    }

}

しかし、変数を送信できません例:app.dev/username/posts/post_333/share

どのように進めるべきか考えていますか?

PS。文法について申し訳ありませんが、私はブラジル人で、ポルトガル語を話します。

4

1 に答える 1

0

Zend_Controller_Router_Route を調べて、きれいな URL を取得する必要があります。clean-url と zend route を開始するためのリンクを次に示します。

于 2013-02-05T04:23:24.753 に答える