Zau4man

Zau4man

+1110
Репутация
19741
Рейтинг
#1 Фильтр контента не работает с главной страницы 18 мая 2016 в 21:16
Я так понимаю проблема в \system\controllers\content\actions\category_view.php
Где-то в районе определения frontpage или нет. Там происходит сбой в сравнении и идет редирект на главную.

Так как, если вручную подставить параметры в url сайт/?title=котенок&price%5Bfrom%5D=&price%5Bto%5D=&date_pub%5Bfrom%5D=&date_pub%5Bto%5D= то фильтр работает.

Помогите разобраться.

В настройках сайта указать выводить объявления на главной. Затем воспользоваться фильтром на главной странице — в 2.5.1 получим просто рефреш страницы. В 2.4.0 фильтр работал и на главной.
#2 Фильтр контента не работает с главной страницы 18 мая 2016 в 08:59
Угу. в 2.4.0 точно работало. Сейчас страница обновляется и все...
Поломали либо в 2.5.0 либо в 2.5.1. Вечером буду ковыряться.

Уточню: при закреплении типа контента на главной в нем не работает фильтр не только в виджете, но и над контентом… Стоит перейти по датасету, и там уже все ок.
#3 Автоудаление не активных пользователей 17 мая 2016 в 19:47

Я Вас правильно понимаю, настройки находятся здесь, Компоненты: Профили пользователей? У меня нет настройки.

MaKo
такая настройка была в первой ветке. Во второй ее нет.
#4 Вопрос к создателям шаблонов, про дополнение позволяющее подключать отдельный шаблон для разных устройтв. 13 мая 2016 в 19:45
Тоже посижу послушаю.
Я пока из новых фич воспользовался раздельными шаблонами для сайта и админки и выкинул из своего шаблона админские части.
#5 Письма администратору при добавлении новости,поста 11 мая 2016 в 14:09

Так же интересует возможность сделать отправку письма при регистрации пользователя.

MaKo
instantcms.ru/addons/aboutnewuser.html
#6 Пользовательская экспертиза компонента Translate 10 мая 2016 в 20:46

втиснув подобный функционал в коробку с двойкой

Loadырь
я против. Или должна быть кнопочка, отключающая доработку одним кликом. Админка итак сейчас сложно-объясняемая. Дополнительные поля, даже если их не нужно заполнять, не нужны.

А почему не делаете платную версию, я понимаю. Спрос будет небольшой.
#7 Как сделать так что бы пользователь который добавил данные, только он мог изменять эти данные? 5 мая 2016 в 12:49
А бакенд? Тут же все расписано youtu.be/MmjvTlL59R8?t=1329 (если что, ссылку скопируйте, она с таймстапом)
и 100% информация актуальная, рабочая.
#8 Что отдать в метод parse чтобы поле не выводилось 5 мая 2016 в 12:43

Работает вариант с правкой шаблона:

Val
я так и поступил еще вчера утром. Хотел найти более изящное решение. Но тоже, пройдя по пути от поля шаблона, понял что никак...
Придумать бы что-то для решения этой задачи и закоммитить, но ума не приложу, что бы это могло быть.
#9 Что отдать в метод parse чтобы поле не выводилось 4 мая 2016 в 20:58
Val, а попробовать?)

Добавляем в тип поля

  1. public function parseTeaser($value){
  2. if($value == '-1') return FALSE;
  3. }
И получаем знакомую картину

#10 Что отдать в метод parse чтобы поле не выводилось 4 мая 2016 в 18:07
Val, а попробовать?)
В любом типе поля пропишите
  1. public function parse($value){
  2. return false;
  3. }
и все увидите.
Например, в поле number. И в списке объявлений увидите, что значение в списке пропало



но название поля выводится. При просмотре записи ничего не выводится.

т.е. город выбирается и он не равен false, поэтому и выводится в списке.

Val

Пусть так. Скажите, как, имея не NULL в значении поля, запретить его вывод? Что нужно прописать в parse. Я не знаю как еще подробнее объяснить...

Имеем поле типа select. В нем

  1. <select name="city" id="city">
  2. <option value="-1">-- выберите город --</option>
  3. <option value="1">Москва</option>
  4. <option value="2" selected="">Санкт-Петербург</option>
  5. <option value="3">Екатеринбург</option>
  6. </select>
Пользователь не выбирает город и оставляет
  1. <option value="-1">-- выберите город --</option>
. Как не показывать поле в таком случае?
Возврат false в методе parse работает некорректно. Ну или неправильно интерпретируется шаблоном, а именно списком материалов default_list.tpl.php и название поля все равно выводится, хотя и без значения.

До 2.5.0 работало
  1. <option value="0">-- выберите город --</option>
, теперь нет, так как появилась проверка на нулевое значение и оно теперь выводится.
#11 Что отдать в метод parse чтобы поле не выводилось 4 мая 2016 в 12:23
Val, не совсем понял, что нужно. Сделал в типе поля пустой вариант с option = -1.
В parse прописал

  1. public function parse($value){
  2. if($value == -1) return FALSE;
  3. }
Затем в шаблоне вывода списка

  1. <?php
  2. if($field['name'] == 'city'){
  3. var_dump($field);
  4. }?>
  1. array(24) {
  2. ["id"]=>
  3. string(1) "9"
  4. ["ctype_id"]=>
  5. string(2) "10"
  6. ["name"]=>
  7. string(4) "city"
  8. ["title"]=>
  9. string(10) "Город"
  10. ["hint"]=>
  11. NULL
  12. ["ordering"]=>
  13. string(1) "7"
  14. ["fieldset"]=>
  15. NULL
  16. ["type"]=>
  17. string(5) "cityf"
  18. ["is_in_list"]=>
  19. string(1) "1"
  20. ["is_in_item"]=>
  21. string(1) "1"
  22. ["is_in_filter"]=>
  23. string(1) "1"
  24. ["is_private"]=>
  25. NULL
  26. ["is_fixed"]=>
  27. NULL
  28. ["is_fixed_type"]=>
  29. NULL
  30. ["is_system"]=>
  31. NULL
  32. ["values"]=>
  33. NULL
  34. ["options"]=>
  35. array(10) {
  36. ["is_required"]=>
  37. NULL
  38. ["is_digits"]=>
  39. NULL
  40. ["is_number"]=>
  41. int(0)
  42. ["is_alphanumeric"]=>
  43. NULL
  44. ["is_email"]=>
  45. NULL
  46. ["is_unique"]=>
  47. NULL
  48. ["label_pos"]=>
  49. string(4) "left"
  50. ["label_in_list"]=>
  51. string(4) "left"
  52. ["label_in_item"]=>
  53. string(4) "left"
  54. ["profile_value"]=>
  55. string(0) ""
  56. }
  57. ["groups_read"]=>
  58. array(1) {
  59. [0]=>
  60. int(0)
  61. }
  62. ["groups_edit"]=>
  63. array(1) {
  64. [0]=>
  65. int(0)
  66. }
  67. ["filter_view"]=>
  68. array(1) {
  69. [0]=>
  70. int(0)
  71. }
  72. ["default"]=>
  73. NULL
  74. ["rules"]=>
  75. array(0) {
  76. }
  77. ["handler_title"]=>
  78. string(27) "Фильтр городов"
  79. ["handler"]=>
  80. object(fieldCityf)#22 (38) {
  81. ["title"]=>
  82. string(10) "Город"
  83. ["sql"]=>
  84. string(29) "varchar(30) NULL DEFAULT NULL"
  85. ["filter_type"]=>
  86. string(3) "int"
  87. ["filter_hint"]=>
  88. string(27) "Номер варианта"
  89. ["var_type"]=>
  90. string(6) "string"
  91. ["name"]=>
  92. string(4) "city"
  93. ["element_name"]=>
  94. string(4) "city"
  95. ["element_title"]=>
  96. string(10) "Город"
  97. ["is_public"]=>
  98. bool(true)
  99. ["cache_sql"]=>
  100. NULL
  101. ["allow_index"]=>
  102. bool(true)
  103. ["is_denormalization"]=>
  104. bool(false)
  105. ["item"]=>
  106. array(35) {
  107. ["id"]=>
  108. string(1) "9"
  109. ["title"]=>
  110. string(77) "Россияне стали первыми на Чемпионате Мира"
  111. ["content"]=>
  112. string(842) "
  113. Ударение, соприкоснувшись в чем-то со своим главным антагонистом в постструктурной поэтике, диссонирует коммунальный модернизм, туда же попадает и еще недавно вызывавший безусловную симпатию гетевский Вертер. Скрытый смысл вызывает глубокий контрапункт, но не рифмами. Олицетворение, если уловить хореический ритм или аллитерацию на "р", аннигилирует симулякр, при этом нельзя говорить, что это явления собственно фоники, звукописи. Матрица параллельна.
  114.  
  115. "
  116. ["slug"]=>
  117. string(45) "9-rossijane-stali-pervymi-na-chempionate-mira"
  118. ["seo_keys"]=>
  119. string(202) "ударение, попадает, модернизм, вызывавший, безусловную, вертер, гетевский, симпатию, коммунальный, диссонирует"
  120. ["seo_desc"]=>
  121. string(386) "Ударение, соприкоснувшись в чем-то со своим главным антагонистом в постструктурной поэтике, диссонирует коммунальный модернизм, туда же попадает и еще недавно вызывавший безусловную симпатию гетевский Вертер"
  122. ["seo_title"]=>
  123. NULL
  124. ["tags"]=>
  125. string(1) "0"
  126. ["date_pub"]=>
  127. string(19) "2016-05-01 20:48:44"
  128. ["date_last_modified"]=>
  129. string(19) "2016-05-04 09:09:12"
  130. ["date_pub_end"]=>
  131. NULL
  132. ["is_pub"]=>
  133. string(1) "1"
  134. ["hits_count"]=>
  135. string(1) "0"
  136. ["user_id"]=>
  137. string(1) "1"
  138. ["parent_id"]=>
  139. NULL
  140. ["parent_type"]=>
  141. NULL
  142. ["parent_title"]=>
  143. NULL
  144. ["parent_url"]=>
  145. NULL
  146. ["is_parent_hidden"]=>
  147. NULL
  148. ["category_id"]=>
  149. string(1) "7"
  150. ["folder_id"]=>
  151. NULL
  152. ["is_comments_on"]=>
  153. string(1) "1"
  154. ["comments"]=>
  155. string(1) "0"
  156. ["rating"]=>
  157. string(1) "0"
  158. ["is_approved"]=>
  159. string(1) "1"
  160. ["approved_by"]=>
  161. NULL
  162. ["date_approved"]=>
  163. string(19) "2016-05-03 21:33:22"
  164. ["is_private"]=>
  165. string(1) "0"
  166. ["teaser"]=>
  167. string(81) "Наша команда не оставила шансов конкурентам"
  168. ["city"]=>
  169. string(1) "2"
  170. ["user_nickname"]=>
  171. string(5) "admin"
  172. ["folder_title"]=>
  173. NULL
  174. ["user"]=>
  175. array(3) {
  176. ["id"]=>
  177. string
#12 Что отдать в метод parse чтобы поле не выводилось 4 мая 2016 в 09:22
Val, смотрите. Берем любой тип поля. И правим или добавляем в него такой метод parse

  1. public function parse($value){
  2. return false;
  3. }
Получаем: в записи все ок. В списке как выше

Иллюстрация


Следующие значения воспринимаются как пустые:
"" (пустая строка)
0 (целое число)
0.0 (дробное число)
"0" (строка)
NULL
FALSE
array() (пустой массив)
$var; (переменная объявлена, но не имеет значения)

В примере как раз false
Никак не могу понять. Что же такое сделать, чтобы при выводе поля при определенном значении $value (0, -1) не вывести это поле. Логика мне подсказывает отдать false, но не работает в списке :(
#13 Что отдать в метод parse чтобы поле не выводилось 4 мая 2016 в 00:11
Evanescence, это я знаю. Задача стоит решить вопрос именно полем. Т.е. выбрал юзер вариант "нет в списке", значит и не выводим ничего.
Расписал немного подробнее исходные данные задачи.
#1 Что отдать в метод parse чтобы поле не выводилось 3 мая 2016 в 23:51
Инстант 2.5.1. Стоит задача, при сохранении определенного значения поля пользователем не выводить поле при просмотре.
В моем случае это список, одно из значений которого — пустое.
До 2.5.0 сохранял ноль и все было ок.

В 2.5.1 в шаблоне ввели проверку на ноль (чтобы можно было выводить нулевые значения)

  1. <?php if ((empty($item[$field['name']]) || empty($field['html'])) && $item[$field['name']] !== '0') { continue; } ?>
и теперь финт с нулем в поле не работает. Как быть? Попытка в методе parse() вернуть false приводит к такому



Т.е. заголовок поля выводится все равно.

Что отдать в метод parse типа поля, чтобы поле совсем не выводилось?
#14 [ЕСТЬ РЕШЕНИЕ] Где таблица cms_widgets 1 мая 2016 в 22:12
Есть. Во всех версиях 2ки.



Может удалили случайно? Или ваша версия phpmyadmin делит список таблиц на страницы. Поищите таблицу на 2й странице в самом конце.
🍪Мы используем файлы cookie для работы сайта. Читать подробнее.