[英]Magento - Change newsletter sign up
我仍然要熟悉Magento CE 1.8.1.0,我要嘗試做的是找出帳戶創建時事通訊訂閱的代碼。
我們不使用標准的Magento通訊,我們的地址存儲在第三方軟件中。 理想情況下,如果用戶單擊“提交”按鈕時,它希望將電子郵件地址添加到單獨的數據庫中,但是我需要找出代碼在哪里。
我在這里找到了帳戶注冊頁面:
/app/design/frontend/default/yourhealthfoodst/template/persistent/customer/form/register.phtml
和通訊復選框在這里:
<input type="checkbox" name="is_subscribed" title="<?php echo $this->__('Sign Up for Newsletter') ?>" value="1" id="is_subscribed" checked="checked" class="checkbox" />
如果是此表單的一部分,則提交按鈕:
<form action="<?php echo $this->getPostActionUrl() ?>" method="post" id="form-validate">
從我可以收集到的信息中, $ this-> getPostActionUrl()是:
/customer/account/createpost/
我只是在努力尋找下一步...如果這有意義!
感謝您的任何建議
客戶的時事通訊訂閱在subscriptionCustomer方法的Mage_Newsletter_Model_Subscriber類中的第389行中。在第34行的Mage_Newsletter_Model_Observer的subscriptionCustomer方法中調用此方法,偵聽事件customer_save_after。
當用戶在“客戶/帳戶/創建”頁面上提交表單時,該表單在第264行的Mage_Customer_AccountController中調用“客戶/帳戶/創建后”控制器操作。控制器加載客戶模型,填充客戶數據並將其保存到數據庫。 保存客戶后,將調度customer_save_after事件,並向該客戶發送已為該事件注冊的Mage_Newsletter_Model_Observer。 新聞通訊的觀察者然后訂閱了客戶。
我不確定您是否基本了解將URL請求映射到處理該文件的文件系統。
/customer/account/createpost/
它說將要執行的動作位於內部
app / code / core / customer(module)
/ account(controller)
/ createpostAction(action function)
路徑,但是正如您所說的那樣,它保存在第3方,那么本地或社區池中必須有一個覆蓋此控制器的模塊。
要進行檢查,也許您可以尋找軟件包名稱與您的第三方供應商相似的模塊。 然后,在該模塊內,您可以看到此表單發布的操作功能。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.