Поле профиля "местоположение" автоссылкой

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО InstantCMS 2.X
#1 10 октября 2020 в 23:49
Всем привет.
Задача: сделать поле "местоположение" в профиле автоссылкой
Возможно, пропустил и оно где-то есть, в таком случае ткните в верном направлении. Если же нет, может кто-нибудь уже делал?
#2 11 октября 2020 в 14:59

Задача: сделать поле "местоположение" в профиле автоссылкой

Василич
местоположение == url страници где находится пользователь?
#3 11 октября 2020 в 15:03


Задача: сделать поле "местоположение" в профиле автоссылкой

Василич
местоположение == url страници где находится пользователь?

Tolya

Нет, это геолокация, например где он живёт и вот это вот всё.
Например пользователь выбрал город проживания "Москва", при просмотре его профиля Москва становится ссылкой, при нажатии на которую фильтруем всех пользователей которые выбрали тот же город проживания.
#4 11 октября 2020 в 15:13
/system/fields/city.php

Аналогичный блок кода заменить на этот:

  1. public function getOptions(){
  2.  
  3. return array(
  4. new fieldList('location_type', array(
  5. 'title' => LANG_PARSER_CITY_LOCATION_TYPE,
  6. 'default' => 'cities',
  7. 'items' => array(
  8. 'countries' => LANG_COUNTRY,
  9. 'regions' => LANG_REGION,
  10. 'cities' => LANG_CITY
  11. )
  12. )),
  13. new fieldCheckbox('auto_detect', array(
  14. 'title' => LANG_PARSER_CITY_AUTO_DETECT,
  15. 'visible_depend' => array('options:location_type' => array('show' => array('countries')))
  16. )),
  17. new fieldString('location_group', array(
  18. 'title' => LANG_PARSER_CITY_LOCATION_GROUP,
  19. 'hint' => LANG_PARSER_CITY_LOCATION_GROUP_HINT,
  20. 'rules' => array(
  21. array('sysname'),
  22. array('max_length', 20)
  23. )
  24. )),
  25. new fieldString('output_string', array(
  26. 'title' => LANG_PARSER_CITY_OUTPUT_STRING,
  27. 'hint' => LANG_PARSER_CITY_OUTPUT_STRING_HINT
  28. )),
  29. // Добавлена опция
  30. new fieldCheckbox('is_autolink', array(
  31. 'title' => LANG_PARSER_LIST_IS_AUTOLINK,
  32. 'hint' => LANG_PARSER_LIST_IS_AUTOLINK_FILTER,
  33. 'default' => false
  34. ))
  35. );
  36.  
  37. }
  38.  
  39. public function parse($value){
  40.  
  41. $output_string = $this->getOption('output_string');
  42. // Скорректирован вывод
  43. if($output_string){
  44. $output_string = str_replace('}', cmsFormField::FIELD_CACHE_POSTFIX.'}', $output_string);
  45. $result_string = string_replace_keys_values($output_string, $this->item);
  46. } else {
  47. $result_string = $this->item[$this->getDenormalName()];
  48. }
  49.  
  50. if ($this->getOption('is_autolink')){
  51. return '<a class="list_autolink '.$this->item['ctype_name'].'_list_autolink" href="'.href_to($this->item['ctype_name']).'?'.$this->name.'='.urlencode($value).'">'.html($result_string, false).'</a>';
  52. }
  53.  
  54. return html($result_string, false);
  55. }
#5 11 октября 2020 в 17:48

Аналогичный блок кода заменить на этот:

Fuze
Надеемся, увидим в коробке? look
#6 11 октября 2020 в 18:40

Надеемся, увидим в коробке?

Олег Васильевич я
Уже там
#7 12 октября 2020 в 11:19

Уже там

Fuze
v
#8 13 октября 2020 в 22:07
Это то что нужно.
А как сделать чтобы применялись фильтры созданные?) Автоссылки работают но url у них не тот, не переходить на созданные страницы фильтров.

И это касается нетолько полей местоположения, а и других тоже
#9 13 октября 2020 в 22:32

А как сделать чтобы применялись фильтры созданные?)

Татьяна
Автоссылка работает без учёта фильтров и никак не связана с ними.
#10 13 октября 2020 в 23:01


А как сделать чтобы применялись фильтры созданные?)

Татьяна
Автоссылка работает без учёта фильтров и никак не связана с ними.

Fuze

Это почему так? Я ж тыкаю на автоссылку в списке или записи и у меня открывается список контента с фильтром по нужному полю.
Этож тоже самое, что отфильтровать список по какому-то полю в фильтре
#11 13 октября 2020 в 23:03
только вот урл пишется по разному)
/?tip%5B0%5D=6 в первом случае фильтрую в фильтре по полю тип и применяется фильтр и переключается на нужный урл
/?tip=6 тыкаю на автоссылку поля тип
#12 13 октября 2020 в 23:25

Это почему так?

Татьяна
Потому что технически так устроено.

только вот урл пишется по разному

Татьяна
Пусть пишется по разному, результат ведь нужный.
#13 13 октября 2020 в 23:26

Задача: сделать поле "местоположение" в профиле автоссылкой

Василич

Аналогичный блок кода заменить на этот

Fuze

Надеемся, увидим в коробке?

Олег Васильевич я

Уже там

Fuze
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.