Опция поиска удалена после добавления условия «Где» для представления списка suitecrm/sugarcrm?

Я хочу настроить представление списка на основе условия, поэтому я следил за этим блогом, чтобы добавить условие в представление списка.

Блог разработчиков От Sugar, где пункт для страниц просмотра списка сахара

но после этого я не получаю параметры поиска в своем пользовательском представлении списка. Может ли кто-нибудь помочь мне в этом?

Ниже приведен измененный вид списка (для этого я следил за упомянутым блогом)

<?php

require_once('include/MVC/View/views/view.list.php');
require_once('custom/modules/Contacts/ContactsListViewSmarty.php');

class ContactsViewList extends ViewList
{
/**
 * @see ViewList::preDisplay()
 */
var $where = "";
function AccountsViewList()
{
    parent::ViewList();
}


public function preDisplay(){
    require_once('modules/AOS_PDF_Templates/formLetter.php');
    formLetter::LVPopupHtml('Contacts');
    parent::preDisplay();
    if($_GET['parentTab']=='Sales'){
       $this->where .= "contacts.title ='IT Developer'";

    }elseif ($_GET['parentTab']=='Marketing') {
       $this->where .= "contacts.title ='Director Sales'";

    }
    $this->lv = new ContactsListViewSmarty();
}

 function listViewProcess()
{
$this->lv->setup($this->seed, 'include/ListView/ListViewGeneric.tpl', $this->where,   $this->params);
echo $this->lv->display();
}
}

person Abhi Adr    schedule 07.11.2014    source источник


Ответы (2)


Вы используете функцию AccountsViewList вместо ContactsViewList.

Также вам нужно будет скопировать функцию prepareSearchForm() из include/MVC/View/views/view.list.php, чтобы отобразить форму поиска.

person Mukta Chourishi    schedule 10.11.2014
comment
Да, спасибо за быстрый ответ, я попробовал это и его отображение, но после этого, если я выполню поиск с предварительным поиском, макет становится ужасным. - person Abhi Adr; 13.11.2014
comment
Это может быть связано с вашей функцией preDisplay. Проверьте, прокомментировав эту функцию. - person Mukta Chourishi; 15.11.2014
comment
я добавил эти строки после формы поиска процесса, и это сработало $this-›lv-›searchColumns = $this-›searchForm-›searchColumns; if(!$this-›headers) return; - person Abhi Adr; 15.11.2014

$this->processSearchForm();                             // for search form 
    $this->lv->searchColumns = $this->searchForm->searchColumns;
    if(!$this->headers)
        return;
    if(empty($_REQUEST['search_form_only']) || $_REQUEST['search_form_only'] == false){
        $this->lv->ss->assign("SEARCH",true);
        $this->lv->setup($this->seed, 'include/ListView/ListViewGeneric.tpl', $this->where, $this->params);                   // call the listview's file 
        $savedSearchName = empty($_REQUEST['saved_search_select_name']) ? '' : (' - ' . $_REQUEST['saved_search_select_name']);              // save the last search 
        echo $this->lv->display();              // display your search 

этот код должен быть в listViewProcess()

person Abhi Adr    schedule 08.12.2014