Atk4 分步表单无法加载 Facebook 喜欢的按钮



我有一个带有站点列表的数组,我正在使用 http://codepad.agiletoolkit.org/newsletter 示例编写分步表单。

在第二步中,我使用以下代码放置"喜欢按钮":

   $attr = 数组 (      "数据发送" => 假,      "数据布局" => "button_count",      "数据宽度" => 100,      "数据显示面孔" => 假     );    foreach($this->sites as $k => $site) {      $div = $form->add('View_HtmlElement')->setElement('div')->set(NULL);       $attr['data-href'] = $site;       $div->addClass('fb-like');      $div->setAttr($attr);    }

当我直接访问时,这很有效,但是当我尝试通过下一步按钮访问时,"喜欢"按钮不会加载。

有什么解决方案吗?

facebook 和其他一些按钮可能无法与 AJAX 页面一起使用的原因是,Facebook 脚本通常只在页面初始加载期间处理您的 HTML。当示例中的窗体转到下一步时,它将使用 AJAX 加载其他窗体。因此,您需要手动触发Facebook的脚本以重新浏览您的页面或执行重定向而不是重新加载。您需要更改:

$this->js()->atk4_load($this->api->getDestinationURL('./step2'))
    ->execute();

$this->js()->univ()->location($this->api->getDestinationURL('./step2'))
    ->execute();

您可能还会发现本文很有用:http://agiletoolkit.org/blog/adding-twitter-button-to-ajax-page/

最新更新