2013-06-09 4 views
0

일부 수정을 완료했으며 이제는 내 페이지 매김을 만들어야합니다.prestashop에서 페이지 매김이 어떻게 작동합니까?

전신 가설을 알고 있으므로 어떻게 사용합니까?

내가 클래스에서 사용하려고했다

/컨트롤러/FrontController.php

사용 기능 :

public function pagination($nbProducts = 10) 
     {.... 

하지만 어떻게 자체가 ... 내가 생각 매김을 형성 위치를 잘 이해할 수 없다 내 PHP 지식이 낮아 Prestashop 작업의 페이지 매김이 어떻게되는지 이해하면 도움이 필요합니다.

+0

페이지 매김은 themes/your_theme_name/pagination.tpl에 형성됩니다. 거기에서 그 페이지 매김을위한 html과 멋진 코드를 볼 수 있습니다. –

+0

내가 undestand,하지만 내가 undestand 컨트롤러에서 작동하는 방법, 내가 할 수있는 방법 (가능한 경우) 자신의 제품 목록 내 자신의 페이지 매김을 사용할 수 있습니다. – qant

답변

0

프런트 컨트롤러 의 멋진 변수에 제품 및 제품 수를 지정합니다. 여기 BestSalesController에서 BestSales 페이지로 예 :

$nbProducts = (int)ProductSale::getNbSales(); 
$bestSales = ProductSale::getBestSales($this->context->language->id, $this->p - 1, $this->n, $this->orderBy, $this->orderWay); 
.... 
// then assign it to smarty 
$this->context->smarty->assign(array(
    'nbProducts' => $nbProducts, 
    'products' => $bestSales 
)); 

특별한 아무것도 또는 전면 컨트롤러에서 할 수있는 사용자 정의 일이 없습니다.

사용자 정의 페이지 매기기를 만들고 싶다면 블록 레이 티드 모듈을 살펴보십시오.

$nArray = (int)Configuration::get('PS_PRODUCTS_PER_PAGE') != 10 ? array((int)Configuration::get('PS_PRODUCTS_PER_PAGE'), 10, 20, 50) : array(10, 20, 50); 

이 라인 디스플레이 : ajaxCall() 기능에 모듈/blocklayered/blocklayered.php, 당신이 줄을 편집하여 '페이지에 의해 제품의 수'에 대한 사용자 정의 선택을 지정할 수 있습니다 예를 들어

, 10, 백 오피스에 지정된 페이지 당 제품의 20, 50 및 기본 번호/환경/제품하지만 당신은 당신의 소원으로 변경할 수 있습니다, 예 :

$nArray = array(10, 20, 30, 40, 50, 60); 

사용자 정의를 원할 경우이 모듈에서 사용자 정의를해야하지만 간단하지는 않습니다 (파일이 4200 행에 도달하므로 행운을 빈다.).

+0

고맙습니다. 충분히 명확하지 않았습니다.하지만 Prestashop에 기반하여 내 페이지 매김을 만들 필요가 있었지만 이제는 재정의로 직접 코드를 작성하지 않으면 불가능합니다. – qant

관련 문제