This should help...
This is the view.list.php that I use to override the default ListViewGeneric.tpl file:
Code:
<?php
if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
require_once('include/MVC/View/views/view.list.php');
class OpportunitiesViewList extends ViewList {
function OpportunitiesViewList(){
parent::ViewList();
}
function listViewProcess(){
$this->processSearchForm();
$this->lv->searchColumns = $this->searchForm->searchColumns;
if(empty($_REQUEST['search_form_only']) || $_REQUEST['search_form_only'] == false)
{
$this->lv->setup($this->seed, 'custom/modules/YOURMODULE/tpls/ListViewGeneric.tpl', $this->where, $this->params);
$savedSearchName = empty($_REQUEST['saved_search_select_name']) ? '' : (' - ' . $_REQUEST['saved_search_select_name']);
echo get_form_header($GLOBALS['mod_strings']['LBL_LIST_FORM_TITLE'] . $savedSearchName, '', false);
echo $this->lv->display();
}
}
}
?> Notice the reference to the ListViewGeneric.tpl file in the above. That's what tells it where to find the one I want to use. In reality, you can store it wherever you like, so long as the web server has access to it.
That file is just a copy of the one found in include/ListView, with a minor modification to color the background red whenever a field contains "MYVALUE". This is that code:
Code:
{if $overlib}
<script type='text/javascript' src='{sugar_getjspath file='include/javascript/sugar_grp_overlib.js'}'></script>
<div id='overDiv' style='position:absolute; visibility:hidden; z-index:1000;'></div>
{/if}
{if $prerow}
{$multiSelectData}
{/if}
<table cellpadding='0' cellspacing='0' width='100%' border='0' class='listview'>
{include file='include/ListView/ListViewPagination.tpl}
<tr height='20'>
{if $prerow}
<td scope='col' class='listViewThS1' nowrap width='1%'>
<input type='checkbox' class='checkbox' name='massall' value='' onclick='sListView.check_all(document.MassUpdate, "mass[]", this.checked);' />
</td>
{/if}
{counter start=0 name="colCounter" print=false assign="colCounter"}
{foreach from=$displayColumns key=colHeader item=params}
<td scope='col' width='{$params.width}%' class='listViewThS1' nowrap>
<div style='white-space: nowrap;'width='100%' align='{$params.align|default:'left'}'>
{if $params.sortable|default:true}
<a href='javascript:sListView.order_checks("{$pageData.ordering.sortOrder|default:ASCerror}", "{$params.orderBy|default:$colHeader|lower}" , "{$pageData.bean.moduleDir}{"2_"}{$pageData.bean.objectName|upper}{"_ORDER_BY"}")' class='listViewThLinkS1'>
{sugar_translate label=$params.label module=$pageData.bean.moduleDir}
{if $params.orderBy|default:$colHeader|lower == $pageData.ordering.orderBy}
{if $pageData.ordering.sortOrder == 'ASC'}
<img border='0' src='{$imagePath}arrow_down.{$arrowExt}' width='{$arrowWidth}' height='{$arrowHeight}' align='absmiddle' alt='{$arrowAlt}'>
{else}
<img border='0' src='{$imagePath}arrow_up.{$arrowExt}' width='{$arrowWidth}' height='{$arrowHeight}' align='absmiddle' alt='{$arrowAlt}'>
{/if}
{else}
<img border='0' src='{$imagePath}arrow.{$arrowExt}' width='{$arrowWidth}' height='{$arrowHeight}' align='absmiddle' alt='{$arrowAlt}'>
{/if}
</a>
{else}
{sugar_translate label=$params.label module=$pageData.bean.moduleDir}
{/if}
</div>
</td>
{counter name="colCounter"}
{/foreach}
{if !empty($quickViewLinks)}
<td scope='col' class='listViewThS1' nowrap width='1%'> </td>
{/if}
</tr>
{counter start=$pageData.offsets.current print=false assign="offset" name="offset"}
{foreach name=rowIteration from=$data key=id item=rowData}
{counter name="offset" print=false}
{if $smarty.foreach.rowIteration.iteration is odd}
{assign var='_bgColor' value=$bgColor[0]}
{assign var='_rowColor' value=$rowColor[0]}
{else}
{assign var='_bgColor' value=$bgColor[1]}
{assign var='_rowColor' value=$rowColor[1]}
{/if}
<tr height='20' onmouseover="setPointer(this, '{$id}', 'over', '{$_bgColor}', '{$bgHilite}', '');" onmouseout="setPointer(this, '{$rowData.ID}', 'out', '{$_bgColor}', '{$bgHilite}', '');" onmousedown="setPointer(this, '{$id}', 'click', '{$_bgColor}', '{$bgHilite}', '');">
{if $prerow}
<td width='1%' class='{$_rowColor}S1' bgcolor='{$_bgColor}' nowrap>
<input onclick='sListView.check_item(this, document.MassUpdate)' type='checkbox' class='checkbox' name='mass[]' value='{$rowData.ID}'>
{$pageData.additionalDetails.$id}
</td>
{/if}
{counter start=0 name="colCounter" print=false assign="colCounter"}
{foreach from=$displayColumns key=col item=params}
<td scope='row' align='{$params.align|default:'left'}' valign=top class='{$_rowColor}S1' bgcolor='{$_bgColor}'>
{if $params.link && !$params.customCode}
<{$pageData.tag.$id[$params.ACLTag]|default:$pageData.tag.$id.MAIN} href="#" onMouseOver="javascript:lvg_nav('{if $params.dynamic_module}{$rowData[$params.dynamic_module]}{else}{$params.module|default:$pageData.bean.moduleDir}{/if}', '{$rowData[$params.id]|default:$rowData.ID}', 'd', {$offset}, this)" onFocus="javascript:lvg_nav('{if $params.dynamic_module}{$rowData[$params.dynamic_module]}{else}{$params.module|default:$pageData.bean.moduleDir}{/if}', '{$rowData[$params.id]|default:$rowData.ID}', 'd', {$offset}, this)" class='listViewTdLinkS1'>{$rowData.$col}</{$pageData.tag.$id[$params.ACLTag]|default:$pageData.tag.$id.MAIN}>
{elseif $params.customCode}
{sugar_evalcolumn_old var=$params.customCode rowData=$rowData}
{elseif $params.currency_format}
{sugar_currency_format
var=$rowData.$col
round=$params.currency_format.round
decimals=$params.currency_format.decimals
symbol=$params.currency_format.symbol
convert=$params.currency_format.convert
currency_symbol=$params.currency_format.currency_symbol
}
{elseif $params.type == 'bool'}
<input type='checkbox' disabled=disabled class='checkbox'
{if !empty($rowData[$col])}
checked=checked
{/if}
/>
{elseif $params.type == 'multienum'}
{if !empty($rowData.$col)}
{counter name="oCount" assign="oCount" start=0}
{assign var="vals" value='^,^'|explode:$rowData.$col}
{foreach from=$vals item=item}
{counter name="oCount"}
{sugar_translate label=$params.options select=$item}{if $oCount != count($vals)},{/if}
{/foreach}
{/if}
{else}
{if $rowData.$col == 'MYVALUE'}
<span style='background-color: red;'>{$rowData.$col}</span>
{else}
{$rowData.$col}
{/if}
{/if}
</td>
{counter name="colCounter"}
{/foreach}
{if !empty($quickViewLinks)}
<td width='1%' class='{$_rowColor}S1' bgcolor='{$_bgColor}' nowrap>
{if $pageData.access.edit}
<a title='{$editLinkString}' href="#" onMouseOver="javascript:lvg_nav('{if $params.dynamic_module}{$rowData[$params.dynamic_module]}{else}{$pageData.bean.moduleDir}{/if}', '{$rowData.ID}', 'e', {$offset}, this)" onFocus="javascript:lvg_nav('{if $params.dynamic_module}{$rowData[$params.dynamic_module]}{else}{$pageData.bean.moduleDir}{/if}', '{$rowData.ID}', 'e', {$offset}, this)">
<img border=0 src='{sugar_getimagepath file='edit_inline.gif'}'>
</a>
{/if}
</td>
</tr>
{/if}
<tr><td colspan='20' class='listViewHRS1'></td></tr>
{/foreach}
{include file='include/ListView/ListViewPagination.tpl}
</table>
{if $contextMenus}
<script>
{$contextMenuScript}
{literal}function lvg_nav(m,id,act,offset,t){if(t.href.search(/#/) < 0){return;}else{if(act=='d'){ act='DetailView';}else{ act='EditView';}{/literal}url = 'index.php?module='+m+'&offset=' + offset + '&stamp={$pageData.stamp}&return_module='+m+'&action='+act+'&record='+id;t.href=url;{literal}}}{/literal}
{literal}function lvg_dtails(id){{/literal}return SUGAR.util.getAdditionalDetails( '{$params.module|default:$pageData.bean.moduleDir}',id, 'adspan_'+id);{literal}}{/literal}
</script>
{/if}
Bookmarks