Magento의 사용자 지정 옵션 기능을 확장하고 싶습니다. 나는 sku 또는 title과 같은 기존의 것을 사용하지 않습니다. "경로"라고하는 완전히 새로운 것이 필요합니다. 그것을 추가하는 단계는 무엇입니까? 그것은 catalog_product_option에 행을 추가하는 것 같지만, 할 일이 더 많다고 생각합니까?사용자 지정 옵션에 새 값을 추가하는 방법?
0
A
답변
0
나는 과거에 당신이 유용하거나 유용하지 않을 수도있는 아주 간단한 것을 만들었습니다. 우리의 상황은 새로운 텍스트 옵션에서 자동 완성 필드의 필요성이었습니다. 그래서 디자인 \ adminhtml \ 기본 \ 기본 템플릿 \ 카탈로그 \ 제품 \의 편집 \ 타입 \의 text.phtml, 이것은 OptionTemplateText에 대한 자바 스크립트 var에 새로운 옵션입니다 \ \ : 우리가 함께 Mage_Adminhtml_Block_Catalog_Product_Edit_Tab_Options_Option을 덮어 그런
OptionTemplateText = '<table class="border" cellpadding="0" cellspacing="0">'+
'<tr class="headings">'+
'<th class="type-price"><?php echo Mage::helper('catalog')->__('Price') ?></th>'+
'<th class="type-type"><?php echo Mage::helper('catalog')->__('Price Type') ?></th>'+
'<th class="type-sku"><?php echo Mage::helper('catalog')->__('SKU') ?></th>'+
'<th class="type-last last"><?php echo Mage::helper('catalog')->__('Max Characters') ?> </th>'+
'<th class="type-last last"><?php echo Mage::helper('catalog')->__('Auto Complete') ?> </th>'+
'</tr>'+
'<tr>'+
'<td><input type="text" class="input-text validate-number product-option-price" id="product_option_{{option_id}}_price" name="product[options][{{option_id}}][price]" value="{{price}}"></td>'+
'<td><?php echo $this->getPriceTypeSelectHtml() ?>{{checkboxScopePrice}}</td>'+
'<td><input type="text" class="input-text" name="product[options][{{option_id}}][sku]" value="{{sku}}"></td>'+
'<td class="type-last last"><input type="text" class="input-text validate-zero-or-greater" name="product[options][{{option_id}}][max_characters]" value="{{max_characters}}"></td>'+
'<td class="type-last last"><input type="text" class="input-text" name="product[options][{{option_id}}][auto_complete]" value="{{auto_complete}}"> * service URL</td>'+
'</tr>'+
'</table>';
우리 이 재 작성을 사용하여 자신의 빠른 수업 :
<global>
<blocks>
<adminhtml>
<rewrite>
<catalog_product_edit_tab_options_option>MyNameSpace_Adminhtml_Block_Catalog_Product_Edit_Tab_Options_Option</catalog_product_edit_tab_options_option>
</rewrite>
</adminhtml>
</blocks>
</global>
다음은 전체 수업입니다.
ALTER TABLE `catalog_product_option` ADD COLUMN `auto_complete` VARCHAR(255) NULL DEFAULT NULL AFTER `max_caharacters`;
:
class MyNameSpace_Adminhtml_Block_Catalog_Product_Edit_Tab_Options_Option extends Mage_Adminhtml_Block_Catalog_Product_Edit_Tab_Options_Option {
public function __construct() {
parent::__construct();
$this->setTemplate('catalog/product/edit/options/option.phtml');
}
public function getOptionValues() {
$optionsArr = array_reverse($this->getProduct()->getOptions(), true);
if (!$this->_values) {
$values = array();
$scope = (int) Mage::app()->getStore()->getConfig(Mage_Core_Model_Store::XML_PATH_PRICE_SCOPE);
foreach ($optionsArr as $option) {
/* @var $option Mage_Catalog_Model_Product_Option */
$this->setItemCount($option->getOptionId());
$value = array();
$value['id'] = $option->getOptionId();
$value['item_count'] = $this->getItemCount();
$value['option_id'] = $option->getOptionId();
$value['title'] = $this->htmlEscape($option->getTitle());
$value['type'] = $option->getType();
$value['is_require'] = $option->getIsRequire();
$value['sort_order'] = $option->getSortOrder();
if ($this->getProduct()->getStoreId() != '0') {
$value['checkboxScopeTitle'] = $this->getCheckboxScopeHtml($option->getOptionId(), 'title', is_null($option->getStoreTitle()));
$value['scopeTitleDisabled'] = is_null($option->getStoreTitle())?'disabled':null;
}
if ($option->getGroupByType() == Mage_Catalog_Model_Product_Option::OPTION_GROUP_SELECT) {
$i = 0;
$itemCount = 0;
foreach ($option->getValues() as $_value) {
/* @var $_value Mage_Catalog_Model_Product_Option_Value */
$value['optionValues'][$i] = array(
'item_count' => max($itemCount, $_value->getOptionTypeId()),
'option_id' => $_value->getOptionId(),
'option_type_id' => $_value->getOptionTypeId(),
'title' => $this->htmlEscape($_value->getTitle()),
'price' => $this->getPriceValue($_value->getPrice(), $_value->getPriceType()),
'price_type' => $_value->getPriceType(),
'sku' => $this->htmlEscape($_value->getSku()),
'sort_order' => $_value->getSortOrder(),
);
if ($this->getProduct()->getStoreId() != '0') {
$value['optionValues'][$i]['checkboxScopeTitle'] = $this->getCheckboxScopeHtml($_value->getOptionId(), 'title', is_null($_value->getStoreTitle()), $_value->getOptionTypeId());
$value['optionValues'][$i]['scopeTitleDisabled'] = is_null($_value->getStoreTitle())?'disabled':null;
if ($scope == Mage_Core_Model_Store::PRICE_SCOPE_WEBSITE) {
$value['optionValues'][$i]['checkboxScopePrice'] = $this->getCheckboxScopeHtml($_value->getOptionId(), 'price', is_null($_value->getstorePrice()), $_value->getOptionTypeId());
$value['optionValues'][$i]['scopePriceDisabled'] = is_null($_value->getStorePrice())?'disabled':null;
}
}
$i++;
}
} else {
$value['price'] = $this->getPriceValue($option->getPrice(), $option->getPriceType());
$value['price_type'] = $option->getPriceType();
$value['sku'] = $this->htmlEscape($option->getSku());
$value['max_characters'] = $option->getMaxCharacters();
$value['auto_complete'] = $option->getAutoComplete();
$value['file_extension'] = $option->getFileExtension();
$value['image_size_x'] = $option->getImageSizeX();
$value['image_size_y'] = $option->getImageSizeY();
if ($this->getProduct()->getStoreId() != '0' && $scope == Mage_Core_Model_Store::PRICE_SCOPE_WEBSITE) {
$value['checkboxScopePrice'] = $this->getCheckboxScopeHtml($option->getOptionId(), 'price', is_null($option->getStorePrice()));
$value['scopePriceDisabled'] = is_null($option->getStorePrice())?'disabled':null;
}
}
$values[] = new Varien_Object($value);
}
$this->_values = $values;
}
return $this->_values;
}
}
이 퍼즐의 마지막 조각이 작은 비티 SQL 문이었다
관련 문제
- 1. FullCalendar에서 사용자 지정 양식을 추가하는 방법?
- 2. 사용자 지정 ASP.NET 프로필 속성에 기본 값을 추가하는 방법
- 3. asp.net mvc3에서 선택 목록에 사용자 지정 값을 추가하는 방법
- 4. 테마 옵션에 선택 항목을 추가하는 방법
- 5. WPF 데이터 바인딩 사용자 지정 : 사용자 지정 논리를 추가하는 방법?
- 6. 다른 사용자 지정 지시문에서 사용자 지정 지시문을 동적으로 추가하는 방법
- 7. 카탈로그 설정에서 새 설정 값을 추가하는 방법
- 8. 도구 상자에 사용자 지정 컨트롤을 추가하는 방법?
- 9. TabControl.ContentTemplate에서 새 사용자 정의 컨트롤을 추가하는 방법?
- 10. 헤더에 사용자 지정 코드를 추가하는 방법
- 11. 사용자 지정 Silverlight XAML 특성을 추가하는 방법?
- 12. rails_admin에 사용자 지정 작업을 추가하는 방법
- 13. UITableView 아래쪽에 사용자 지정 셀을 추가하는 방법?
- 14. 사용자 지정 SurfaceView를 XML 레이아웃에 추가하는 방법
- 15. 사용자 지정 UITableViewCell에 표시 단추를 추가하는 방법
- 16. ReSharper에서 사용자 지정 코드 분석을 추가하는 방법
- 17. 탐색 모음에 사용자 지정 항목을 추가하는 방법
- 18. 사용자 지정 컨트롤에 동적 속성을 추가하는 방법
- 19. Sorm에 사용자 지정 값 형식을 추가하는 방법?
- 20. 달력에 사용자 지정 디스플레이 모드를 추가하는 방법
- 21. 사용자 지정 속성에서 '새 SomeObject'사용
- 22. 현재 URL에 사용자 정의 값을 추가하는 방법
- 23. 새 행에 시간 값을 추가하는 방법은 무엇입니까?
- 24. plist에 새 키를 추가하는 방법?
- 25. android : 새 줄을 추가하는 방법
- 26. C#의 내 콤보 상자 옵션에 값을 추가하는 방법은 무엇입니까?
- 27. Sharepoint : 사용자 지정 열의 값을 얻는 방법
- 28. self.to_json에 값을 추가하는 방법
- 29. Dashcode : 사용자 지정/새 프로젝트 템플릿을 만드는 방법?
- 30. 사용자 지정보기를 프로그래밍 방식으로 사용자 지정 셀에 추가하는 방법?