Location To と Location From という製品に関連付けられた 2 つのカスタム オプション テキスト フィールドがあります。
getLocationCoords というメソッドを使用してオブザーバーを持つモジュールをセットアップしましたcheckout_cart_add_product_complete
。メソッドに渡されたイベント オブジェクトからこれら 2 つのフィールドにアクセスするにはどうすればよいでしょうか。
これらの 2 つのフィールドが必要なので、自分でできると思うリバース ジオコーディングを行うことができます。
2 セットの座標を取得したら、それらを製品と一緒に保管して、注文のペースが調整されたときにそれらが製品に関連付けられているのを確認できるようにするにはどうすればよいですか?
=======================編集追加======================== ===
私がこれまでに試したこと
public function getLocationCoords(Varien_Event_Observer $observer)
{
// Retrieve the product being updated from the event observer
$product = $observer->getEvent()->getProduct();
// Write a new line to var/log/product-updates.log
$name = $product->getName();
$sku = $product->getSku();
Mage::log(
"{$name} ({$sku}) updated",
null,
'product-updates.log'
);
foreach ($product->getOptions() as $o) {
$type = "Custom Option TYPE: " . $o->getType();
$title = "Custom Option TITLE: " . $o->getTitle();
Mage::log(
"{$type} ({$title}) custom option {$o}",
null,
'product-updates.log'
);
}
}
カスタムオプションの値を取得する以外はすべて機能します。以下の回答を試して、どこで取得できるかを確認します
オプション オブジェクトの var ダンプを出力すると、これが得られます
2012-12-11T15:19:45+00:00 DEBUG (7): array (
'option_id' => '1',
'product_id' => '1',
'type' => 'field',
'is_require' => '1',
'max_characters' => '0',
'sort_order' => '0',
'default_title' => 'Location To',
'title' => 'Location To',
'default_price' => '0.0000',
'default_price_type' => 'fixed',
'price' => '0.0000',
'price_type' => 'fixed',
)
オブジェクトに価値はない