Вывод изображения в Заказы>Покупки (админка Minishop2)
Всех приветствую.
Первый раз с Minishop. Столкнулся с вопросом: как выводить изображение в окне заказов, а именно в табе «Покупки».
Попробовал в лоб добавить к системной настройке ms2_order_product_fields: product_thumb
Теперь в таблице выводится путь к превью изображения. А как сделать чтобы там было именно изображение?
Первый раз с Minishop. Столкнулся с вопросом: как выводить изображение в окне заказов, а именно в табе «Покупки».
Попробовал в лоб добавить к системной настройке ms2_order_product_fields: product_thumb
Теперь в таблице выводится путь к превью изображения. А как сделать чтобы там было именно изображение?
Комментарии: 3
Судя по исходникам просто так не выйдет.
Создайте плагин и повесьте на событие OnManagerPageBeforeRender
После вставьте следующий код:
Если в системной настройке ms2_order_product_fields указан product_thumb или product_image, то вы увидите уже не ссылку, а картинку.
Создайте плагин и повесьте на событие OnManagerPageBeforeRender
После вставьте следующий код:
<?php
switch ($modx->event->name) {
case 'OnManagerPageBeforeRender':
if($controller->config['controller'] == "mgr/orders") {
if ($miniShop2 = $modx->getService('miniShop2')) {
$modx->controller->addHtml('<style>.x-grid3-col-order-product-image img {width:40px;display:block;}</style>');
$modx->controller->addHtml('
<script>
Ext.onReady(function(){
var originalGetColumns = miniShop2.grid.OrderProducts.prototype.getColumns;
miniShop2.config["default_thumb"] = miniShop2.config["defaultThumb"];
Ext.override(miniShop2.grid.OrderProducts,{
getColumns: function () {
var imgFields = [ "product_thumb", "product_image" ];
var columns = originalGetColumns.apply(this);
for(var i=0; i<columns.length; i++){
if(imgFields.indexOf(columns[i]["dataIndex"]) != -1){
columns[i]["renderer"] = miniShop2.utils.renderImage;
columns[i]["id"] = "order-product-image";
}
}
return columns;
}
});
});
</script>
');
}
}
break;
}
Если в системной настройке ms2_order_product_fields указан product_thumb или product_image, то вы увидите уже не ссылку, а картинку.
Вообще, по хорошему, такое в коробку miniShop2 надо отправлять PR-ом. ;)
Да, работает. Спасибо! В голове крутилось: плагин, плагин..., но думал, что может есть встроенная возможность.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.