Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
magento-是否可以保存联系人表单_Magento - Fatal编程技术网

magento-是否可以保存联系人表单

magento-是否可以保存联系人表单,magento,Magento,我只是想问,有可能吗?我正在考虑在Mage>Contacts>controllers>indexController.php中进行硬编码,因此输入字段中的数据将首先保存,然后邮寄到customerservice 总览就这样, public function postAction() { . . . $translate = Mage::getSingleton('core/translate'); $connect = $resource->getConnection('extension

我只是想问,有可能吗?我正在考虑在Mage>Contacts>controllers>indexController.php中进行硬编码,因此输入字段中的数据将首先保存,然后邮寄到customerservice

总览就这样,

public function postAction() {
.
.
.
$translate = Mage::getSingleton('core/translate');
$connect = $resource->getConnection('extension_write');
$sql = 'INSERT INTO customer_callback '.
       '(date_created, name, phonenumber, callback_wish, comment) '.
       'VALUES (NOW(), "' . $post['name'] .'", "' . $post['phonenumber'] . '", callback_wish, comment)';
$retval = mysql_query( $sql, $connect );
.
.
.
}

Magento不用于将联系人详细信息保存到数据库中

如果要将其保存到数据中,则需要创建模型并覆盖“联系我们”控制器。 步骤1:创建文件夹 Config.xml路径app/code/local/Amit/Customcontactus/etc/

此文件的代码:

<?xml version="1.0" encoding="utf-8"?>
<config>
        <modules>
            <Amit_Customcontactus>
                <version>1.0.1</version>
            </Amit_Customcontactus>
        </modules>
    <global>
       <!-- Call Model -->
    <global>
        <models>
            <customcontactus>
                <class>Amit_Customcontactus_Model</class>
                <resourceModel>customcontactus_resource</resourceModel>
            </customcontactus>
            <customcontactus_resource>
                <class>Amit_Customcontactus_Model_Resource</class>
                <entities>
                    <customcontactus>
                    <table>customer_callback</table>
                    </customcontactus>
                </entities>
            </customcontactus_resource>
        </models>
        <resources>
            <customcontactus_setup>
                <setup>
                    <module>Amit_Customcontactus</module>
                </setup>
                <connection>
                    <use>core_setup</use>
                </connection>
            </customcontactus_setup>
            <customcontactus_read>
                <connection>
                    <use>core_read</use>
                </connection>
            </customcontactus_read>
            <customcontactus_write>
                <connection>
                    <use>core_write</use>
                </connection>
            </customcontactus_write>
        </resources>
        <!-- helper -->
        <helpers>
            <customcontactus>
                <class>Amit_Customcontactus_Helper</class>
            </customcontactus>
        </helpers>
    </global>
        <frontend>
            <routers>
                <customcontactus>
                    <use>standard</use>
                    <args>
                        <module>Amit_Customcontactus</module>
                        <frontName>customcontactus</frontName>
                    </args>
                </customcontactus>
            </routers>
        </frontend>
        <global>
            <rewrite>
                <customcontactus>
                    <from><![CDATA[#^/contacts/index/#]]></from>
                    <to>/customcontactus/index/</to>
                </customcontactus>
            </rewrite>
        </global>

</config>
位于app/code/community/Amit/Customcontactus/Model/Resource的Customcontactus.php/

IndexController.php位于

我在表中添加了一列,并将表中的其他列。。。


我四天前就试过了。不行,我会给你解决方案…我在试着理解它。它应该以某种方式出现在控制面板上,对吗?既然我是新手,我们不需要提供用户名、密码和哪个数据库文件吗?就这样$dbhost='localhost:3036'$dbuser='guest'$dbpass='guest123'$conn=mysql\u connect$dbhost、$dbuser、$dbpass;我们不需要提供用户名、密码和哪个数据库文件吗?就这样$dbhost='localhost:3036'$dbuser='guest'$dbpass='guest123'$conn=mysql\u connect$dbhost、$dbuser、$dbpass;对不需要添加数据库凭据…MVC模型功能自动设置此…只需输入我的答案
<?php
class Amit_Customcontactus_Model_Customcontactus extends Mage_Core_Model_Abstract
{
    public function _construct()
    {
        $this->_init('customcontactus/customcontactus');
    }

}
<?php
class Amit_Customcontactus_Model_Resource_Customcontactus extends Mage_Core_Model_Resource_Db_Abstract
{
    /**
     * Initialize resource model
     *
     * @return void
     */
    public function _construct()
    {
        $this->_init('customcontactus/customcontactus', 'custommodule_id');
    }
}
<?php
class Amit_Customcontactus_Model_Resource_Customcontactus_Collection
extends Mage_Core_Model_Resource_Db_Collection_Abstract
{
    /**
     * Initialize collection model
     *
     * @return void
     */
    protected function _construct()
    {
        $this->_init('customcontactus/customcontactus');
    }
}
app/code/community/Amit/Customcontactus/controllers/
<?php
require_once Mage::getModuleDir('controllers', 'Mage_Contacts').DS.'IndexController.php';
class Amit_Customcontactus_IndexController extends Mage_Contacts_IndexController
{
    public function indexAction()
    {

            parent::indexAction();

    }
        public function postAction()
    {
        $post = $this->getRequest()->getPost();
        if ( $post ) {
            $translate = Mage::getSingleton('core/translate');
            /* @var $translate Mage_Core_Model_Translate */
            $translate->setTranslateInline(false);
            try {
                $postObject = new Varien_Object();
                $postObject->setData($post);

                $error = false;

                if (!Zend_Validate::is(trim($post['name']) , 'NotEmpty')) {
                    $error = true;
                }

                if (!Zend_Validate::is(trim($post['comment']) , 'NotEmpty')) {
                    $error = true;
                }

                if (!Zend_Validate::is(trim($post['email']), 'EmailAddress')) {
                    $error = true;
                }

                if (Zend_Validate::is(trim($post['hideit']), 'NotEmpty')) {
                    $error = true;
                }

                if ($error) {
                    throw new Exception();
                }
                $mailTemplate = Mage::getModel('core/email_template');
                /* @var $mailTemplate Mage_Core_Model_Email_Template */
                $mailTemplate->setDesignConfig(array('area' => 'frontend'))
                    ->setReplyTo($post['email'])
                    ->sendTransactional(
                        Mage::getStoreConfig(self::XML_PATH_EMAIL_TEMPLATE),
                        Mage::getStoreConfig(self::XML_PATH_EMAIL_SENDER),
                        Mage::getStoreConfig(self::XML_PATH_EMAIL_RECIPIENT),
                        null,
                        array('data' => $postObject)
                    );

                if (!$mailTemplate->getSentSuccess()) {
                    throw new Exception();
                }

                $translate->setTranslateInline(true);
        $model=Mage::getModel("customcontactus/customcontactus");
        $model->setData(array('date_created'=>NOW(),'name'=>$post['name'],
            'phonenumber'=>$post['phonenumber'],'callback_wish'=>'callback_wish',
            'comment'=>'comment'));
        $model->save();


                Mage::getSingleton('customer/session')->addSuccess(Mage::helper('contacts')->__('Your inquiry was submitted and will be responded to as soon as possible. Thank you for contacting us.'));
                $this->_redirect('*/*/');

                return;
            } catch (Exception $e) {
                $translate->setTranslateInline(true);

                Mage::getSingleton('customer/session')->addError(Mage::helper('contacts')->__('Unable to submit your request. Please, try again later'));
                $this->_redirect('*/*/');
                return;
            }

        } else {
            $this->_redirect('*/*/');
        }
    }

}
app/code/community/Amit/Customcontactus/sql/customcontactus_setup/
           <?php
    $installer=$this;
    $installer->startSetup();

    $installer->run("
    -- DROP TABLE IF EXISTS {$this->getTable('customcontactus')};
    CREATE TABLE {$this->getTable('customcontactus')} (
      `customcontactus_id` int(11) unsigned NOT NULL auto_increment COMMENT 'Q&A ID',
     .... put here you sql other  coloums
      PRIMARY KEY (`custommodule_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

        ");
    $installer->endSetup();
    ?>
 <?xml version="1.0"?>
    <config>
        <modules>
            <Amit_Customcontactus>
                <codePool>community</codePool>
                <active>true</active>
            </Amit_Customcontactus>
        </modules>
    </config>