2014-04-11 1 views
0

저는 PRESTASHOP/SMARTY 환경에서 일종의 새지만, 문제가있는 친구를 지원해야합니다. 몇 시간 후에 나는 너에게 물어보기로했다.PRESTASHOP에 대한 액세스 SMARTY 템플릿의 PHP 클래스 (즉, Product)

PRESTASHOP 클래스 (/ 클래스)에 액세스 할 수있는 특수성이나 표준 절차가 있습니까? 예 : SMARTY 기본 템플릿의 Product.php가 있습니까? 이 환경에는 범위 문제가 있습니까?

나는 prestashop 상수에 액세스하기 위해 $ smarty.const를 사용해야한다는 것을 알았지 만 이미 정의 된 클래스에 액세스하기위한 단서는 없다.

필자는 템플릿보기에서 이러한 종류의 기능을 수행하지 못했다는 것을 알고 있습니다. 그러나 그것은 레거시 코드입니다. 어떤 walkthrought?

미리 감사드립니다.

+0

템플릿에 사용하려는 데이터에 대한 자세한 정보를 제공 할 수 있습니까? –

+0

예를 들어 카테고리/제품 등급에 액세스하고 싶습니다. 특정 유스 케이스는 주어진 카테고리의 모든 조상을 결정하는 것이 될 수있다. 지금 내가 끔찍한 DB 쿼리를하고있어, 나는 PRESTASHOP API를 사용하는 것을 선호한다. – Perrolobo

답변

2

smarty 템플릿을 호출하는 컨트롤러 나 모듈에 중점을 두는 것이 좋습니다. 이 원하는 정보를 얻을 후 독립 변수로 $this->context->smarty->assign() 배열 유식에 전달하는 클래스를 사용할 수 있습니다

$this->context->smarty->assign(array(
     'category' => $this->category, 
     //OTHER VARIABLES 
     'ancestors' => $ancestors 
) 

또는 수정하여 하나를 기존 :

$this->category['ancestors'] = $ancestors; 
$this->context->smarty->assign(array(
     'category' => $this->category, 
     //OTHER VARIABLES 
) 
-1

직접 수 상기

<a href="{Tools::getShopDomain()}"> {Tools::$round_mode} </a> 

등 정적 접근 방법 및 유식의 클래스 필드는 단지 그것을 어떻게 보여 매우 조질 예이다.