2011-11-25 5 views
0

Magento 사이트에는 몇 가지 사용자 지정 옵션, 텍스트, 파일 업로드 및 드롭 다운 목록이있는 제품이 있습니다.Magento 사용자 지정 옵션을 개별적으로 표시하는 방법

사이트 디자인에 따라 제품보기 페이지 전체에 걸쳐 이러한 옵션을 표시해야하며 한 그룹에 모두 표시하지 않아야합니다.

단일 사용자 지정 옵션의 HTML을 반환하기 위해 호출 할 수있는 함수가 있습니까?

답변

0

부정 행위와 동등한 방법이 있습니다.

상점에서 javascript가 작동해야하며 on dom : loaded 이벤트를 사용하여 페이지가 렌더링되기 전에 Prototype으로 할 수있는 일이 많습니다. 사용자 정의 옵션을 DOM에서 원하는 위치에 부착하거나 숨길 수 있으며 원하는 위치에 양식 요소를 업데이트하는 페이지에 다른 옵션을 넣을 수 있습니다. 색상 이름을 캡처해야하지만 모든 제품에 색상 모음을 넣고 싶지 않은 경우이 작업을 수행 할 수 있습니다. 텍스트 상자가 제품으로 이동하고 컨트롤에서 텍스트를 쓸 수 있습니다.

일부 $$ ('속임수')의 이점은 '디자인 고려 사항'에 대해 Magento 코드를 너무 깊이 생각할 필요가 없다는 것입니다.

+0

감사합니다, 나는 C를 종료 큰 시간을 가열. Magento가 저에게 준 페이지를 렌더링하고 소스 코드를 가져 와서 하드 코딩 된 버전의 페이지를 작성했습니다. 즐거운 경험이 아니며 많은 양의 기술적 부채가 발생했습니다. 그 페이지에있는 다음 보상 세트를 기대하지 않는 Im! – John

0

그룹에 대해 제대로 이해하지 못했습니다. 당신이 범주를 의미한다면;

이 속성 세트에 표시 할 속성이 포함되어야하는 새 속성 세트를 만듭니다. 그런 다음 제품을 만들 때 기본값 대신이 속성 세트를 선택하십시오. 따라서이 속성 만 지정된 제품에서 사용할 수 있습니다.

$selectArray = $this->getProduct()->getAttributeText('YOUR_ATTRIBUTE_CODE'); 
$endOfArray = end($selectArray); 

echo "<ul class='set-some-class'>"; 
foreach($selectArray as $selectionItem) { 
    echo "<li> . $selectionItem"; 
    if($selectionItem != $endOfArray) { 
    echo "</li>\n"; 
    } else { 
    echo "</ul>"; 
    } 
} 
:

하자 그 경우에, 당신이 당신의 제품 페이지에서 다중 선택 목록을 보여주고 싶은 말 ("attribute_code"로 변경하는 것을 잊지 마세요) 다음 코드 조각을 시도해보십시오 이 경우에 제품보기 페이지가 아닌 다른 페이지에 대한

는 :

$attribute = Mage::getModel('catalog/product')->getAttribute('catalog_product', 'YOUR_ATTRIBUTE_CODE'); 
$options = $attribute->getSource()->getAllOptions(true, true); 
$lastOption = end($options); 

echo "<ul class='set-some-class'"; 
foreach($options as $option) { 
    echo $option['label']; 
    if($option != $lastOption) { 
    echo "<li>\n"; 
    } else { 
    echo "</ul>"; 
    } 
} 
+0

제품에 대한 사용자 지정 옵션이 반환되면 함께 그룹화되며 모두

블록 안에 있습니다. 내가 만들고있는 사이트의 디자인은 페이지 전체에 퍼져있는 맞춤 옵션을 필요로합니다. 내 질문은; 맞춤 옵션을 개별적으로 호출하여 제품 페이지의 한 블록/그룹에서 한꺼번에 개별적으로 렌더링 할 수 있습니까? – John

+0

@ 존 위의 코드 스 니펫을 사용해보십시오. –

관련 문제