Sort direction in each column in Sonata Admin
In the list view, when I first click in the sort button, the default direction is ASC for all the fields. Is there any way to set the direction for each field? Something like:
$listMapper
->add('name', null, [
'sort_order' => 'ASC'
])
->add('date', null, [
'sort_order' => 'DESC'
])
symfony sorting admin sonata
add a comment |
In the list view, when I first click in the sort button, the default direction is ASC for all the fields. Is there any way to set the direction for each field? Something like:
$listMapper
->add('name', null, [
'sort_order' => 'ASC'
])
->add('date', null, [
'sort_order' => 'DESC'
])
symfony sorting admin sonata
You can only sort on one attribute at the right, right? So how would this look?
– Dirk J. Faber
Nov 19 '18 at 10:42
as far as I know: no
– OskarStark
Nov 19 '18 at 10:44
Based on Sonata Admin documentation you can provide only one field for sort. But you can rewrite your query usingconfigureQuery()
method and add all your OrderBy you want.
– GasKa
Nov 19 '18 at 10:56
@GasKa I dont want more than one field for sorting, I just want each field to have its own sort direction, so when i click the date column sort button for the first time it sorts descendant and when i click the name coolumn sort button for the first time it sort ascendant
– Adrian
Nov 19 '18 at 11:08
add a comment |
In the list view, when I first click in the sort button, the default direction is ASC for all the fields. Is there any way to set the direction for each field? Something like:
$listMapper
->add('name', null, [
'sort_order' => 'ASC'
])
->add('date', null, [
'sort_order' => 'DESC'
])
symfony sorting admin sonata
In the list view, when I first click in the sort button, the default direction is ASC for all the fields. Is there any way to set the direction for each field? Something like:
$listMapper
->add('name', null, [
'sort_order' => 'ASC'
])
->add('date', null, [
'sort_order' => 'DESC'
])
symfony sorting admin sonata
symfony sorting admin sonata
asked Nov 19 '18 at 10:36
AdrianAdrian
814
814
You can only sort on one attribute at the right, right? So how would this look?
– Dirk J. Faber
Nov 19 '18 at 10:42
as far as I know: no
– OskarStark
Nov 19 '18 at 10:44
Based on Sonata Admin documentation you can provide only one field for sort. But you can rewrite your query usingconfigureQuery()
method and add all your OrderBy you want.
– GasKa
Nov 19 '18 at 10:56
@GasKa I dont want more than one field for sorting, I just want each field to have its own sort direction, so when i click the date column sort button for the first time it sorts descendant and when i click the name coolumn sort button for the first time it sort ascendant
– Adrian
Nov 19 '18 at 11:08
add a comment |
You can only sort on one attribute at the right, right? So how would this look?
– Dirk J. Faber
Nov 19 '18 at 10:42
as far as I know: no
– OskarStark
Nov 19 '18 at 10:44
Based on Sonata Admin documentation you can provide only one field for sort. But you can rewrite your query usingconfigureQuery()
method and add all your OrderBy you want.
– GasKa
Nov 19 '18 at 10:56
@GasKa I dont want more than one field for sorting, I just want each field to have its own sort direction, so when i click the date column sort button for the first time it sorts descendant and when i click the name coolumn sort button for the first time it sort ascendant
– Adrian
Nov 19 '18 at 11:08
You can only sort on one attribute at the right, right? So how would this look?
– Dirk J. Faber
Nov 19 '18 at 10:42
You can only sort on one attribute at the right, right? So how would this look?
– Dirk J. Faber
Nov 19 '18 at 10:42
as far as I know: no
– OskarStark
Nov 19 '18 at 10:44
as far as I know: no
– OskarStark
Nov 19 '18 at 10:44
Based on Sonata Admin documentation you can provide only one field for sort. But you can rewrite your query using
configureQuery()
method and add all your OrderBy you want.– GasKa
Nov 19 '18 at 10:56
Based on Sonata Admin documentation you can provide only one field for sort. But you can rewrite your query using
configureQuery()
method and add all your OrderBy you want.– GasKa
Nov 19 '18 at 10:56
@GasKa I dont want more than one field for sorting, I just want each field to have its own sort direction, so when i click the date column sort button for the first time it sorts descendant and when i click the name coolumn sort button for the first time it sort ascendant
– Adrian
Nov 19 '18 at 11:08
@GasKa I dont want more than one field for sorting, I just want each field to have its own sort direction, so when i click the date column sort button for the first time it sorts descendant and when i click the name coolumn sort button for the first time it sort ascendant
– Adrian
Nov 19 '18 at 11:08
add a comment |
1 Answer
1
active
oldest
votes
Well, I managed to make it work although it's not very fancy. In the SonataAdminBundle/views/CRUD/base_list.html.twig template, right after the sort parameters are created
{% set sort_parameters = admin.modelmanager.sortparameters(field_description, admin.datagrid) %}
I added this code:
{% set sortFilters = sort_parameters['filter'] %}
{% set sortFilters = sortFilters|merge({'_sort_order': field_description.options._sort_order}) %}
{% set sort_parameters = sort_parameters|merge({'filter': sortFilters}) %}
now the only thing I have to do is tell the field in the Admin the sort_order, like this:
$listMapper->
->add('sent', null, [
'_sort_order' => 'DESC',
...
there is no need to put ASC, since it's the default value.
As I said before: not fancy nor I like it very much, but it works for me.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53372765%2fsort-direction-in-each-column-in-sonata-admin%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Well, I managed to make it work although it's not very fancy. In the SonataAdminBundle/views/CRUD/base_list.html.twig template, right after the sort parameters are created
{% set sort_parameters = admin.modelmanager.sortparameters(field_description, admin.datagrid) %}
I added this code:
{% set sortFilters = sort_parameters['filter'] %}
{% set sortFilters = sortFilters|merge({'_sort_order': field_description.options._sort_order}) %}
{% set sort_parameters = sort_parameters|merge({'filter': sortFilters}) %}
now the only thing I have to do is tell the field in the Admin the sort_order, like this:
$listMapper->
->add('sent', null, [
'_sort_order' => 'DESC',
...
there is no need to put ASC, since it's the default value.
As I said before: not fancy nor I like it very much, but it works for me.
add a comment |
Well, I managed to make it work although it's not very fancy. In the SonataAdminBundle/views/CRUD/base_list.html.twig template, right after the sort parameters are created
{% set sort_parameters = admin.modelmanager.sortparameters(field_description, admin.datagrid) %}
I added this code:
{% set sortFilters = sort_parameters['filter'] %}
{% set sortFilters = sortFilters|merge({'_sort_order': field_description.options._sort_order}) %}
{% set sort_parameters = sort_parameters|merge({'filter': sortFilters}) %}
now the only thing I have to do is tell the field in the Admin the sort_order, like this:
$listMapper->
->add('sent', null, [
'_sort_order' => 'DESC',
...
there is no need to put ASC, since it's the default value.
As I said before: not fancy nor I like it very much, but it works for me.
add a comment |
Well, I managed to make it work although it's not very fancy. In the SonataAdminBundle/views/CRUD/base_list.html.twig template, right after the sort parameters are created
{% set sort_parameters = admin.modelmanager.sortparameters(field_description, admin.datagrid) %}
I added this code:
{% set sortFilters = sort_parameters['filter'] %}
{% set sortFilters = sortFilters|merge({'_sort_order': field_description.options._sort_order}) %}
{% set sort_parameters = sort_parameters|merge({'filter': sortFilters}) %}
now the only thing I have to do is tell the field in the Admin the sort_order, like this:
$listMapper->
->add('sent', null, [
'_sort_order' => 'DESC',
...
there is no need to put ASC, since it's the default value.
As I said before: not fancy nor I like it very much, but it works for me.
Well, I managed to make it work although it's not very fancy. In the SonataAdminBundle/views/CRUD/base_list.html.twig template, right after the sort parameters are created
{% set sort_parameters = admin.modelmanager.sortparameters(field_description, admin.datagrid) %}
I added this code:
{% set sortFilters = sort_parameters['filter'] %}
{% set sortFilters = sortFilters|merge({'_sort_order': field_description.options._sort_order}) %}
{% set sort_parameters = sort_parameters|merge({'filter': sortFilters}) %}
now the only thing I have to do is tell the field in the Admin the sort_order, like this:
$listMapper->
->add('sent', null, [
'_sort_order' => 'DESC',
...
there is no need to put ASC, since it's the default value.
As I said before: not fancy nor I like it very much, but it works for me.
answered Nov 20 '18 at 13:55
AdrianAdrian
814
814
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53372765%2fsort-direction-in-each-column-in-sonata-admin%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
You can only sort on one attribute at the right, right? So how would this look?
– Dirk J. Faber
Nov 19 '18 at 10:42
as far as I know: no
– OskarStark
Nov 19 '18 at 10:44
Based on Sonata Admin documentation you can provide only one field for sort. But you can rewrite your query using
configureQuery()
method and add all your OrderBy you want.– GasKa
Nov 19 '18 at 10:56
@GasKa I dont want more than one field for sorting, I just want each field to have its own sort direction, so when i click the date column sort button for the first time it sorts descendant and when i click the name coolumn sort button for the first time it sort ascendant
– Adrian
Nov 19 '18 at 11:08