0

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

在第二步中,我使用以下代码放置了 Like Buttons:

    $attr = 数组 (
      '数据发送' => FALSE,
      '数据布局' => 'button_count',
      '数据宽度' => 100,
      'data-show-faces' => FALSE  
    );
    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);
    }

这在我直接访问时效果很好,但是当我尝试通过下一个按钮访问时,Like 按钮不会加载。

有什么解决办法吗?

4

1 回答 1

1

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/

于 2012-04-18T13:54:19.663 回答