2011-03-15 10 views
1

우리는 라디오 버튼으로 사용자 정의 옵션을 가진 일부 제품이있는 Magento Shop을 보유하고 있습니다. 비 필수 옵션에는 기본적으로 첫 번째 버튼이 선택되어 있지만 필수 버튼은 선택되어 있지 않습니다. 내가 어떻게 확인 할 수 있니?Magento Custom Options - 모든 첫 번째 라디오 버튼 확인

확장 종속 맞춤 옵션 (갤러리)을 이미 설치했습니다. 즉, 기본적으로 어떤 사용자 지정 옵션을 선택해야하는지 설정하는 옵션이 있지만 그 값을 올바른 값으로 업데이트하지는 않습니다. 이비 도움

답변

0

에 대한

감사합니다,라고 할 때, 옵션에 따라 가격을 업데이트 optionsConfig.reloadPrice() 같은라는 자바 스크립트 함수가있다. dom:loaded 이벤트 중에 트리거해야 할 수도 있습니다.

+0

나는이 putiing하여 시도했다 : '<스크립트 유형 = "텍스트/자바 스크립트"> document.observe ("DOM :로드"함수() {그래서 코드는 다음과 같이 될 것입니다 opConfig.reloadPrice(); }); '/template/catalog/product/view.phtml 작동하지 않습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까? – David

2

이 해결 방법은 나에게 도움이되지 않을 수 있지만 동일한 문제가 있으며 해결되었습니다.

먼저 Magento에서 jQuery를 올바르게 설치하기 위해 복잡한 방법을 사용해야했습니다. 문제의 일부인 필자는 Spentaculous Effects 파일이 최신 Magento 빌드로 구식이라고 믿는다. 그래서 나는 www.script.aculo.us 사이트에 가서 최신 버전을 다운로드했다. 나는 다음 effects.js 파일을 꺼내에 effects.js을 덮어 그것을 사용 :

[젠토]

script.aculo.us의 /의 JS가/그럼 내가 jQuery를 사이트에서 jQuery를 다운로드하여 만든 폴더라는 JQuery와의 :

[젠토] /의 JS/

그리고 거기에 JQuery와 파일을 덤프.

는 다음 나는 파일을 열 :

[젠토] /app/design/frontend/default/default/layout/page.xml

과 같이 라인의 목록을 발견 이 :

<action method="addJs"><script>scriptaculous/effects.js</script></action> 

이 중 하나를 복사하고 jquery 파일의 경로를 다음과 같이 바 꾸었습니다.

<action method="addJs"><script>jquery/jquery-1.6.1.min.js</script></action> 

이제 jQuery가 모든 페이지에 포함됩니다.

중요! noConflict() 모드에서 jQuery를 실행해야한다. 그래서 JS가 (나를 위해) 사용자 정의 옵션이있는 페이지에서 첫 번째 라디오 버튼을 선택하는 것처럼 보입니다.

var $j = jQuery.noConflict(); 

$j(document).ready(function(){ 

// auto selects the first input with radio class 
$j('.options-list input.radio:first').attr('checked','checked'); 

}); 

그 파일을 jquery 폴더에 저장하고 jQ 라이브러리에 링크 한 것과 같은 방법으로 링크했습니다.

내 캐시를 플러시하고 voila!

도움이 되었기를 바랍니다.

0

이동 응용 프로그램에 \ 코드 \ 코어 \의 마법사의 \ 카탈로그 \ 블록 \ 제품 \보기 \ 옵션 \를 입력 \의 select.php

당신은 여기에서 찾을 수 있습니다 사용자 정의 옵션 제목과 설정하면 제목과 상태.

예를 들어, 내 사용자 지정 옵션 제목 가격입니다 :

경우 ($ this-> htmlEscape ($ _ 옵션 -> 인 getTitle() == '가격'))

1

당신은 jQuery를,로 사용할 수 있습니다 고든은 말하지만 가격을 업데이트하려면 check시 opConfig.reloadPrice() 함수를 실행해야합니다.

var $j = jQuery.noConflict(); 

$j(document).ready(function(){ 

// auto selects the first input with radio class 
$j('.options-list input.radio:first').attr('checked','checked'); 
opConfig.reloadPrice(); 
});