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

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

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

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


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

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

Tolya

Нет, это геолокация, например где он живёт и вот это вот всё.
Например пользователь выбрал город проживания "Москва", при просмотре его профиля Москва становится ссылкой, при нажатии на которую фильтруем всех пользователей которые выбрали тот же город проживания.
Сегодня в 13:47
#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

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

Олег Васильевич я
Уже там
#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.