Как вывести страну и регион в профиле пользователя в InstantCMS 2.5.1

#1 20 мая 2016 в 10:52
Помню, на форуме когда-то проскакивало решения для того, чтобы в профиле пользователя можно было возле города также вывести страну и регион. Прекрасно работало решение до InstantCMS 2.5. На InstantCMS 2.5 и выше уже перестало работать.

Сейчас визуально так:

clip2net.com/s/3ygBUWq

Код такой:

  1. <!-- Выводим регион и страну -->
  2. <?php if ($field['name']=="city") {?>
  3. <div class="value">
  4. <?php
  5. $city_parents = cmsCore::getModel('geo')->getCityParents($profile['city']['id']);
  6. $region = cmsCore::getModel('geo')->filterEqual('i.id', $city_parents['region_id'])->getRegions($city_parents['country_id']);
  7. $country = cmsCore::getModel('geo')->filterEqual('i.id', $city_parents['country_id'])->getCountries();
  8. ?>
  9. <span><?php echo $field['handler']->setItem($profile)->parse( $profile[$field['name']] ); ?></span>
  10. (<span><?php foreach($country as $country_name) echo $country_name; ?></span>, <span><?php foreach($region as $region_name) echo $region_name; ?></span>)
  11. </div>
  12. </div>
  13. <?php continue; } ?>
  14.  
  15. <!-- Конец вывода региона и страны -->
  16.  
  17. <div class="value">
  18.  
  19.  
  20. <?php
  21.  
  22. echo $field['handler']->setItem($profile)->parse( $profile[$field['name']] );
  23.  
  24. ?>
  25.  
  26. </div>
Подскажите, как правильно написать код, чтобы регион и страна снова начали выводиться.

Спасибо.
#4 20 мая 2016 в 11:13

Если бы я еще умел программировать

Dorimen
Зачем программировать? Все делается настройкой поля в админке, я же дал вам ссылку на документацию и на пример, где можно посмотреть.
#5 20 мая 2016 в 11:16

Зачем программировать? Все делается настройкой поля в админке, я же дал вам ссылку на документацию и на пример, где можно посмотреть.

Fuze

Не, я извиняюсь, конечно, но clip2net.com/s/3ygGAW1 и все равно выводит город только: c2n.me/3ygGIGP
#6 20 мая 2016 в 11:18
Dorimen, а вы точно прочитали, что написано в документации и посмотрели пример?
#7 20 мая 2016 в 11:20

Dorimen, а вы точно прочитали, что написано в документации и посмотрели пример?

Fuze

Да, я читал. Но мне как гуманитарию все это сложно разобрать. Мне в этих технических делах все сложно.
#8 22 мая 2016 в 02:27

Мне в этих технических делах все сложно.

Dorimen
Dorimen, создаете 3 поля "местоположение" со следующими настройками:
1. Тип положения — страна
Название для группировки — my_group
Строка вывода значения —
Снимаете Показывать в записи
2. Тип положения — область
Название для группировки — my_group
Строка вывода значения —
Снимаете Показывать в записи
3. Тип положения — город
Название для группировки — my_group
Строка вывода значения — {country}, {city}
Ставите Показывать в записи

В результате получите вывод: Страна, город
#9 22 мая 2016 в 12:23

В результате получите вывод: Страна, город

Soul

Спасибо за участие, Soul, но что-то не получается: clip2net.com/s/3ykyTf5 (предыдущие поля тоже сделал) и orehovod.com/users/1
#10 22 мая 2016 в 14:24
Dorimen, у Вас на странице использовано 2 формы вывода местоположения, проверьте системные имена данных форм и перепроверьте настройки.
#11 22 мая 2016 в 22:00

у Вас на странице использовано 2 формы вывода местоположения, проверьте системные имена данных форм и перепроверьте настройки.

Soul

Soul, вот так вот сейчас выводится: prntscr.com/b75a26 (страница orehovod.com/users/742). Хотя вот в профиле другого пользователя orehovod.com/users/743 вообще не выводится.
#12 23 мая 2016 в 23:25
Dorimen, значения во второй форме у Вас выводяться согласно 1 форме и как бы вы ни пытались изменить его значения — вывод осуществляется согласно значений формы 1. Почистите кэш, перепроверьте настройки поля.
В профиле другого пользователя нет значения по причине того, что они им попросту не заполнены.
#13 24 мая 2016 в 09:43
Soul, да, я понял, что Вы имеете ввиду.

Но получается какая штука.

Вот есть в настройках профиля пользователя поля: c2n.me/3yoQgye

Я уже понял, что для того, чтобы отрабатывало вот это "вот так вот сейчас выводится: prntscr.com/b75a26 (страница orehovod.com/users/742). Хотя вот в профиле другого пользователя orehovod.com/users/743 вообще не выводится." пользователь должен заполнить три значения (город, область, страна) у себя в профиле.

Вот есть у регистрация на сайте: clip2net.com/s/3yoQ9i5. Там есть возможность в обычном и понятном для регистрации варианте указать город, но нет возможности указать еще и так, как указано у него в анкете: c2n.me/3yoQCos. Да и зачем, собственно? Ведь вполне достаточно того, что он уже выбрал в всплывающем окне город, область и страну.

Понятно, что если пользователь указал при регистрации город (предварительно выбрав страну и область), то совершенно глупо еще и в профиле его спрашивать заполнить повторно это.

Поэтому речь и шла о том, как вывести не только город, но и страну и область, которые пользователь указал ПРИ РЕГИСТРАЦИИ, просто вывести в анкете пользователя. Код, который в посте, он работал на 2.4, но на 2.5.1 уже не хочет. Его бы только привести к виду и все было бы ок ))))

Надеюсь, я понятно объяснил суть вопроса ))

Спасибо за терпение.
#14 24 мая 2016 в 20:06
Dorimen,
Исходя из всего вышеизложенного, напрашивается вывод, что для смычки города и деревни вывода страны и региона нужно не только вывести их в шаблоне, но и вытащить из базы запросом в модели.
Значит для такого вывода именялись не только файлы шаблона, но и файлы компонента users, которые при обновлении заменились новыми, без нужных для вывода страны доработок.
Бэкап файлов остался, или попробовать заново написать?
#15 24 мая 2016 в 20:07

Бэкап файлов остался, или попробовать заново написать?

HiAndy

Да, остались бекапы? Какие именно файлы нужны?
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.