オプションタイプ「テキスト」に対してこれを行うと仮定します。この新しいプロパティを入力、編集、保存、および出力する方法を提供する必要があります。
参加するには : すでにわかっているように、バックエンド テンプレート ファイルを編集する必要があります。app\design\adminhtml\default\default\template\catalog\product\edit\options\type\text.phtml:
36行目以降に入る
'<th class="type-last last"><?php echo Mage::helper('catalog')->__('Custom CSS') ?> </th>'+
そして47行目以降:
'<td class="type-last last"><input type="text" class="input-text" name="product[options][{{option_id}}][custom_css]" value="{{custom_css}}"></td>'+
これにより、カスタム css クラスを入力するフィールドが追加されます。
編集するには: 新しいフィールドがモデルから値を取得できるように、オプション HTML を出力するブロックを書き直す必要があります。次のように宣言されたモジュール内にブロックを作成します。
class YourPackage_YourModule_Block_Adminhtml_Option extends Mage_Adminhtml_Block_Catalog_Product_Edit_Tab_Options_Option
{
getOptionValues()
クラスから関数をコピーして貼り付けMage_Adminhtml_Block_Catalog_Product_Edit_Tab_Options_Option
、コードを追加します
##.......code omitted for brevity.......##
$value['sku'] = $this->htmlEscape($option->getSku());
$value['max_characters'] = $option->getMaxCharacters();
// your new field output to the adminhtml form
$value['custom_css'] = $option->getCustomCss();
$value['file_extension'] = $option->getFileExtension();
##.......code omitted for brevity.......##
ストアへ。これは少しトリッキーです。テーブルcatalog_product_optionを拡張する必要があります。新しいプロパティを格納する列が 1 つあります。次の内容でインストール/更新スクリプトを作成します。
$installer = $this;
$installer->startSetup();
$installer->run("
ALTER TABLE `catalog_product_option` ADD
`custom_css` text");
$installer->endSetup();
スクリプトの実行後、テーブルに新しい列があることを確認しますcustom_css
出力frontend/yourpackage/yourtheme/template/catalog/product/view/options/type/text.phtml
するには: 最後に、次のような新しいカスタム CSS クラス プロパティを出力するコードを追加して、テンプレート ファイルを更新します。
$_option->getCustomCss();