メンバーシップ システムのさまざまなタスクを処理するカスタム モジュールを作成しました。好きな場所にブロックをドロップできるように、モジュールを変更しようとしています。Gravitywell.comのチュートリアルに従ってきましたが、どこかに落ちたような気がします。
app/etc/modules/Hatclub_MembershipHandler.xml
<config>
<modules>
<Hatclub_MembershipHandler>
<active>true</active>
<codePool>local</codePool>
</Hatclub_MembershipHandler>
</modules>
アプリ/コード/ローカル/Hatclub/MembershipHandler/ブロック/lookup.php
<?php
class Hatclub_MembershipHandler_Block_Lookup extends Mage_Core_Block_Template {
}
アプリ/コード/ローカル/Hatclub/MembershipHandler/etc/config.xml
<modules>
<Hatclub_MembershipHandler>
<version>1.0.0</version>
</Hatclub_MembershipHandler>
</modules>
<global>
<models>
<hatclub_membership_handler>
<class>Hatclub_MembershipHandler_Model</class>
</hatclub_membership_handler>
</models>
<blocks>
<hatclub_membership_handler>
<class>Hatclub_MembershipHandler_Block</class>
</hatclub_membership_handler>
</blocks>
<events>
<customer_register_success>
<observers>
<registration_success_observer>
<class>hatclub_membership_handler/observer</class>
<method>registrationSuccess</method>
<type>singleton</type>
</registration_success_observer>
</observers>
</customer_register_success>
</events>
</global>
アプリ/コード/ローカル/Hatclub/MembershipHandler/Model/Observer.php
<?php
class Hatclub_MembershipHandler_Model_Observer {
// members group id
const GROUP_ID = 4;
// called when a customer registers for the site
public function registrationSuccess(Varien_Event_Observer $observer) {
// extract customer data from event
$customer = $observer->getCustomer();
// a cookie should have been set with the membership id
if (isset($_COOKIE['membership_account_id'])) {
$customer
->setGroupId(self::GROUP_ID)
->setRmsId($_COOKIE['membership_account_id']);
}
return $this;
}
}
/app/design/frontend/enterprise/hatclub/template/persistent/customer/form/register.phtml
<?php
echo $this->getLayout()->createBlock('hatclub_membership_handler/lookup')->setTemplate('membership_lookup/lookup.phtml')->toHtml(); ?>