web-dev-qa-db-ja.com

SEF URLを変更してURLからアイテムビューを削除する方法

私はコンポーネントを書き、Joomla.orgのドキュメントによってrouter.phpを作成しました。私の問題は、URLからアイテムビューを削除するにはどうすればよいですか?

たとえば、私はこのビューを持っています-> musicses、今私のSEF URLはこのようなものです

/music/99-2016-03-13-06-12-39/musics/3-music77.html?layout=article

次のように変更したい:/music/music77.html
music77がこの投稿の私のタイトルです。

これは私のコードです:

http://sandbox.onlinephpfunctions.com/code/bdcb649b90aae2b415e53054be7d65448cf3049

1
user8215

Com_contentルーターを確認すると、カテゴリブログビューはそのように機能し、domain.com/blogの下に記事のリストが表示され、リンクは次のように生成されますdomain.com/category/1-my-first-article

ただし、次のようなことも可能です。

domain.com/blog/1-my-first-article

したがって、アイテムのコンポーネントでリンク生成(JROUTE)を変更して、アイテムビューを削除する必要があります。リストビューへのルートのみを解析し、アイテムのエイリアスをURL文字列に添付することにより、へのリンクを手動で作成できます。

これも役に立ちます:

https://stackoverflow.com/questions/22116391/advance-url-sef-for-joomla-custom-component

(私はコンポーネントに対してそれをしません。すべてをメインビューにリダイレクトし、外部ルータークラスでセグメントをチェックします。)

1
Dennis Heiden