2013-11-11 1 views
1

Я искал и не могу найти решение. Я бегу 6.5.15 CE на стеке лампы, я создал 2 пользовательских модуля в модульном построителе и отредактировал их в студии. Клиенты и заказы, модуль заказов отображается в качестве дополнительной панели для модуля клиентов. У меня есть глобальный поиск, который работает отлично с модулем клиентов, но не с модулем заказов. Сначала я попробовал пример, который указывает на создание следующей страницы /custom/Extension/modules/cb_orders/ext/Vardefs/customGlobalSearchFields.php, которая не работает, поэтому я добавил имена модулей и полей в пользовательские/modules/cb_orders/EXT/Vardefs/vardefs.phpВключение глобального поиска на пользовательский модуль с sugarCRM 6.5+

<?php 
// define custom fields to be included in the search algorithm! 
$dictionary['cb_orders']['unified_search'] = true; 
$dictionary['cb_orders']['unified_search_default_enabled'] = true; 
// order number 
$dictionary['cb_orders']['fields']['cb_order_number']['rname'] = 'cb_order_number'; 
$dictionary['cb_orders']['fields']['cb_order_number']['vname'] = 'LBL_CB_ORDER_NUMBER'; 
$dictionary['cb_orders']['fields']['cb_order_number']['type'] = 'TextField'; 
$dictionary['cb_orders']['fields']['cb_order_number']['dbType'] = 'varchar'; 
$dictionary['cb_orders']['fields']['cb_order_number']['table'] = 'cb_orders'; 
$dictionary['cb_orders']['fields']['cb_order_number']['unified_search_default_enabled'] = true; 
//$dictionary['cb_orders']['unified_search'] = true; 
// tracking number 
$dictionary['cb_orders']['fields']['cb_shipping_tracking_number']['rname'] = 'cb_shipping_tracking_number'; 
$dictionary['cb_orders']['fields']['cb_shipping_tracking_number']['vname'] = 'LBL_CB_SHIPPING_TRACKING_NUMBER'; 
$dictionary['cb_orders']['fields']['cb_shipping_tracking_number']['type'] = 'TextField'; 
$dictionary['cb_orders']['fields']['cb_shipping_tracking_number']['dbType'] = 'varchar'; 
$dictionary['cb_orders']['fields']['cb_shipping_tracking_number']['table'] = 'cb_orders'; 
$dictionary['cb_orders']['fields']['cb_shipping_tracking_number']['unified_search_default_enabled'] = true; 
//$dictionary['cb_orders']['unified_search'] = true; 
// order description 
$dictionary['cb_orders']['fields']['order_description']['rname'] = 'order_description'; 
$dictionary['cb_orders']['fields']['order_description']['vname'] = 'LBL_ORDER_DESCRIPTION'; 
$dictionary['cb_orders']['fields']['order_description']['type'] = 'TextField'; 
$dictionary['cb_orders']['fields']['order_description']['dbType'] = 'varchar'; 
$dictionary['cb_orders']['fields']['order_description']['table'] = 'cb_orders'; 
$dictionary['cb_orders']['fields']['order_description']['unified_search_default_enabled'] = true; 
//$dictionary['cb_orders']['unified_search'] = true; 
// shipping company used 
$dictionary['cb_orders']['fields']['cb_orders_shipping_company']['rname'] = 'cb_orders_shipping_company'; 
$dictionary['cb_orders']['fields']['cb_orders_shipping_company']['vname'] = 'LBL_CB_ORDERS_SHIPPING_COMPANY'; 
$dictionary['cb_orders']['fields']['cb_orders_shipping_company']['type'] = 'TextField'; 
$dictionary['cb_orders']['fields']['cb_orders_shipping_company']['dbType'] = 'varchar'; 
$dictionary['cb_orders']['fields']['cb_orders_shipping_company']['table'] = 'cb_orders'; 
$dictionary['cb_orders']['fields']['cb_orders_shipping_company']['unified_search_default_enabled'] = true; 
//$dictionary['cb_orders']['unified_search'] = true; 
// which cart the order came from 
$dictionary['cb_orders']['fields']['cb_referrer_c']['rname'] = 'cb_referrer_c'; 
$dictionary['cb_orders']['fields']['cb_referrer_c']['vname'] = 'LBL_CB_REFERRER'; 
$dictionary['cb_orders']['fields']['cb_referrer_c']['type'] = 'TextField'; 
$dictionary['cb_orders']['fields']['cb_referrer_c']['dbType'] = 'varchar'; 
$dictionary['cb_orders']['fields']['cb_referrer_c']['table'] = 'cb_orders'; 
$dictionary['cb_orders']['fields']['cb_referrer_c']['unified_search_default_enabled'] = true; 
//$dictionary['cb_orders']['unified_search'] = true; 
// date and time ordered 
$dictionary['cb_orders']['fields']['date_time_ordered_c']['rname'] = 'date_time_ordered_c'; 
$dictionary['cb_orders']['fields']['date_time_ordered_c']['vname'] = 'LBL_DATE_TIME_ORDERED'; 
$dictionary['cb_orders']['fields']['date_time_ordered_c']['type'] = 'TextField'; 
$dictionary['cb_orders']['fields']['date_time_ordered_c']['dbType'] = 'varchar'; 
$dictionary['cb_orders']['fields']['date_time_ordered_c']['table'] = 'cb_orders_cstm'; 
$dictionary['cb_orders']['fields']['date_time_ordered_c']['unified_search_default_enabled'] = true; 
//$dictionary['cb_orders']['unified_search'] = true; 
// last four of social 
$dictionary['cb_orders']['fields']['cb_lastfour_c']['rname'] = 'cb_lastfour_c'; 
$dictionary['cb_orders']['fields']['cb_lastfour_c']['vname'] = 'LBL_CB_LASTFOUR'; 
$dictionary['cb_orders']['fields']['cb_lastfour_c']['type'] = 'TextField'; 
$dictionary['cb_orders']['fields']['cb_lastfour_c']['dbType'] = 'varchar'; 
$dictionary['cb_orders']['fields']['cb_lastfour_c']['table'] = 'cb_orders_cstm'; 
$dictionary['cb_orders']['fields']['cb_lastfour_c']['unified_search_default_enabled'] = true; 
//$dictionary['cb_orders']['unified_search'] = true; 

файл и пользовательские/модули/cb_orders/метаданные/searchfields.php, как показано в примерах на сахарном форуме.

$searchFields['cb_orders']['cb_order_number'] = array('query_type' => 'default'); 
$searchFields['cb_orders']['cb_shipping_tracking_number'] = array('query_type' => 'default'); 
$searchFields['cb_orders']['order_description'] = array('query_type' => 'default'); 
$searchFields['cb_orders']['cb_orders_shipping_company'] = array('query_type' => 'default'); 
$searchFields['cb_orders']['cb_referrer_c'] = array('query_type' => 'default'); 
$searchFields['cb_orders']['date_time_ordered_c'] = array('query_type' => 'default'); 

После восстановления я все еще не могу найти этот модуль.

Может ли это быть вызвано из-за отношений друг к другу (от одного клиента до многих заказов)?

ответ

2

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

custom/modules/cb_orders/metadata/searchfields.php 

, когда он должен быть

custom/modules/cb_orders/metadata/SearchFields.php 

(капитал S и Р в SearchFields.php)

Что касается первого пути

custom/Extension/modules/cb_orders/ext/Vardefs/customGlobalSearchFields.php 

вы можете использовать любое имя файла, он не должен быть vardefs.php Проверьте файл

custom/modules/cb_orders/Ext/Vardefs/vardefs.ext.php 

подтвердить дополнения были захвачены в ремонте и перестроение, независимо от названия файла.

Вы когда-нибудь получали эту работу без необходимости также делать admin -> Global Search -> Drag&Drop?

+0

Благодарим за помощь. Я сейчас нахожусь в центре другого проекта, поэтому сейчас я не могу разобраться в этом, но я заметил, что «капитал S и F в SearchFields.php» был опечаткой моего вопроса. Однако, глядя на файл vardefs.ext, я заметил, что запись словаря '' source '' говорит не-db. это не имеет смысла для меня. разве это не должно быть db или что-то в этом роде, так как я хочу, чтобы он смотрел в db? –

1

Мне пришлось дополнительно удалить /cache/modules/unified_search_modules.php, чтобы он работал. После его удаления он будет снова сгенерирован после поиска.

Смежные вопросы