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

#31 24 мая 2016 в 23:04

Dorimen как раз и спрашивает как вывести данные без пересохранения профилей

Олег Васильевич я
Написать мигратор вероятно/вручную пересохранять/прочие варианты. Явно же функционал создания полей не будет заботиться о заполнении данных.
#32 24 мая 2016 в 23:07
Ну вот, довели Fuze до скриншотов. smile
Dorimen, если сделаете по "инструкции", у новых пользователей все будет нормально, а старым пользователям придётся пересохранять эти данные, либо кому-то из админов за них это делать.
#33 24 мая 2016 в 23:21
Fuze, Loadырь, в теме уже есть решение на уровне шаблона (без создания полей и пересохранения профилей).
Dorimen, с поправкой указанной HiAndy в #16 всё выводится на 2.5.1
Сегодня в 19:25
#34 24 мая 2016 в 23:21
Loadырь,
Dorimen всего лишь хочет оживить старую доработку сайта, которая работала на предыдущих версиях, а ему предлагают обращение в православие с сопутствующим крестным ходом.

Dorimen,
Включите отладку в админке, хоть будет видно, чего не хватает и куда копать.
#35 24 мая 2016 в 23:24
Олег Васильевич я, HiAndy, но это же "не наш метод". Тогда приводить шаблон к нормальному выводу и проверять, если поле не заполнено, то выводить нечто похожее на предложение HiAndy.
#36 24 мая 2016 в 23:27

Dorimen всего лишь хочет оживить старую доработку сайта, которая работала на предыдущих версиях, а ему предлагают обращение в православие с сопутствующим крестным ходом.

HiAndy
Нет. Та доработка неверная и создает излишние запросы к базе данных. Есть штатная функция, сделанная как раз для этих целей. Да, если сайт был на более ранней версии, то конечно же нужно произвести некие манипуляции один раз. Но ведь потом будет существенно проще.
Зачем ехать в магазин шаговой доступности за молоком на камазе? smile
#37 24 мая 2016 в 23:36

Зачем ехать в магазин шаговой за молоком доступности на камазе?

Fuze
Есть нюансы. Водителю камаза проще съездить в магазин на камазе, чем искать резиновые сапоги для перехода лужи по пути.
У Dorimena есть почти готовое решение, и нет навыков в миграции базы. smile

Посещение профилей пользователей — не самое частое занятие пользователей сайта. Да и нагрузка минимальна.

D:\open\OpenServer\domains\251.loc\system\controllers\geo\model.php => 62 => getItem()
SELECT i.*, r.id as region_id, c.id as country_id
FROM cms_geo_cities i
INNER JOIN cms_geo_regions as r ON r.id = i.region_id
INNER JOIN cms_geo_countries as c ON c.id = r.country_id
WHERE (i.id = '4400')
LIMIT 1
Запрос занял 0.00033 секунд
D:\open\OpenServer\domains\251.loc\system\controllers\geo\model.php => 30 => get()
SELECT i.*
FROM cms_geo_regions i
WHERE (i.id = '4312') AND (i.country_id = '3159')
ORDER BY i.name
Запрос занял 0.00013 секунд
D:\open\OpenServer\domains\251.loc\system\controllers\geo\model.php => 14 => get()
SELECT i.*
FROM cms_geo_countries i
WHERE (i.id = '3159')
ORDER BY i.ordering, name
Запрос занял 0.00013 секунд
#38 24 мая 2016 в 23:45
HiAndy, да мне по большому счету без разницы, хоть через геолокацию посредством спутника можно выводить город)
Я лишь уточняю как делать правильно в рамках InstantCMS, а так конечно же вольны делать как угодно.

Водителю камаза проще съездить в магазин на камазе

HiAndy
По дворам в мегаполисах?) Замучается звонить мешающим проезду водятлам, так что в итоге проще будет

искать резиновые сапоги для перехода лужи по пути

HiAndy
или вовсе вплавь, но зато результативно в итоге.
#39 24 мая 2016 в 23:48

Да и нагрузка минимальна.

HiAndy
Ну и чудно, аминь!
#40 24 мая 2016 в 23:49

надеюсь этот ряд скриншотов прояснит ситуацию

Fuze

Спасибо за инструкцию.
#41 24 мая 2016 в 23:54

Тогда приводить шаблон к нормальному выводу и проверять, если поле не заполнено, то выводить...

Loadырь
Раз их (поля "страна" и "область") необходимо делать обязательными, достаточно будет проверить их существование. Или не понимаю чего-то?
#42 25 мая 2016 в 00:12
Fuze,
Не всегда самое правильное решение самое эффективное.
Я помню предыдущую лекцию по православию, как мне для вывода нещасных 10 строк предлагалось написать целый компонент с отдельным фронтендом и моделью.
Кстати, вывод 10 строк отдельными запросами с одним подзапросом для выборки в моем случае занимает 0,015 секунд, а один запрос с выборкой всяких SUM — аж 7 секунд.
Оставил как было…
#43 25 мая 2016 в 10:19

Не всегда самое правильное решение самое эффективное.

HiAndy
Всегда. Вы просто его ещё не нашли. Или "не смогли приготовить" smile
Прикручивая "костыль" к штатным функциям в этом релизе, очень высока вероятность прикручивания "костыля" к этому "костылю" в следующих релизах. И так до бесконечности или кто первым "сдастся".

достаточно будет проверить их существование. Или не понимаю чего-то?

Олег Васильевич я
Без кода сложно что-то говорить, но когда вы добавляете поля в БД, то их существование уже имеется, а заполнено или нет это немного другое.
#44 25 мая 2016 в 10:23
Господа, вы мои пп 13 и 26 не прочитали
#45 25 мая 2016 в 10:55

Господа, вы мои пп 13 и 26 не прочитали

Dorimen
Прочитали, а вы все остальные?
У вас есть поле город — достаток из прошлого. Вам надо было поменять в компоненте "Профили пользователей" тип у этого поля на "Местоположение" и к этому полю ещё добавить два поля — Область и Страна, согласно инструкции.
Вместо этого вы добавили к своему прошлому полю город ещё три поля город, область, страна. Никак не связанные со старым полем city.
В итоге у вас у старого поля city стоит галочка — обязательно к заполнению — и соответственно, выводится при регистрации, а другие поля страна, область и город не имеют этой галочки и соответственно, доступны только в профиле пользователя вместе с обязательным старым полем город.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.