Написать мигратор вероятно/вручную пересохранять/прочие варианты. Явно же функционал создания полей не будет заботиться о заполнении данных.Dorimen как раз и спрашивает как вывести данные без пересохранения профилей
Dorimen, если сделаете по "инструкции", у новых пользователей все будет нормально, а старым пользователям придётся пересохранять эти данные, либо кому-то из админов за них это делать.
Dorimen, с поправкой указанной HiAndy в #16 всё выводится на 2.5.1
Dorimen всего лишь хочет оживить старую доработку сайта, которая работала на предыдущих версиях, а ему предлагают обращение в православие с сопутствующим крестным ходом.
Dorimen,
Включите отладку в админке, хоть будет видно, чего не хватает и куда копать.
Нет. Та доработка неверная и создает излишние запросы к базе данных. Есть штатная функция, сделанная как раз для этих целей. Да, если сайт был на более ранней версии, то конечно же нужно произвести некие манипуляции один раз. Но ведь потом будет существенно проще.Dorimen всего лишь хочет оживить старую доработку сайта, которая работала на предыдущих версиях, а ему предлагают обращение в православие с сопутствующим крестным ходом.
Зачем ехать в магазин шаговой доступности за молоком на камазе?
Есть нюансы. Водителю камаза проще съездить в магазин на камазе, чем искать резиновые сапоги для перехода лужи по пути.Зачем ехать в магазин шаговой за молоком доступности на камазе?
У Dorimena есть почти готовое решение, и нет навыков в миграции базы.
Посещение профилей пользователей — не самое частое занятие пользователей сайта. Да и нагрузка минимальна.
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 секунд
Я лишь уточняю как делать правильно в рамках InstantCMS, а так конечно же вольны делать как угодно.
По дворам в мегаполисах?) Замучается звонить мешающим проезду водятлам, так что в итоге проще будетВодителю камаза проще съездить в магазин на камазе
или вовсе вплавь, но зато результативно в итоге.искать резиновые сапоги для перехода лужи по пути
Ну и чудно, аминь!Да и нагрузка минимальна.
надеюсь этот ряд скриншотов прояснит ситуацию
Спасибо за инструкцию.
Раз их (поля "страна" и "область") необходимо делать обязательными, достаточно будет проверить их существование. Или не понимаю чего-то?Тогда приводить шаблон к нормальному выводу и проверять, если поле не заполнено, то выводить...
Не всегда самое правильное решение самое эффективное.
Я помню предыдущую лекцию по православию, как мне для вывода нещасных 10 строк предлагалось написать целый компонент с отдельным фронтендом и моделью.
Кстати, вывод 10 строк отдельными запросами с одним подзапросом для выборки в моем случае занимает 0,015 секунд, а один запрос с выборкой всяких SUM — аж 7 секунд.
Оставил как было…
Всегда. Вы просто его ещё не нашли. Или "не смогли приготовить"Не всегда самое правильное решение самое эффективное.
Прикручивая "костыль" к штатным функциям в этом релизе, очень высока вероятность прикручивания "костыля" к этому "костылю" в следующих релизах. И так до бесконечности или кто первым "сдастся".
Без кода сложно что-то говорить, но когда вы добавляете поля в БД, то их существование уже имеется, а заполнено или нет это немного другое.достаточно будет проверить их существование. Или не понимаю чего-то?
Прочитали, а вы все остальные?Господа, вы мои пп 13 и 26 не прочитали
У вас есть поле город — достаток из прошлого. Вам надо было поменять в компоненте "Профили пользователей" тип у этого поля на "Местоположение" и к этому полю ещё добавить два поля — Область и Страна, согласно инструкции.
Вместо этого вы добавили к своему прошлому полю город ещё три поля город, область, страна. Никак не связанные со старым полем city.
В итоге у вас у старого поля city стоит галочка — обязательно к заполнению — и соответственно, выводится при регистрации, а другие поля страна, область и город не имеют этой галочки и соответственно, доступны только в профиле пользователя вместе с обязательным старым полем город.