I have one problem in Divi Custom module building, I have some props: php side
public function render( $attrs, $content = null, $render_slug ) {
$id = ET_Builder_Element::get_module_order_class( $render_slug );
$bg_image = $this->props['bg_image'];
$bg_image_overlay_color = $this->props['bg_image_overlay_color'];
$text_1 = $this->props['text_1'];
$text_1_border_color = $this->props['text_1_border_color'];
$text_1_border_width = $this->props['text_1_border_width'];
$text_2 = $this->props['text_2'];
$text_2_border_color = $this->props['text_2_border_color'];
$text_2_border_width = $this->props['text_2_border_width'];
$animation_speed = $this->props['animation_speed'];
return sprintf( '
<style>
.%1$s .rbx_hover_card_1_wrap:hover h3:after,
.%1$s .rbx_hover_card_1_wrap h3:after {
background: %5$s;
height: %6$spx;
}
.%1$s .rbx_hover_card_1_wrap span {
border-right: %9$spx solid %8$s;
}
.%1$s .rbx_hover_card_1_wrap {
background: %3$s;
}
.%1$s .rbx_hover_card_1_wrap img {
transition: opacity %10$s, transform %10$s;
}
.%1$s .rbx_hover_card_1_wrap h3 {
-webkit-transition: all %10$s;
-o-transition: all %10$s;
transition: all %10$s;
}
.%1$s .rbx_hover_card_1_wrap span {
-webkit-transition: right %10$s, opacity %10$s;
transition: right %10$s, opacity %10$s;
}
</style>
<div class="%1$s rbx_hover_card_1_wrap">
<img src="%2$s">
<h3>%4$s</h3>
<span>%7$s</span>
</div>',
$id,
$bg_image,
$bg_image_overlay_color,
$text_1,
$text_1_border_color,
$text_1_border_width,
$text_2,
$text_2_border_color,
$text_2_border_width,
$animation_speed
);
}
并且它在 php 方面工作得很好,但是在我复制模块时,如果我更改边框颜色或其他参数道具,它在前面的构建器中的 jsx 中工作......它改变了第一个而不是第二个......我也在使用订单类。在前端它的工作完美,但在构建器方面有问题,这是 jsx:
// External Dependencies
import React, { Component, Fragment } from 'react';
// Internal Dependencies
import './style.css';
class RBXHoverCard1JSX extends Component {
static slug = 'rhc1ak_rbx_hover_card_1';
render() {
const orderClass = `${this.props.moduleInfo.type}_${this.props.moduleInfo.order}`;
return (
<Fragment>
<style dangerouslySetInnerHTML={{__html: `
.${orderClass} .rbx_hover_card_1_wrap h3:hover h3:after,
.${orderClass} .rbx_hover_card_1_wrap h3:after {
background: ${this.props.text_1_border_color}!important;
height: ${this.props.text_1_border_width}px !important;
}
.${orderClass} .rbx_hover_card_1_wrap {
background: ${this.props.bg_image_overlay_color};
}
.${orderClass} .rbx_hover_card_1_wrap img {
transition: opacity ${this.props.animation_speed}, transform ${this.props.animation_speed};
}
.${orderClass} .rbx_hover_card_1_wrap h3 {
-webkit-transition: all ${this.props.animation_speed};
-o-transition: all ${this.props.animation_speed};
transition: all ${this.props.animation_speed};
}
.${orderClass} .rbx_hover_card_1_wrap span {
border-right: ${this.props.text_2_border_width}px solid ${this.props.text_2_border_color};
-webkit-transition: right${this.props.animation_speed}, opacity ${this.props.animation_speed};
transition: right ${this.props.animation_speed}, opacity ${this.props.animation_speed};
}
`}}>
</style>
<div className={`${orderClass} rbx_hover_card_1_wrap`}>
<img src={this.props.bg_image} alt={this.props.text_1} />
<h3 >{this.props.text_1}</h3>
<span>{this.props.text_2}</span>
</div>
</Fragment>
);
}
}
export default RBXHoverCard1JSX;
谁能帮我?