MIGX и svg картинки
Ребята, всем привет!
Делаю доп.поле в админке на MIGX.
Вкладки формы:
[
Проблема в том, что большая часть картинок — в формате .svg. И в превьюшках MIGX или самих тв полей типа «Изображение» видно искажение картинки такого вида http://joxi.ru/DmByZjBfNElGRr
Как я понимаю, это связано с работой phpthumb, который делает превью.
Что посоветуете? Как в тв полях типа «Изображение» и при рендере в MIGX нормально отображать .svg файлы?
Делаю доп.поле в админке на MIGX.
Вкладки формы:
[
{"caption":"Info", "fields": [
{"field":"img","caption":"Изображение","inputTV":"img"},
{"field":"alt","caption":"Содержимое alt изображения"},
{"field":"title","caption":"Описание преимущества"}
]}
]
Разметка колонок:[
{"header": "Изображение", "width": "150", "sortable": "false", "dataIndex": "img","renderer": "this.renderImage"},
{"header": "Содержимое alt изображения", "width": "160", "sortable": "true", "dataIndex": "alt"},
{"header": "Описание преимущества", "width": "160", "sortable": "true", "dataIndex": "title"}
]
где в inputTv:«img» img — обычное тв-поле типа «Изображение».Проблема в том, что большая часть картинок — в формате .svg. И в превьюшках MIGX или самих тв полей типа «Изображение» видно искажение картинки такого вида http://joxi.ru/DmByZjBfNElGRr
Как я понимаю, это связано с работой phpthumb, который делает превью.
Что посоветуете? Как в тв полях типа «Изображение» и при рендере в MIGX нормально отображать .svg файлы?
Комментарии: 8
Сделайте рендер через renderChunk:
Только если в TV img у Вас используется источник файлов с каким-то своим путем, то укажите его перед [[+img]].
[
{"header": "Изображение", "width": "150", "sortable": "false", "dataIndex": "img","renderer":"this.renderChunk", "renderchunktpl":"<img src=\"[[+img]]\" width=\"100\">"},
{"header": "Содержимое alt изображения", "width": "160", "sortable": "true", "dataIndex": "alt"},
{"header": "Описание преимущества", "width": "160", "sortable": "true", "dataIndex": "title"}
]
Только если в TV img у Вас используется источник файлов с каким-то своим путем, то укажите его перед [[+img]].
Павел, благодарю за скорый ответ!
Попробовал сейчас этот вариант — в превью MIGX вижу только ссылку на файл .svg, но тега img почему-то нет. В журнал ничего из ошибок не записалось. Попробовал указать имя чанка, в котором разместил соответствующий код с тегом img — тоже самое.
Попробовал сейчас этот вариант — в превью MIGX вижу только ссылку на файл .svg, но тега img почему-то нет. В журнал ничего из ошибок не записалось. Попробовал указать имя чанка, в котором разместил соответствующий код с тегом img — тоже самое.
Сделайте через конфигурацию — так надежнее ))
В приложении MIGX на вкладке MIGX создайте новую конфигурацию и назовите ее например, svg.
Импортируйте (ПКМ -> Экспорт/импорт) в нее это:
И у TV укажите ее вместо вкладок и разметки:
Если нужно будет подредактировать пути, то код вывода тут:
В приложении MIGX на вкладке MIGX создайте новую конфигурацию и назовите ее например, svg.
Импортируйте (ПКМ -> Экспорт/импорт) в нее это:
{
"formtabs":[
{
"MIGX_id":1,
"caption":"",
"print_before_tabs":"0",
"fields":[
{
"MIGX_id":1,
"field":"img",
"caption":"\u0418\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435",
"description":"",
"description_is_code":"0",
"inputTV":"",
"inputTVtype":"image",
"validation":"",
"configs":"",
"restrictive_condition":"",
"display":"",
"sourceFrom":"config",
"sources":"",
"inputOptionValues":"",
"default":"",
"useDefaultIfEmpty":"0",
"pos":1
},
{
"MIGX_id":2,
"field":"alt",
"caption":"\u0421\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 alt \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f",
"description":"",
"description_is_code":"0",
"inputTV":"",
"inputTVtype":"",
"validation":"",
"configs":"",
"restrictive_condition":"",
"display":"",
"sourceFrom":"config",
"sources":"",
"inputOptionValues":"",
"default":"",
"useDefaultIfEmpty":"0",
"pos":2
},
{
"MIGX_id":3,
"field":"title",
"caption":"\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430",
"description":"",
"description_is_code":"0",
"inputTV":"",
"inputTVtype":"",
"validation":"",
"configs":"",
"restrictive_condition":"",
"display":"",
"sourceFrom":"config",
"sources":"",
"inputOptionValues":"",
"default":"",
"useDefaultIfEmpty":"0",
"pos":3
}
],
"pos":1
}
],
"contextmenus":"",
"actionbuttons":"",
"columnbuttons":"",
"filters":"",
"extended":{
"migx_add":"",
"disable_add_item":"",
"add_items_directly":"",
"formcaption":"",
"update_win_title":"",
"win_id":"",
"maxRecords":"",
"addNewItemAt":"bottom",
"media_source_id":"",
"multiple_formtabs":"",
"multiple_formtabs_label":"",
"multiple_formtabs_field":"",
"multiple_formtabs_optionstext":"",
"multiple_formtabs_optionsvalue":"",
"actionbuttonsperrow":4,
"winbuttonslist":"",
"extrahandlers":"",
"filtersperrow":4,
"packageName":"",
"classname":"",
"task":"",
"getlistsort":"",
"getlistsortdir":"",
"sortconfig":"",
"gridpagesize":"",
"use_custom_prefix":"0",
"prefix":"",
"grid":"",
"gridload_mode":1,
"check_resid":1,
"check_resid_TV":"",
"join_alias":"",
"has_jointable":"yes",
"getlistwhere":"",
"joins":"",
"hooksnippets":"",
"cmpmaincaption":"",
"cmptabcaption":"",
"cmptabdescription":"",
"cmptabcontroller":"",
"winbuttons":"",
"onsubmitsuccess":"",
"submitparams":""
},
"columns":[
{
"MIGX_id":1,
"header":"\u0418\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435",
"dataIndex":"img_",
"width":"",
"sortable":"false",
"show_in_grid":1,
"customrenderer":"",
"renderer":"this.renderChunk",
"clickaction":"",
"selectorconfig":"",
"renderchunktpl":"<img src=\"..\/[[+img]]\" width=\"100\" \/>",
"renderoptions":"",
"editor":""
},
{
"MIGX_id":2,
"header":"\u0421\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 alt \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f",
"dataIndex":"alt",
"width":"",
"sortable":"false",
"show_in_grid":1,
"customrenderer":"",
"renderer":"",
"clickaction":"",
"selectorconfig":"",
"renderchunktpl":"",
"renderoptions":"",
"editor":""
},
{
"MIGX_id":3,
"header":"\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430",
"dataIndex":"title",
"width":"",
"sortable":"false",
"show_in_grid":1,
"customrenderer":"",
"renderer":"",
"clickaction":"",
"selectorconfig":"",
"renderchunktpl":"",
"renderoptions":"",
"editor":""
}
]
}
И у TV укажите ее вместо вкладок и разметки:
Если нужно будет подредактировать пути, то код вывода тут:
Попробовал сделать так, как Вы описали, наблюдается баг:
Это происходит при заполнении следующего элемента.
Если открыть предыдущий:
Творится что-то странное.
Это происходит при заполнении следующего элемента.
Если открыть предыдущий:
Творится что-то странное.
Более того, у вас в dataindex изображения почему то такое:
«dataIndex»:«img_»,
Откуда у вас тут подстрочник?
И как это работает у вас тогда?
«dataIndex»:«img_»,
Откуда у вас тут подстрочник?
И как это работает у вас тогда?
Он потому и img_, чтобы не рендерился как поле img и не было этой проблемы.
Он вообще может как угодно называться — главное, чтобы не как поле.
Нужное значение при его рендеринге выводится в [[+img]]
Он вообще может как угодно называться — главное, чтобы не как поле.
Нужное значение при его рендеринге выводится в [[+img]]
Понял, получилось, спасибо.
Спасибо, отличное решение.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.