This topic contains 1 reply, has 2 voices, and was last updated by Alexandr Smaga 9 years, 6 months ago.
- Topic
Hello,
I am getting error on rendering twig file. I have to pass request parameter to the grid.
I have created 3 files services.yml, datagrid.yml and my template.
services.yml
webmuch-search.event_listener.webmuch-search-grid_parameter_listener:
class: Webmuch\GroupBundle\EventListener\ParameterListener;
arguments:
– locationtags:
– { name: kernel.event_listener, event: oro_datagrid.datagrid.build.after.webmuch-search-grid, method: onBuildAfter }advancesearchprocess.html
{% extends ‘OroUIBundle:actions:index.html.twig’ %}
{% import ‘OroUIBundle::macros.html.twig’ as UI %}
{% import ‘OroDataGridBundle::macros.html.twig’ as dataGrid %}
{% set gridName = ‘webmuch-search-grid’ %}
{% set params = {location: loc} %}datagrid.yml
webmuch-search-grid:
source:
type: orm
query:
select:
– j.name
– l.amountOfLoan
– j.state
– l.loanStatusfrom:
– { table: GroupBundle:MemberDetails, alias: j }
join:
left:
– { join: j.loan, alias: l}
where:
and:
– j.city = :locationcolumns:
name:
label: Name
amountOfLoan:
label: Principal
state:
label: State
loanStatus:
label: Status
date:
label: date
frontend_type: datetimesorters:
columns:
name: { data_name: j.name }
amountOfLoan: { data_name: l.amountOfLoan }
state: { data_name: j.state}
loanStatus: { data_name: l.loanStatus}filters:
columns:
name:
type: string
data_name: j.name
amountOfLoan:
type: number
data_name: l.amountOfLoan
state:
type: string
data_name: j.state
loanStatus:
type: string
data_name: l.loanStatusoptions:
entityHint: Member Details
export:
csv: { label: oro.grid.export.csv }My Custom EventListener Looks like
class ParameterListener
{
protected $parameterName;
protected $requestParameterName;public function __construct($parameterName, $requestParameterName = null)
{
$this->parameterName = $parameterName;
$this->requestParameterName = $requestParameterName ? $requestParameterName : $this->parameterName;
}public function onBuildAfter(BuildAfter $event)
{
$datagrid = $event->getDatagrid();
$datasource = $datagrid->getDatasource();
$parameters = $datagrid->getParameters();if ($datasource instanceof OrmDatasource) {
/** @var QueryBuilder $query */
$queryBuilder = $datasource->getQueryBuilder();$queryBuilder->setParameter($this->parameterName, $parameters->get($this->requestParameterName));
}
}
}But I’ve this error :
An exception has been thrown during the rendering of a template (“Invalid parameter number: number of bound variables does not match number of tokens”) in OroUIBundle:actions:index.html.twig at line 28.
The forum ‘OroPlatform’ is closed to new topics and replies.