Fix image upload structure for Miravia API compliance
🔧 Bug Fixes: - Fixed product image structure to match Miravia API requirements - Updated MiraviaProduct.php getData() method to wrap images in {"Image": [...]} format - Updated MiraviaCombination.php getData() method to wrap SKU images properly - Resolved error "[4224] The Main image of the product is required" 📋 Changes: - Modified getData() methods to transform flat image arrays to nested structure - Product images: images[] → Images: {"Image": [...]} - SKU images: images[] → Images: {"Image": [...]} - Maintains backward compatibility for empty image arrays 🎯 Impact: - Product uploads will now pass Miravia's image validation - Both product-level and SKU-level images properly formatted - Complies with official Miravia API documentation structure 🤖 Generated with Claude Code (https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
148
connector-miravia/assets/css/miravia-admin.css
Normal file
148
connector-miravia/assets/css/miravia-admin.css
Normal file
@@ -0,0 +1,148 @@
|
||||
/*
|
||||
PRIMARY: #4c45e6
|
||||
accent: #6ee786
|
||||
*/
|
||||
|
||||
.showHover {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
tr:hover .showHover {
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
span.minidate {
|
||||
font-size: 10px;
|
||||
line-height: 10px;
|
||||
}
|
||||
/*
|
||||
th#miravia_data {
|
||||
width: 180px;
|
||||
} */
|
||||
|
||||
td.miravia_data.column-miravia_data {
|
||||
width: 200px !important;
|
||||
}
|
||||
|
||||
th#miravia_data {
|
||||
width: 200px !important;
|
||||
}
|
||||
table.table-view-list.toplevel_page_miravia_settings {
|
||||
table-layout: inherit !important;
|
||||
}
|
||||
span.created_via {
|
||||
float: right;
|
||||
font-size: 12px;
|
||||
color: #08a1de;
|
||||
}
|
||||
.btn_config {
|
||||
text-decoration: none;
|
||||
color: #4c45e6;
|
||||
border: 1px solid #dfdfdf;
|
||||
background: #dfdfdf;
|
||||
width: 45%;
|
||||
padding: 0.5rem;
|
||||
float: left;
|
||||
margin: 0.5rem;
|
||||
cursor: pointer;
|
||||
height: 140px;
|
||||
display: block;
|
||||
border-radius: 10px;
|
||||
transition: all 0.5s ease;
|
||||
}
|
||||
.btn_config:hover {
|
||||
background-color: #b0aed2;
|
||||
/* color: #FFF; */
|
||||
}
|
||||
|
||||
.btn_config h4 {
|
||||
color: #4c45e6;
|
||||
font-size: 30px;
|
||||
margin: 0;
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.btn_config:hover h4 {
|
||||
/* color: #FFF */
|
||||
}
|
||||
|
||||
.stats {
|
||||
/* border: 1px solid #4c45e6; */
|
||||
padding: 0.5rem;
|
||||
margin: 0.5rem;
|
||||
height: 140px;
|
||||
}
|
||||
|
||||
.stats-1 {
|
||||
width: 23%;
|
||||
float: left;
|
||||
}
|
||||
.stats-2 {
|
||||
width: 48%;
|
||||
float: left;
|
||||
}
|
||||
.stats-3 {
|
||||
width: 73%;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.stats-4 {
|
||||
clear: both;
|
||||
}
|
||||
.wrap.miravia-pane {
|
||||
max-width: 1024px;
|
||||
margin: auto;
|
||||
}
|
||||
.miravia-pane .description {
|
||||
font-size: 10px;
|
||||
display: block;
|
||||
font-weight: lighter;
|
||||
}
|
||||
ul.miravia_categories_select {
|
||||
background-color: '#FFF';
|
||||
}
|
||||
ul.miravia_categories_select ul.children {
|
||||
margin-left: 25px;
|
||||
}
|
||||
|
||||
.region_config_dashboard {
|
||||
max-width: 1024px;
|
||||
margin: auto;
|
||||
left: 0;
|
||||
right: 0;
|
||||
position: relative;
|
||||
display: block;
|
||||
}
|
||||
|
||||
/* tabs */
|
||||
a.mv-bt-tab {
|
||||
padding: 10px;
|
||||
display: block;
|
||||
border-radius: 4px 4px 0 0;
|
||||
border: 1px solid #CCC;
|
||||
border-bottom: 0px solid;
|
||||
text-decoration: none;
|
||||
color: #333;
|
||||
font-weight: bold;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.mv-tab-nav {
|
||||
border-bottom: 1px solid #CCC;
|
||||
}
|
||||
|
||||
.mv-tab-nav li {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
a.mv-bt-tab.active {
|
||||
background: #CCC;
|
||||
}
|
||||
|
||||
.mv-tab {
|
||||
display:none;
|
||||
}
|
||||
.mv-tab-active {
|
||||
display:block;
|
||||
}
|
||||
Reference in New Issue
Block a user