首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在布局中执行ZendX自动完成

在布局中执行ZendX自动完成
EN

Stack Overflow用户
提问于 2010-10-10 10:38:38
回答 3查看 470关注 0票数 2

我想使用ZendX_Jquery自动完成中的部分,这是在我的布局。我怎么能做到这一点:我的布局:

代码语言:javascript
复制
<div class="prefix_11 grid_5" id="header_search_engine">
    <?php  echo $this->partial("/common/_search_engine.phtml");  ?>
</div>

行动:

代码语言:javascript
复制
public function autocompleteAction($search='') {
   $this->view->autocompleteElement = new ZendX_JQuery_Form_Element_AutoComplete('ac');
   $this->view->autocompleteElement->setJQueryParam('source', '/searchengine/getsearch');
   $this->view->autocompleteElement->setJQueryParam('minLength',
   $this->configApplication->autocomplete->max_cars);
}

我如何使用它的部分,在布局?

如何在部分视图中发送autocompleteElement

多谢帮忙。

法布里斯

EN

回答 3

Stack Overflow用户

发布于 2011-08-17 09:39:16

@fabrice

我在布局中使用自动完成时也遇到了同样的问题,我已经用以下方法解决了这个问题:

searchBox

  • Create使用占位符,它扩展了Zend_Controller_Plugin_Abstract

  • in预分派、执行方法、自动完成元素的renderUiWidgetElement。

  • 使用表单

设置占位符

示例:

代码语言:javascript
复制
class myLibrary_Controller_Plugin_SearchBox extends Zend_Controller_Plugin_Abstract
{
    public function preDispatch()
    {
        $this->searchBox();
    }

    public function searchBox()
    {
        $viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer');
        $viewRenderer->initView();
        $view = $viewRenderer->view;

        $searchForm = new Application_Form_JQueryForm();
        $searchForm->acProduct->renderUiWidgetElement();
        $view->placeholder('searchBox')->set($searchForm);
    }
}

关键是启动方法renderUiWidgetElement();。如果没有它,布局将不会将蜜源javascript添加到自动完成元素中。我从这里得到的信息是:http://cientouno.be/blog/categorie/zend-framework

非常感谢您的光临!

票数 2
EN

Stack Overflow用户

发布于 2010-10-11 15:25:07

谢谢,但是,我使用ActionStack在每一页上显示。我用了一张表格。

代码语言:javascript
复制
public function autocompleteAction() {
     $formAutoComplete = new Frontoffice_Form_Autocomplete();
     $this->view->autocompleteElement = $formAutoComplete;
     $this->_helper->viewRenderer->setResponseSegment('autocomplete');
}

在布局上:

代码语言:javascript
复制
<div class="prefix_10 grid_6" id="header_search_engine">
   <?php  echo $this->partial("/common/_search_engine.phtml");
   echo $this->layout()->autocomplete;
   ?>
</div>
票数 1
EN

Stack Overflow用户

发布于 2010-10-11 13:26:58

可以使用此代码在部分视图中发送autocompleteElement。

代码语言:javascript
复制
<div class="prefix_11 grid_5" id="header_search_engine">
        <?php  echo $this->partial("/common/_search_engine.phtml", array('autocompleteElement ' => $this->autocompleteElement);  ?>
</div>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3899961

复制
相关文章

相似问题

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