2012-03-04 15 views
1

私はビジネス向けのリストページを持っており、付属のスクリーンショットのようなアルファベット順のページネーション/メニューが必要です。私はweb2pyでそれをしたいですWeb2pyアルファベット順のページ区切り

助けていただければ幸いです。多分ビューで

+1

あなたの質問には、添付されたスクリーンショットが記載されていますが、何も表示されていません。 – Anthony

+0

申し訳ありません私は添付する権限を持っていないので、私は添付することができませんでした、と私は同じことを実現しませんでした。 – praveen

答えて

2

、のようなもの:もちろん/ yourapp /デフォルト/閲覧/カテゴリ/ Aのようなリンクのセットを生成します

{{import string}} 
{{for browse_type in ['category', 'listing', 'locality', 'brand']:}} 
{{=CAT('Browse by ', browse_type, ' ', 
     *[A(letter, _href=URL('default', 'browse', args=[browse_type, letter])) 
     for letter in string.uppercase])}} 
{{pass}} 

、など、あなたが記入する必要がありますあなたが望む正確なフォーマット/レイアウトを得るためにはもう少しHTMLが必要です - 上記はリンクを生成する方法の単なる例です。そして、コントローラ内の

def browse(): 
    if len(request.args) < 2: 
     redirect(URL('default', 'somewhere')) 
    [code to generate items to browse based on browse type and letter] 

注意、request.args(0)閲覧タイプが含まれます(つまり、 "カテゴリ"、 "リスト" など)、およびrequest.args(1 )は、文字(すなわち、 "A"、 "B"など)を含みます。これらの値を使用して適切なクエリを生成することができます。このクエリは、データをどのように構造化したかによって異なります。

文字の一部にアイテムがない場合は、それらのリンクを削除するか、無効にすることを検討してください。これは、ページヒットリンクを生成する前にデータベースクエリを必要とするため、どのリンクを表示/アクティブにするかを知っているので、dbヒットを最小限に抑えるために、しばらくそのクエリをキャッシュしてください。