Пример #1
0
def detail(request, item_id):

	# 商品詳細情報
	item = Item.objects.raw('select id, itemName, itemCaption, mediumImageUrls, format(itemPrice, 0) itemPrice, affiliateUrl, genreId, getTime, price_sentence, alchol_sentence, capacity_sentence, twenty_sentence ,tweetSentence from Item where id = %s;' % item_id)[0]

	# 同カテゴリの商品リスト
	category_id = item.genreid

	relatedItems = Item.objects.raw('select id, itemName, format(itemPrice,0) itemPrice, affiliateUrl, mediumImageUrls from Item where genreId = %s limit 30;' % category_id)

	# 現在の階層を確認
	nowCategory = Rakutencategory.objects.raw('select * from RakutenCategory where Category_id = %s' % category_id)
	#パンくずと関連カテゴリ生成
	try:
		breadCrumb = createBreadCrumb.makeBreadCrumb(nowCategory)['breadCrumb']
		bottomCategories = createBreadCrumb.makeBreadCrumb(nowCategory)['bottomCategories']
	# カテゴリがなかった場合、空のパンくず,関連カテゴリ配列を作成
	except IndexError:
		bottomCategories = []
		breadCrumb = []
	if parse(request.META['HTTP_USER_AGENT']).is_mobile:
		t = loader.get_template('rakuten/spDetail.html')
	else:
		t = loader.get_template('rakuten/detail.html')
	c = Context({'typicalCategories':typicalCategories, 'item':item, 'bottomCategories':bottomCategories, 'relatedItems':relatedItems, 'breadCrumb':breadCrumb, 'searchForm':searchForm})
	return HttpResponse(t.render(c))
Пример #2
0
def category(request, category_id, page):

	# 現在の階層を確認
	nowCategory = Rakutencategory.objects.raw('select * from RakutenCategory where Category_id = %s' % category_id)

	# パンくず作成
	now_lft = createBreadCrumb.makeBreadCrumb(nowCategory)['now_lft']
	now_rgt = createBreadCrumb.makeBreadCrumb(nowCategory)['now_rgt']
	now_diff_lr = createBreadCrumb.makeBreadCrumb(nowCategory)['now_diff_lr']
	breadCrumb = createBreadCrumb.makeBreadCrumb(nowCategory)['breadCrumb']
	bottomCategories = createBreadCrumb.makeBreadCrumb(nowCategory)['bottomCategories']

	#itemをcount
	itemCount = Item.objects.raw('select i.id, count(*) count from Item i inner join RakutenCategory r on i.genreId = r.Category_id where lft >= %s and rgt<= %s;', (now_lft, now_rgt))[0].count

	#ページネーション作成
	#pageが数字なら
	try:
		page = int(request.GET['page'])
		page = pager.pagerInt(page, itemCount)['page']
		start_id = pager.pagerInt(page, itemCount)['start_id']
		prevNext = pager.pagerInt(page, itemCount)['prevNext']
		
	#pageが数字じゃなかったら			
	except:
		page = pager.pagerNotInt()['page']
		start_id = pager.pagerNotInt()['start_id']
		prevNext = pager.pagerNotInt()['prevNext']

	categoryItemList = Item.objects.raw('select i.id, i.itemName, i.mediumImageUrls, i.itemPrice from Item i inner join RakutenCategory r on i.genreId = r.Category_id where lft >= %s and rgt <= %s limit %s, 30;', (now_lft, now_rgt, start_id))

	if parse(request.META['HTTP_USER_AGENT']).is_mobile:
		t = loader.get_template('rakuten/spCategory.html')
	else:
		t = loader.get_template('rakuten/category.html')

	c = Context({'typicalCategories':typicalCategories, 'nowCategory':nowCategory, 'category_id':category_id, 'bottomCategories':bottomCategories, 'now_diff_lr':now_diff_lr, 'breadCrumb':breadCrumb, 'searchForm':searchForm, 'prevNext':prevNext, 'categoryItemList':categoryItemList, 'itemCount':itemCount/30 + 1, 'page':page, 'start_id':start_id, } )
	return HttpResponse(t.render(c))