2013-12-10 2 views
0

Product가 아닌 다른보기에 제품 정보를 표시하려고하는데 문제가 있습니다.category.tpl에 제조업체 이름을 표시하는 방법은 무엇입니까?

$this->data['manufacturer'] = $product['manufacturer']; 

및 제품 배열 내에서 추가 :

'manufacturer' => $result['manufacturer'], 

내 Category.tpl보기 파일 :

<?php if ($manufacturer) { ?> 
    <span><?php echo $manufacturer; ?></span> 
<?php } ?> 

나는 나의 카테고리 컨트롤러 파일에이 코드를 추가하려고

오류가 없지만 태그가 비어 있습니다. 도움을 주시면 대단히 감사하겠습니다.

감사합니다.

+0

달성하고자하는 것은 무엇입니까? 카테고리에 나열된 각 제품의 제조업체를 표시 하시겠습니까? – shadyyx

+0

안녕하세요 @shadyyx, 예. 카테고리 목록의 각 제품에 이미 존재하는 정보와 함께 제조업체 이름을 표시하기 만하면됩니다. – Carol

답변

0

정확하게 이것을 지적한대로 category.tpl 파일에 사용 가능한 다른 모든 정보와 함께 $this->data['products'] 배열에이 값을 추가해야합니다. $this->data['manufacturer'] ...은 필요 없으며 아무것도 표시하지 않습니다. 접시에 당신에게 대답을하기보다는, 그들이 할당에서 어떻게 사용되는지 확인하기 위해 컨트롤러와 뷰 파일의 rating 값을 살펴보고 시도하고 catalog/controller/product/category.php에서

+0

죄송 합니다만, 이해하지 못했습니다. – Carol

0

이 줄 찾을 중복 :

$this->data['products'][] = array(

(OC 1.5.6의 경우 238 행이어야 함) -> 여기서 제품은 처리되어 템플리트 변수에 지정됩니다. 이 배열에서 예를 들어 새로운 색인을 추가하십시오. 평가 :이 컨트롤러는 방법 ModelCatalogProduct::getProducts()를 사용하고,이 방법은 제조 업체의 정보를 채우지 않습니다

'rating' => $result['rating'], 
'manufacturer' => $result['manufacturer'], // <= YOUR NEW LINE 

때문에, 당신은 catalog/model/catalog/product.php을 수정하는 것이 필요 쿼리의 SELECT 부분으로

m.name as manufacturer 

를 추가 (절의 마지막 항목이 아닌 경우 ,을 추가 한 후)

를 추가하십시오

이 선 후 : 카테고리 제품에 대한 귀하의 템플릿에 이제

$sql .= " LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'"; 

당신은 foreach($products as $product) 루프 내에서

<?php echo $product['manufacturer']; ?> 

를 사용할 수 있습니다 목록. 조금만 더 편집하면됩니다. vQmod 파일을 통해 이러한 편집 작업을 수행 할 수 있다면 ...

Enjoy!

0

내가 늦지 않았다면.단지 그것은 여전히 ​​앞에 나타나지 않지만 소스 코드를 확인하여 데이터를 볼 수 있습니다

<div class="manufacturer"><?php if($product['manufacturer']){ 
      echo ($product['manufacturer']); 
     }?> 
</div> 

루프

내부 category.tpl 파일 에코에서

'manufacturer' => $result['manufacturer'] 

하여 제품 배열 제조 업체의 배열을 보낼 수 있습니다. Opencart 제품을 (보기 & 목록)을 표시하는 스크립트 기능 function Display()를 사용하기 때문에

그것은 디스플레이 클래스 (제품 목록 및 제품 - 우선합니다 (content_bottom의 DIV 후, 스크립트 태그 내부의 코드를 참조) 해당 제조업체 목록 및 그리드 뷰 모두에 나타납니다 그래서 그리드) 만약 그렇다면 다른 조건 모두에서 코드를 유지 스크립트

var manufacturer= $(element).find('.manufacturer').html(); 

if (manufacturer != null) { 
    html += '<div class="rating">' + manufacturer + '</div>'; 
} 

이 추가 . 희망이 있습니다.

관련 문제