2014-01-22 2 views
0

의 제품 설명에서 프로그래밍 방식으로 속성 :그렇게 간다, 어디서든 질문이 질문을보고하지 않았나요 젠토

내 젠토 저장소에 몇 가지 속성을 가지고 있지만, 지나치게 복잡 페이지에서 사용자를 절약 할 수 , 제품 페이지에 대해 탭으로 다른 종류의 정보를 구분했습니다. 첫 번째 탭은 현재 HTML의 묶음 인 제품 설명을 표시합니다.이 HTML은 기본적으로 속성 값을 아래에있는 속성 값으로 표시하여 속성을 미러링하고 두 번째 탭은 DB에서 호출 된 속성과 함께 더 자세한 정보를 표시합니다 .

지금은 제품을 편집하거나 추가 할 때 기본적으로 실제 제품 속성으로 한 번, 아이콘이있는 간단한 HTML 제품 설명을 위해 한 번 두 번 속성을 추가해야합니다.

대신에 속성을 프로그래밍 방식으로 호출하고 아이콘 아래에 속성 값을 자동으로로드하는 변수를 삽입하여 모든 값을 수동으로 편집하고 두 번 확인하는 데 시간을 절약 할 수 있습니다.

다른 일없이 샘플 코드의 기본 라인은 현재 다음과 같습니다

<img src="http://myurl.com/img/profile.jpg" alt="attribute_1_image" /><br /> 70mm 

대신 수동으로 70mm를 작성, 나는 데이터베이스에서 호출 할 수 있기를, 그래서 것 단순히 복사 이미 70mm가 attribute_1으로 추가 한 이후, 각 제품 설명 페이지에서 동일한 HTML을 붙여, 그렇게 할 수있는 선호 결과는 다음과 같습니다

<img src="http://myurl.com/img/profile.jpg" alt="attribute_1_image" /><br />{var.attribute_1} 

이, 또는 단순히로부터 속성을로드 할 아무것도 비슷한 사용자가 현재 사용하는 동일한 제품 페이지 에.

내가 가장 가깝게 느낀 점은 http://www.devinrolsen.com/magento-custom-attributes-value/입니다.하지만 편집자가 지원하지 않기 때문에 PHP를 통해이 작업을 수행 할 수 없다는 것을 알았습니다. 어떻게이 작업을 수행 할 수 있었는지 잘 모르겠습니다. 저는 Magento 1.6을 사용하고 있습니다.

도움을 주시면 감사하겠습니다.

감사합니다.

답변

0

사용자 지정 "변수"를 텍스트 바꾸기로 사용할 수 있습니다. 백엔드의 설명에 {var.attribute_1}을 넣으십시오. 그런 다음 제품보기에서 문자열 바꾸기를 수행하십시오.

파일 app/design/frontend/default/YOUR_THEME/template/catalog/product/view.html : 다음 echo $description; 각 속성에 대한

$description = $_product->getDescription(); 

if ($_product->getVariable1()): 
    $description = str_replace(
     '{var.attribute_1}', 
     $_product->getResource()->getAttribute('variable_1')->getFrontend()->getValue($_product), 
     $description); 
endif; 

등등. Magento 백엔드에서 제품보기의 속성을 활성화하려면 해야합니다. 확장자가 필요하지 않습니다.

귀하의 제품에 다른 설명 "패턴"이있는 경우에만 의미가 있습니다.그렇지 않으면 (예 : variable1이 항상있는 경우) <img> 태그를이 파일에 넣고 속성 값 다음에 실제 설명에 대한 설명 필드를 유지하면됩니다.

편집 : 방지하기 위해 {var.attribute_1가} 실제 속성이 비어있는 동안에도 제품보기에 표시 할, 다음 코드는 더 나은 같습니다

$description = $_product->getDescription(); 

$attribute_value = 
     ($_product->getVariable1()) ? 
      $_product->getResource()->getAttribute('variable_1')->getFrontend()->getValue($_product) 
      : ""; 
$description = str_replace(
     '{var.attribute_1}', 
     $attribute_value, 
     $description); 
+0

일단 내가 집에 돌아 오면 수정 해 드리겠습니다. 그러나 변수에 의해, 속성을 의미 했습니까? 다른 패턴이 있기 때문에 설명을 하드 코딩하고 싶지 않습니다. 일부 제품에는 다른 패턴보다 더 많은 아이콘이 있고, 클릭 할 때 라이트 박스를 열어야하는 등의 여러 가지 아이콘이 있습니다. 나는 몇 시간 후에 집에 돌아올 것이니, 나는 그 일을 포기하고 어떻게되는지 알아 보겠다. 지금 고마워! – Cardo

+0

'variable_1'은 속성의 이름 (속성 라벨이 아닌 코드 명)입니다. Magento는 이름 형식에 따라 빠른 호출 "getVariable1()"을 통해 속성을 가져올 수 있습니다. – Thundar

+0

나는 당신이 제안한 것을 시도했지만, 잘못했거나 제대로 작동하지 않았다. view.phtml 파일에 작성한 코드를 추가하고 결과가없는 모든 가능한 위치에 $ 설명을 표시했습니다. 내 코드는 다음과 같습니다. http://pastebin.com/V0HuuQLe (죄송합니다. 어떤 이유로 든 코드의 서식을 지정할 수 없습니다.) 대체 된 텍스트는 {var.thickness}이고 속성의 코드는 단순히 두께. 정확하게 무엇이 잘못되었는지를 모릅니다. – Cardo

0

것을 aswer 죄송합니다,하지만 난 확신이 제품 속성 직접 (즉, 만약 당신 싶어합니까?) 좋은 방법은 설명 페이지에 블록을 가지고있다

제품의 설명 필드에 삽입 할 수 있어요 거기서 레이아웃을해라. 당신이 지적한 링크와 같은 HTML과 PHP로. 제품 페이지에이 블록을 표시하기 만하면 모든 Google 제품에 대한 속성이로드되고 표시됩니다.

희망이 도움이됩니다.

+0

내가 다음이 생각,하지만 난 레이아웃에 의해 동일하지 않기 때문에 제품을 보유하는 정적 블록을 최대한 많이 만들어야합니다. 일부 제품보기에는 다른 아이콘보다 더 많은 아이콘이 있으며 라이트 박스의 다른 이미지에 연결해야하므로 작성할 수 있습니다. 끝없는 정적 블록. 이것은 모든 것을 수동으로 편집하는 것보다 약간 빠르지 만 Thundar의 텍스트 대체에 대한 제안은 효과가있을 수 있습니다. – Cardo