Changeset 1201
- Timestamp:
- 2008-10-01 21:50:22 (3 months ago)
- Files:
-
- trunk/lib/node_query.rb (modified) (1 diff)
- trunk/lib/parser/lib/rules/zena.rb (modified) (2 diffs)
- trunk/test/fixtures/files/Node-test.zafu (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/lib/node_query.rb
r1197 r1201 271 271 @errors << "invalid paginate clause '#{paginate}' (used without limit)" 272 272 nil 273 elsif (fld = map_literal("[ #{paginate}]", :ruby)) && (page_size = @limit[/ LIMIT (\d+)/,1])273 elsif (fld = map_literal("[param:#{paginate}]", :ruby)) && (page_size = @limit[/ LIMIT (\d+)/,1]) 274 274 @page_size = [2,page_size.to_i].max 275 275 " OFFSET \#{((#{fld}.to_i > 0 ? #{fld}.to_i : 1)-1)*#{page_size.to_i}}" trunk/lib/parser/lib/rules/zena.rb
r1199 r1201 2192 2192 page_size = params[:limit].to_i 2193 2193 page_size = 20 if page_size < 1 2194 parts[-1] << " limit #{page_size} paginate param:#{paginate.gsub(/[^a-z_A-Z]/,'')}"2194 parts[-1] << " limit #{page_size} paginate #{paginate.gsub(/[^a-z_A-Z]/,'')}" 2195 2195 else 2196 2196 [:limit, :offset].each do |k| … … 2453 2453 end 2454 2454 2455 if query && query.pagination_key && (pagination_key = query.pagination_key[/param:([a-zA-Z_]+)/,1])2455 if query && (pagination_key = query.pagination_key) 2456 2456 out "<% set_#{pagination_key}_nodes = #{query.finder(:count)}; set_#{pagination_key}_count = (set_#{pagination_key}_nodes / #{query.page_size.to_f}).ceil; set_#{pagination_key} = [1,params[:#{pagination_key}].to_i].max -%>" 2457 2457 @context[:paginate] = pagination_key trunk/test/fixtures/files/Node-test.zafu
r1198 r1201 44 44 <p><b do='[p_nodes]'/> nodes</p> 45 45 <p> 46 <r:link mode='test' page='previous' do='t'>previous</r:link>46 <r:link mode='test' update='pagir' page='previous' do='t'>previous</r:link> 47 47 <r:show var='p'/>/<r:show var='p_count'/> 48 <r:link mode='test' page='next' do='t'>next</r:link>48 <r:link mode='test' update='pagir' page='next' do='t'>next</r:link> 49 49 </p> 50 50 <ul>
