首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么HubSpot自动生成窗体?

为什么HubSpot自动生成窗体?
EN

Stack Overflow用户
提问于 2019-11-22 14:50:41
回答 1查看 209关注 0票数 0

我使用他们的api (https://developers.hubspot.com/docs/methods/forms/submit_form)向https://developers.hubspot.com/docs/methods/forms/submit_form提交了一份联系人表单,这非常有用,只不过每次我这么做的时候,HubSpot都会在其网站上根据市场营销->表单自动生成一个新表单,名称类似于#form_5dd7ee368739f。它说这是一个非哈勃黑子形式,并给出了这样的解释:

非哈勃形式是什么?

非哈勃表格是你网站上没有用HubSpot创建的HTML表单。根据您的设置,这些表单的数据将在HubSpot中自动收集。了解更多。

“学习更多”不是一个链接,我不能点击它。api请求的提交既记录在它每次提交表单时自动生成的新表单中,也记录在我在HubSpot中构建的用于处理该请求的表单中。这是我的代码:

代码语言:javascript
复制
<?php
// wp-config.php
define('HUBSPOT_PORTAL_ID', getenv('hubspot_portal_id'));
define('HUBSPOT_CONTACT_FORM_GUID', getenv('hubspot_contact_form_guid'));
define('HUBSPOT_CONTACT_FORM_ENDPOINT', "https://forms.hubspot.com/uploads/form/v2/".HUBSPOT_PORTAL_ID."/{form_guid}");
?>

<?php
// hubspot.php
function hubspot_form_submit($page_url, $page_name, $endpoint, $data) {
    $hs_context = array(
        'ipAddress' => $_SERVER['REMOTE_ADDR'],
        'pageUrl' => $page_url,
        'pageName' => $page_name,
    );
    if (array_key_exists('hubspotutk', $_COOKIE)) {
        $hs_context['hutk'] = $_COOKIE['hubspotutk'];
    }
    $data['hs_context'] = $hs_context;

    $data_string = "";
    foreach ($data as $key => $value) {
        if (is_string($value)) {
            $value = urlencode($value);
        }
        else if (is_array($value)) {
            $value = json_encode($value);
        }
        $data_string = $data_string.$key."=".$value."&";
    }
    $data = rtrim($data_string, "&");

    $ch = @curl_init();
    @curl_setopt($ch, CURLOPT_POST, true);
    @curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
    @curl_setopt($ch, CURLOPT_URL, $endpoint);
    @curl_setopt($ch, CURLOPT_HTTPHEADER, array(
        'Content-Type: application/x-www-form-urlencoded'
    ));
    @curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $result = @curl_exec($ch);
    if(curl_error($ch)) {
        $result = curl_error($curl);
    }
    $status_code = @curl_getinfo($ch, CURLINFO_HTTP_CODE);
    @curl_close($ch);
    return $result;
}
?>

<?php
// contact.php
require_once("inc/hubspot.php");
$hubspot_form_submission = hubspot_form_submit(
    "https://www.example.com/contact/",
    "Contact",
    str_replace("{form_guid}", HUBSPOT_CONTACT_FORM_GUID, HUBSPOT_CONTACT_FORM_ENDPOINT),
    array(
        "firstname" => $form->data["first_name"],
        "lastname" => $form->data["last_name"],
        "email" => $form->data["email"],
        "phone" => $form->data["phone"],
        "preferred_contact_method" => $form->data["contact_method"],
        "message" => $form->data["comments"],
    )
);
?>

有人知道我如何阻止HubSpot自动生成这些表单吗?否则,我的表单框将很快被数百个自动生成的表单填满,我不得不继续删除这些表单。需要注意的是:我为此目的创建的实际表单位于文件夹中,而自动生成的表单总是位于任何文件夹之外,如果这有任何区别的话。

EN

回答 1

Stack Overflow用户

发布于 2019-11-22 18:10:30

发现了问题:客户端已经启用了非HubSpot表单的设置,所以修复它所需要的就是关闭这个功能。文件如下:

https://knowledge.hubspot.com/forms/use-non-hubspot-forms

设置位于

设置->营销->窗体->非哈勃表格

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58996681

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档