簡體   English   中英

Magento-更改新聞通訊注冊

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM