Кнопка "Показать фильтр"

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО InstantCMS 2.X
#1 29 апреля 2019 в 02:44
Ребятки, помогите пожалуйста, ни как не могу разобраться, как избавится от этой кнопки "Показать фильтр" а само окно фильтра оставить?
Подскажите файл, который ковырять…

Спасибо
Прикрепленный файл
_ilbsl.png 126 Кб
#2 29 апреля 2019 в 03:12
Файл нашел: ../public_html/templates/redray/assets/ui/filter-panel.tpl.php

  1. <?php $user = cmsUser::getInstance(); ?>
  2. <?php if (!isset($is_expanded)){ $is_expanded = false; } unset($filters['user_id']); ?>
  3. <?php $form_url = is_array($page_url) ? $page_url['base'] : $page_url; $form_url_sep = strpos($form_url, '?') === false ? '?' : '&'; ?>
  4.  
  5. <div class="dataset-row" id="datasets">
  6. <button class="btn btn-primary" type="button" data-toggle="collapse" data-target="#collapseFilter" aria-expanded="false" aria-controls="collapseExample">
  7. <i class="material-icons">filter_list</i> <?php echo LANG_SHOW_FILTER; ?>
  8. </button>
  9.  
  10. <div class="collapse <?php if($is_expanded){ ?>in<?php } ?>" id="collapseFilter">
  11. <div class="card card-content">
  12. <form action="<?php echo $form_url; ?>" method="get">
  13. <?php echo html_input('hidden', 'page', 1); ?>
  14. <?php if(!empty($ext_hidden_params)){ ?>
  15. <?php foreach($ext_hidden_params as $fname => $fvalue){ ?>
  16. <?php echo html_input('hidden', $fname, $fvalue); ?>
  17. <?php if($filters){ $filters[$fname] = $fvalue; } ?>
  18. <?php } ?>
  19. <?php } ?>
  20. <div class="fields">
  21. <?php $fields_count = 0; ?>
  22. <?php foreach($fields as $name => $field){ ?>
  23. <?php if (!$field['is_in_filter']){ continue; } ?>
  24. <?php if (!empty($field['filter_view']) && !$user->isInGroups($field['filter_view'])) { continue; } ?>
  25. <?php $value = isset($filters[$name]) ? $filters[$name] : null; ?>
  26. <?php $output = $field['handler']->setItem(array('ctype_name' => $css_prefix, 'id' => null))->getFilterInput($value); ?>
  27. <?php if (!$output){ continue; } ?>
  28. <?php $fields_count++; ?>
  29. <div class="field ft_<?php echo $field['type']; ?> f_<?php echo $field['name']; ?>">
  30. <div class="title"><?php echo $field['title']; ?></div>
  31.  
  32. <?php echo $output; ?>
  33.  
  34. </div>
  35. <?php } ?>
  36. <?php if (!empty($props_fields)){ ?>
  37. <?php foreach($props as $prop){ ?>
  38. <?php
  39. if (!$prop['is_in_filter']){ continue; }
  40. $fields_count++;
  41. $field = $props_fields[$prop['id']];
  42. $field->setName("p{$prop['id']}");
  43. if ($prop['type'] == 'list' && !empty($prop['options']['is_filter_multi'])){ $field->setOption('filter_multiple', true); }
  44. if ($prop['type'] == 'number' && !empty($prop['options']['is_filter_range'])){ $field->setOption('filter_range', true); }
  45. $value = isset($filters["p{$prop['id']}"]) ? $filters["p{$prop['id']}"] : null;
  46. ?>
  47. <div class="field ft_<?php echo $prop['type']; ?> f_prop_<?php echo $prop['id']; ?>">
  48. <div class="title"><?php echo $prop['title']; ?></div>
  49.  
  50. <?php echo $field->getFilterInput($value); ?>
  51.  
  52. </div>
  53. <?php } ?>
  54. <?php } ?>
  55. </div>
  56. <?php if ($fields_count) { ?>
  57. <div class="buttons">
  58. <?php echo html_submit(LANG_FILTER_APPLY); ?>
  59. <?php if (sizeof($filters)){ ?>
  60. <div class="link">
  61. <a href="<?php echo ((is_array($page_url) && !empty($page_url['cancel'])) ? $page_url['cancel'] : $form_url); ?>">
  62. <?php echo LANG_CANCEL; ?>
  63. </a>
  64. </div>
  65. <div class="link">
  66. # <a href="<?php echo $form_url.$form_url_sep.http_build_query($filters); ?>"><?php echo LANG_FILTER_URL; ?></a>
  67. </div>
  68. <!-- uru -->
  69. <?php
  70. $hooks_html = cmsEventsManager::hookAll('content_filter_buttons_html', array($css_prefix, $form_url, $filters));
  71. if ($hooks_html) { echo html_each($hooks_html); }
  72. ?>
  73. <!-- uru -->
  74. <?php } ?>
  75. </div>
  76. <?php } ?>
  77. </form>
  78. </div>
  79. </div>
  80. </div>
  81.  
Кто знает, подскажите пожалуйста, как избавится от этой кнопки)) Метод интуитивного тыка подвел)
Точнее сказать от кнопки то я разобрался как избавится, а как теперь форму фильтра вывести?
#3 29 апреля 2019 в 05:35
Филтр показывайте виджетом на нужных страницах,
#4 29 апреля 2019 в 13:36


Филтр показывайте виджетом на нужных страницах,

Роман

Как это решит мою проблему)?
Виджет выводит просто поле поиска, без фильтров, а мне нужно конкретно создать поиск по пользователям
#5 29 апреля 2019 в 13:51

как избавится от этой кнопки "Показать фильтр"

@stich
  1.  
  2. <button class="btn btn-primary" type="button" data-toggle="collapse" data-target="#collapseFilter" aria-expanded="false" aria-controls="collapseExample">
  3. <i class="material-icons">filter_list</i> <?php echo LANG_SHOW_FILTER; ?>
  4. </button>
  5.  
#6 29 апреля 2019 в 13:54


как избавится от этой кнопки "Показать фильтр"

@stich
  1.  
  2.  
  3.  
  4.  

Дмитрий Баринов

Я извиняюсь, чуть выше писал, что, как убрать кнопку разобрался, а как теперь вывести сами поля — пока что не понял)
#7 29 апреля 2019 в 13:56

а как теперь форму фильтра вывести?

@stich
Есть подозрение, что в 10 строке Вашего кода вот это
  1. <div class="collapse <?php if($is_expanded){ ?>in<?php } ?>" id="collapseFilter">
надо заменить на это
  1. <div class="collapse in" id="collapseFilter">
#8 29 апреля 2019 в 13:59
Форма это — <form action="<?php echo $form_url; ?>" method="get">
Что бы просто оставить один поиск пользователей, необходимо остальные поля по отключать в настройках — показывать в фильтрах да/нет
#9 29 апреля 2019 в 17:30
В настройках типа контента убираете галку с Показывать фильтр, а на нужной странице (разделе и т.д.) виджетом выводите фильтр. Кнопка Показать фильтр при этом будет отсутствовать.
Для виджета создайте пользовательскую страницу, там в Фильтрация URL поставите маску где надо этот виджет выводить.
Если надо могу в личку скинуть сайт глянете как это реализовано штатными средствами, без всяких хаков
#10 29 апреля 2019 в 17:32


В настройках типа контента убираете галку с Показывать фильтр, а на нужной странице (разделе и т.д.) виджетом выводите фильтр. Кнопка Показать фильтр при этом будет отсутствовать.
Для виджета создайте пользовательскую страницу, там в Фильтрация URL поставите маску где надо этот виджет выводить.
Если надо могу в личку скинуть сайт глянете как это реализовано штатными средствами, без всяких хаков

Роман

Скиньте пожалуйста, до клипа доберусь, гляну.
#11 29 апреля 2019 в 18:37
Всем спасибо за участие!
Вариант который предложил Товарищ — чебурек дохлэй мыш — подошол идеально!!!
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.