Навигация

Активные участники:

Поиск:

 

Создать или найти статью:

 

Просмотр Обновление сайта с EE1 до EE2 с полем nGen File field

Шаг 1: Перед апгрейдом изменить все поля с ngen field на текстовое поле input. Не переживайте, все данные останутся целыми и невредимыми.

Шаг 2: Обновите движок согласно официальной документации, затем измените тип поля на File (это стандартное поле есть в версии Expressionengine 2.х) или Assets (если вы используете данный модуль) для ранее измененных полей.

Далее нам потребуется сделать SQL запросы в базу данных, но тут ничего сложного, даже неопытный поймет.

Шаг 3: Сделайте бекап базы данных на всякий случай

Шаг 4: Следующий шаг будет зависеть от того, где был ранее nGen file field. Был ли он отдельным полем или в составе поля Matrix.

Шаг 4а: ...Если был отдельным полем, то следующий код:

UPDATE exp_channel_data
SET field_id_X = CONCAT('{filedir_Y}', field_id_X)
WHERE field_id_X != ''
AND field_id_X NOT LIKE '{filedir_%'
4b: For matrix fields run this query instead

X - это ID вашего поля, его можно посмотреть в exp_channel_fields
Y - ID папки загрузки, которая была прописана в настройках nGen file field. Это можно глянуть в Content > Files > File Upload Preferences (Настройки загрузки файлов).


Шаг 4б: ...Если nGen file field был в составе Matrix, то выполняем следующий код:

UPDATE exp_matrix_data
SET col_id_X = CONCAT('{filedir_Y}', col_id_X)
WHERE col_id_X != ''
AND col_id_X NOT LIKE '{filedir_%'

X - это Matrix column ID, его можно посмотреть в exp_matrix_cols
Y - ID папки загрузки, которая была прописана в настройках nGen file field. Это можно глянуть в Content > Files > File Upload Preferences (Настройки загрузки файлов).

Спасибо за этот код Brandon Kelly и Rob Sanchez.